G.Jonathan (@beardedtech_guy) header
G.Jonathan (@beardedtech_guy) profile picture

Software & Chemical Engineer | Facilitator, https://xitter.gq/t.co/hsolZEaZrO | Speaker | Technical Writer | TypeScript | Building https://xitter.gq/t.co/VbGaZBv09v

Lagos, Nigeria
Joined April 2020
Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)Photo by G.Jonathan (@beardedtech_guy)
For us who are building life from scratch. No inheritance, no connections, no backup, may God walk the road with us.
5
8
42
2,674
G.Jonathan retweeted
You can't work hard and die poor. You do 'hard work' and you are 'working hard' are two different things.
Hard work is not enough. You need luck. You need connections. You can work hard and die poor.
2
1
203
G.Jonathan retweeted
The reward of hard work is more work they say, it's been more than 3 months of taking the big step to learn Photoshop, having being a Canva Designer for two years plus. Flyers for Inncircle, a circle intentionally curated by @beardedtech_guy
3
1
11
85
What if the distance in your relationships isn’t conflict… but SILENCE? The words left unsaid. The conversations avoided. Honoured to host INNCIRCLE 2.0 First Dialogue tomorrow: “SILENCE ISN’T ALWAYS PEACE” inncircle.org 💚Community shaped by @beardedtech_guy
1
1
6
300
Create AI UGC videos for your products that look so real in just 2 steps. Made a quick tutorial showing exactly how I do it.
3
3
38
865
G.Jonathan retweeted
Good news! There are 49 slots still left for the African founding supporters of The African Engineer. With just two issues, it has gained almost 1.5k subscribers. If you are a builder and want your logo in the founding supporters section of the website while supporting never-before-seen premium engineering journalism in the African tech space, comment “founding supporter” and I’ll DM you. Note: I’ll also vet the products before onboarding you as a founding supporter. All the details you need are on the pricing page africanengineer.com/pricing
5
1
12
3,451
G.Jonathan retweeted
The insights I just gave this African builder that booked a Ship Lean session this morning I wish I can share with you all because even me know it’s good If you are building anything and you want my eyes and thoughts on it don’t hesitate to book a session. Just the first session is worth the money and save you a lot of guess work I assure you africanindiehackers.org/ship… Leave a comment if you are interested and I’ll DM you next steps
1
2
9
1,983
STOP telling ChatGPT "Write like a Human" STOP telling ChatGPT "Humanise this" STOP telling ChatGPT "Humanise that" Bad prompt = Bad result These prompts are the best 👇
41
1,010
34
8,040
1,769,220
🚀🚀 PAID COURSES FREE – PART 1 (2026) 🚀🚀 🔹 Worth $500+ | ⏳ Valid for 72 Hours Only 🎓 Courses You’ll Get: 🔹 Artificial Intelligence + Data Analyst 🔹 Machine Learning + Data Science 🔹 Cloud Computing + Web Development 🔹 Ethical Hacking + Cyber Security 🔹 Data Analytics + DSA 🔹 AWS Certified + IBM Programs 🔹 Data Science + Deep Learning 🔹 Big Data + SQL (Complete Course) 🔹 Python + Other Premium Skills 🔹 MBA + Handwritten Notes 🎁 Steps to Unlock FREE Access: 🔹 Follow: 👉 @pushpendratips 📩 (So I can DM you) 🔹 Like & 🔁 Retweet this post 🔹 Reply: “SEND” ⚡ Limited Time | Limited Seats | Act Fast! ⚡
25
14
26
1,464
G.Jonathan retweeted
I am sorry I have been AWOL for the past few days Here's an update: The date for classes will be dropped soon. I am almost done curating the projects and slides for the class and also resources folders . If you haven't registered for the class here's your chance to do so
1
1
1
419
G.Jonathan retweeted
𝗗𝗮𝘆 𝟮𝟬 𝗼𝗳 #𝟭𝟬𝟬𝗗𝗮𝘆𝘀𝗢𝗳𝗦𝘆𝘀𝘁𝗲𝗺𝗗𝗲𝘀𝗶𝗴𝗻 — 𝗛𝗮𝘀𝗵 𝗜𝗻𝗱𝗲𝘅𝗲𝘀 𝘃𝘀 𝗕-𝗧𝗿𝗲𝗲𝘀 Yesterday, we talked about indexing and why databases need shortcuts to stay fast. Today, the real question is: what kind of shortcut are you using? Not all indexes are created equal. A 𝗵𝗮𝘀𝗵 𝗶𝗻𝗱𝗲𝘅 works by taking a key, running it through a hash function, and jumping straight to the location of the data. 𝗪𝗵𝗲𝗻 𝗶𝘁 𝘄𝗼𝗿𝗸𝘀, 𝗶𝘁’𝘀 𝗶𝗻𝗰𝗿𝗲𝗱𝗶𝗯𝗹𝘆 𝗳𝗮𝘀𝘁. Exact lookups feel almost instant. But there’s a catch. Hash indexes don’t understand order. They can’t efficiently handle ranges, sorting, or queries like “greater than” or “less than.” This is where B-Trees come in. A 𝗕-𝗧𝗿𝗲𝗲 keeps data sorted at all times. Instead of jumping blindly, it navigates through a structured tree that narrows down results step by step. Reads are slightly slower than hash lookups, but the flexibility is unmatched. Range queries, sorting, and ordered scans all become natural. 𝗧𝗵𝗶𝗻𝗸 𝗼𝗳 𝗮 𝗿𝗲𝘀𝘁𝗮𝘂𝗿𝗮𝗻𝘁 𝗮𝗴𝗮𝗶𝗻. A hash index is like assigning seats purely by a reservation code. If you know the exact code, you’re seated instantly. But if someone asks for a table near the window or wants to see all available tables for four, the system breaks down. A B-Tree is like arranging tables by size and location. It might take a moment to walk through the dining area, but you can easily handle preferences, ranges, and changes. This is why most relational databases default to B-Trees. They trade a little raw speed for predictability and flexibility at scale. Good system design isn’t about choosing the fastest option. It’s about choosing the option that fails gracefully as requirements grow.
2
5
94
G.Jonathan retweeted
Most people are not stopped by lack of talent or intelligence. They are stopped by impatience. Growth, in its raw form, is repetitive and often uneventful.
2
1
8
117
G.Jonathan retweeted
𝗗𝗮𝘆 𝟮𝟭 𝗼𝗳 #𝟭𝟬𝟬𝗗𝗮𝘆𝘀𝗢𝗳𝗦𝘆𝘀𝘁𝗲𝗺𝗗𝗲𝘀𝗶𝗴𝗻 𝗟𝗦𝗠 𝗧𝗿𝗲𝗲𝘀 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱 So far in this series, we’ve talked about indexes, 𝗵𝗮𝘀𝗵 𝗶𝗻𝗱𝗲𝘅𝗲𝘀, and 𝗕-𝗧𝗿𝗲𝗲𝘀. Most of those structures are built to make reads fast. But not every system is read-heavy. 𝗦𝗼𝗺𝗲 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝗮𝗿𝗲 𝗱𝗲𝘀𝗶𝗴𝗻𝗲𝗱 𝘁𝗼 𝗮𝗯𝘀𝗼𝗿𝗯 𝗺𝗮𝘀𝘀𝗶𝘃𝗲 𝗮𝗺𝗼𝘂𝗻𝘁𝘀 𝗼𝗳 𝗱𝗮𝘁𝗮 𝗰𝗼𝗻𝘁𝗶𝗻𝘂𝗼𝘂𝘀𝗹𝘆. For those systems, write performance matters more than anything else. That’s where LSM Trees come in. 𝗔𝗻 𝗟𝗦𝗠 𝗧𝗿𝗲𝗲 𝗮𝘃𝗼𝗶𝗱𝘀 𝗿𝗮𝗻𝗱𝗼𝗺 𝗱𝗶𝘀𝗸 𝘄𝗿𝗶𝘁𝗲𝘀. Instead of updating data in place, new writes are stored in memory first. When memory fills up, the data is flushed to disk sequentially into immutable, sorted files called SSTables. SSTables are never modified after they’re written. This allows the database to turn many small random writes into large, efficient sequential writes, which disks handle much better at scale. Reads become more complex because data may exist in multiple SSTables. To keep reads fast, systems use optimizations like bloom filters to quickly check whether a key exists, sparse indexes to jump to the right block, and caching to avoid disk access when possible. Updates and deletes don’t remove data immediately. Instead, the system writes tombstones, which act as markers saying a value is no longer valid. During background compaction, old data and tombstones are merged and cleaned up. A restaurant analogy helps. During a rush, dirty plates are stacked at the counter instead of being taken inside one by one. Once the stack is full, plates are taken inside and washed in batches. The kitchen stays efficient even under pressure. LSM Trees make the same tradeoff. Writes are fast and predictable. Reads are more involved. Background compaction keeps everything under control. This is why systems like Cassandra, HBase, and RocksDB are built around LSM Trees. my linkedin has the complete series so far
3
5
84
G.Jonathan retweeted
Being working on creating a very interesting space for my circle of friends inncircle.org Amazing Its finally hereeee
1
1
6
135
G.Jonathan retweeted
𝗗𝗮𝘆 𝟮𝟮 𝗼𝗳 #𝟭𝟬𝟬𝗗𝗮𝘆𝘀𝗢𝗳𝗦𝘆𝘀𝘁𝗲𝗺𝗗𝗲𝘀𝗶𝗴𝗻 — 𝗥𝗲𝗮𝗱-𝗛𝗲𝗮𝘃𝘆 𝘃𝘀 𝗪𝗿𝗶𝘁𝗲-𝗛𝗲𝗮𝘃𝘆 𝗦𝘆𝘀𝘁𝗲𝗺𝘀 System design rarely fails because of bad tools. It fails because of bad assumptions. Every system leans toward a dominant workload. It either reads data far more often than it writes it, or it writes data far more often than it reads it. 𝗥𝗲𝗮𝗱-𝗵𝗲𝗮𝘃𝘆 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝘀𝗲𝗿𝘃𝗲 𝘁𝗵𝗲 𝘀𝗮𝗺𝗲 𝗱𝗮𝘁𝗮 𝗿𝗲𝗽𝗲𝗮𝘁𝗲𝗱𝗹𝘆. Think user profiles, product catalogs, and feeds. 𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲𝘀 𝗹𝗶𝗸𝗲 𝗣𝗼𝘀𝘁𝗴𝗿𝗲𝗦𝗤𝗟, 𝗠𝘆𝗦𝗤𝗟, 𝗮𝗻𝗱 𝗘𝗹𝗮𝘀𝘁𝗶𝗰𝘀𝗲𝗮𝗿𝗰𝗵 fit naturally here because they are optimized for fast queries and indexing. 𝗪𝗿𝗶𝘁𝗲-𝗵𝗲𝗮𝘃𝘆 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝗶𝗻𝗴𝗲𝘀𝘁 𝗱𝗮𝘁𝗮 𝗰𝗼𝗻𝘁𝗶𝗻𝘂𝗼𝘂𝘀𝗹𝘆. Logs, metrics, and events don’t pause. D𝗮𝘁𝗮𝗯𝗮𝘀𝗲𝘀 𝗹𝗶𝗸𝗲 𝗖𝗮𝘀𝘀𝗮𝗻𝗱𝗿𝗮, 𝗛𝗕𝗮𝘀𝗲, 𝗗𝘆𝗻𝗮𝗺𝗼𝗗𝗕, 𝗮𝗻𝗱 𝗥𝗼𝗰𝗸𝘀𝗗𝗕 are built for this reality, prioritizing write throughput and background processing. A restaurant analogy helps. Fine dining optimizes for serving guests quickly. Buffets optimize for volume and flow in the kitchen. System design starts when you stop asking “what database should I use?” and start asking “what happens more often — reads or writes?” More depth and visuals are in today’s LinkedIn post. (linkedin.com/posts/gobiuwevb…)
1
2
35
Designed as an enterprise product UX case study, covering executive dashboards, predictive insights, and operations workflows. Built in @figma
4
5
1
24
2,050
If you’re interested in LEARNING all of these for FREE 🔵🚀 🔵 Product Management 🔵 Project Management 🔵 Business Analytics 🔵 Data Visualization 🔵 Microsoft Excel 🔵 Data Analytics 🔵 CSS + Handwritten Notes 🔵 15+ MERN Stack Projects 🔵 UI/UX 🔵 10+ Python Projects 🔵 SQL 🔷 Python 🔷 Java 🔷 React 🔷 Docker 🔷 JavaScript 🔷 Frontend Development 🔷 Backend Development 🔷 Full-Stack Development 🔷 Cybersecurity ⏰ Available for only 72 HOURS! 🔵⚡ To get access 👇 🔵 Follow @pushpendratips (so I can DM you) 🔵 Like ❤️ & Retweet 🔁 🔵 Comment “SEND” 🔵📩🔥
98
55
91
6,420
Felt really goood when a friend posted this! Today was really goooooooood.
1
1
1
7
171
𝗗𝗮𝘆 𝟳: 𝗦𝘁𝗮𝘁𝗲𝗹𝗲𝘀𝘀 𝘃𝘀 𝗦𝘁𝗮𝘁𝗲𝗳𝘂𝗹 𝗦𝘆𝘀𝘁𝗲𝗺𝘀 #𝟭𝟬𝟬𝗗𝗮𝘆𝘀𝗢𝗳𝗦𝘆𝘀𝘁𝗲𝗺𝗗𝗲𝘀𝗶𝗴𝗻 Its been one week of talking about design systems and constantly designing my slides with Canva that are fully posted on Linkedin! Loving how this is going. Yesterday, we talked about horizontal scaling and how adding more machines helps systems grow. Today, let’s talk about something that becomes critical once you do that 𝘀𝘁𝗮𝘁𝗲𝗹𝗲𝘀𝘀 𝘃𝘀 𝘀𝘁𝗮𝘁𝗲𝗳𝘂𝗹 𝘀𝘆𝘀𝘁𝗲𝗺𝘀. Before we define them, first understand this state is any information a system needs to remember between requests. So what’s the difference? A stateful system remembers information about a user or request. If a user sends another request, it must go back to the same server that remembers them. A stateless system does not remember anything. Every request contains all the information needed and can be handled by any server. Think of it like a restaurant: In a stateful restaurant, a waiter remembers your face, your table, and your order. If you talk to a different waiter, they’re confused. That waiter is the server. Your memory lives with them. In a stateless restaurant, every waiter writes orders on a shared board. Any waiter can pick it up and continue serving you. That shared board is external storage. This is why stateless systems scale better horizontally. Requests can go anywhere. Failures don’t break the flow. Stateful systems still matter, but they need more coordination. Tomorrow, we’ll talk about where state actually lives in scalable systems.
1
4
9
175