ทวีตที่ปักหมุด
Your Friendly Engineer
3.8K posts

Your Friendly Engineer
@DevEmmy_
hacking the system.
404 เข้าร่วม Ekim 2020
438 กำลังติดตาม554 ผู้ติดตาม
Your Friendly Engineer รีทวีตแล้ว

You’re uploading a 5GB file. You’re at 94%. Your internet drops. Most people groan and hit upload again from zero. But on a well-built backend, nothing restarts. It picks up exactly where it stopped. Here’s how.
A backend that handles this correctly never treats a 5GB file as one 5GB request.
Before the upload even begins, the file gets sliced on the client side into small fixed-size chunks typically around 5 to 10MB each. Each chunk gets a unique identifier: its position in the file, the total number of chunks, and a fingerprint of the original file so the server always knows what it’s dealing with and can verify nothing was corrupted in transit.
The server doesn’t just receive chunks blindly. It maintains an upload session; a record that tracks which chunks have arrived and which haven’t. Every time a chunk lands successfully, the server logs it. If the connection drops at chunk 47 of 500, the session doesn’t disappear. It sits there, waiting. When the user reconnects, the client asks the server one simple question: what have you already received? The server responds with the list of completed chunks, and the client resumes from chunk 48. The first 470MB never move again.
This is why platforms like Google Drive, Dropbox, and YouTube never make you restart a large upload from scratch. They use this exact pattern sometimes called multipart upload or chunked resumable upload and the session stays alive on the server for days, sometimes up to a week, giving the user a generous window to reconnect and continue.
The final step is reassembly. Once the last chunk arrives and every piece is accounted for, the server stitches them back together in the correct order and runs an integrity check against the original file fingerprint. If everything matches, the upload is complete. If even a single chunk is corrupted, only that chunk gets re-requested not the whole file.
Suni@suni_code
Interviewer: If a user uploads a 5GB file but loses internet halfway, how should the backend handle resuming the upload?
English

@TraffytheWizard @echo_vick True, I’m not so consistent w this.
English

By 200 level, I was already building terminal-based applications with QBasic, and that had nothing to do with school. I was deep into self-learning long before our first programming class.
It became obvious enough that my lecturer took interest in me, and a few months into 200 level, I was assisting him with his Master’s project.
The lesson?
If you want to succeed as a CS student in a Nigerian university, don’t rely solely on what you learn in lecture halls.
Self-learning is not optional. It’s the real advantage.
That’s why I respect what @honour_can_code is doing. Building a startup in school, and trust me the process is going to be breeze for him.
That reminds me, where's the yarnGPT guy, haven't seen him on my feed in a while.
David Uchenna@callmidavid
I just saw someone presenting this after 4 years of studying CS 😂😂
English

@akinkunmi @obiabo_immanuel @victorolax @princecodes247 @codebreak_er Na because of you gan gan I face Frontend for 2020 😂
English

Yes, ask my friends who know me from way back @obiabo_immanuel, @victorolax, @princecodes247, @codebreak_er. I used to ship projects in days. My most popular project back in 2022 (8k users) was shipped during a weekend.
Three years ago, I built LogDrop for "backend analytics" in 10 days. github.com/akinloluwami/l…
The "secret" is that I used to code for 12 - 16 hours daily, but now with AI, I only code for like 4 - 9 hours daily, and I'm able to get even a lot more done in a shorter time.
Vincent@lagos_vin
Want to ask a question, without Ai would you have been able to ship this fast??
English

Okay, I don't mean to spoil the fun here, but for those genuinely curious…
I used to wonder why we needed this stuff too, so I dug in.
Turns out you use data structures every day, just not by their textbook names.
And because of this many engineers stopped seeing the depth of what they do.
Let me show you 👇
---
1. You're given a task:
"Add a dropdown that instantly finds users as you type"
Sounds simple. Build an input → call an API → show results. Done.
Except… at scale, this becomes Autocomplete Search.
And autocomplete at scale is often powered by data structures like a Trie (Prefix Tree).
---
2. You render a list of items?
That's not just a list.
It's an Array being processed by React's reconciliation algorithm.
When React asks for a key, it isn't being picky, it's optimizing.
The diffing algorithm itself stays O(n), but without stable keys, React can't reuse DOM nodes.
So you pay the cost in unnecessary creates, destroys, and re-renders.
With stable keys, it efficiently patches only what changed.
That "tiny warning in the console"? It's preventing unnecessary work, which directly impacts your UI performance.
---
3. Even a simple CSS tweak activates tree traversals, invalidation cascades, and rendering queues.
All real data structures and algorithms working behind the scenes.
The scale depends on what you changed and where, but the machinery is always there.
---
I could go on.
But basically real engineering didn't replace data structures.
It hid them inside frameworks, APIs, and infrastructure.
Once you see them, you start making intentional decisions instead of accidental ones.
And that changes how you design everything.
That's exactly why they conduct this type of interviews.
They want to know how you think and make decisions, not just whether you can update CSS padding.
---
TLDR: You can build for years without consciously thinking about DSA, but understanding them makes you better at what you already do.
Want to learn more about how DSA applies to real work?
Links below 👇
react.dev/learn/preservi…
geeksforgeeks.org/dsa/real-time-…
blog.codekerdos.in/intro-to-dsa-w…
github.com/donnemartin/sy…
Crazy Codes🚀👨💻@richsongocrazy
Tech interviews: Write an algorithm to reverse a binary tree. The actual job: Update this CSS padding by 2px.
English

@frankdupr33 @yehhmisi “Do developers actually apply DSA when coding?”, I believe that’s a yes and if your answer is the opposite then something is wrong — this is where you build things and things start to fail or a simple process takes longer than expected or you’re just wasting money on resources.
English

@yehhmisi *sigh, let me help you
every phone user understands signal processing?
every driver is a mechanical engineer?
every react dev understands virtual DOM?
the question is, do developers actually apply DSA when coding?
expertise sometimes, means knowing what not to think about 🙂
English

@Manesti336 @frankdupr33 @yehhmisi This!
She actually has a whole lot, understanding the rudiments of things and how things work under the hood.
English

@frankdupr33 @yehhmisi I think every developer should take her seriously
English
Your Friendly Engineer รีทวีตแล้ว

This is what happens when you use notepad to code 🤧
F.O.L.A@folaoftech
When you've been debugging for 6 hours and finally realized you wrote conts instead of const😅🤣
English


@echo_vick @Herrschaft99945 Nodejs is not a language tho.
English

Someone who’s never written a single line of PHP is confidently telling me how “trash” the language is.
Conversations like this are exhausting.
Before settling on PHP, I wrote C, C++, and Java. I still actively write Node.js. Yet PHP remains my go-to language because it gets real work done, reliably.
Disliking a tool you’ve never used isn’t an opinion, it’s noise.
English

@echo_vick Lol, I experienced this late last year, it was like a horror movie.
English

afripad.co went down this evening. After investigating, I found our CPU usage had hit 100%.
Guess what? Someone installed a crypto miner on our server 😂😂😂
I don’t even know why this is so funny, but it is. Small server wey we dey managing, person dey use am mine crypto? Nawa oh 😂😂

Victor@echo_vick
Somthing crazy just happened, Lol😂
English
Your Friendly Engineer รีทวีตแล้ว
Your Friendly Engineer รีทวีตแล้ว

PayPal is coming back to Nigeria, and there’s outrage from business owners, entrepreneurs and freelancers who want to boycott it.
Stick with me, I’ll explain why.
PayPal claims they left Nigeria because of fraud. That decision cost many Nigerians who had money stuck in their PayPal accounts at the time.
If your account got frozen, you were left with your tears and nothing else.
So what changed?
Did Nigerians suddenly stop committing fraud?
Of course not. Fraud exists everywhere, and it always has.
If PayPal’s exit was truly about fraud alone, then the logic never held up. In dollar terms, countries like the United States, India, and Romania consistently account for far greater fraud losses than Nigeria ever has.
The U.S. alone loses tens of billions of dollars to fraud every year, yet PayPal never left those markets.
So let’s be honest, this was never just about fraud.
It was about risk versus reward.
At the time, Nigeria’s market wasn’t profitable enough or strategically important enough for PayPal to justify the effort required to operate here.
Fraud is a cost of doing business everywhere. PayPal knows how to manage it, and they already do so in markets with far higher absolute fraud losses.
Over the last decade, Nigeria has improved significantly, and that’s why they’re returning. It’s not a favor, we’re simply a market that was never treated fairly, even when PayPal was here.
Fraud was a convenient explanation, not the full truth.
They’re returning because Nigeria is now too big to ignore, and they’re willing to take the risks for profit.
In summary, Nigerians are angry because PayPal feels like that ex who left you when you had nothing and came back after you made something of yourself. 😆
Personally, I won’t be using PayPal as a first choice, not because of boycott propaganda, but because I’d rather trust the people who have always been here than those who showed up, left, and came back after leaving a bad taste in our mouths from the last make out session.

English

@obiabo_immanuel Why tho?
Why not send that via a request.
English

Today, I receive my original BSc(Ed) Certificate from Ahmadu Bello University, Zaria.
Third Class Graduate ✅


A2J@qroniqls
Someone graduated with a 2:2 and shared it on X. Do you think a 2:2 is worth celebrating?
English

@josefbender_ @JavaScript I'm curious, what do you do in the block?
Toast a generic error for all?
English

Underrated @JavaScript Trick:
Instead of using multiple checks.
You can use Array. contains.
→ Easier to read and much cleaner code!
English









