If an interviewer asked you:
“Design a system that scales to 100M users — what breaks first?”
Would you confidently answer?
I built 6 system design practice tests (360 MCQs) that train exactly this thinking.
Explanations included.
No fluff.
💵 $4.42 / ₹399
🔗 https://t.co/DT9MZCj0Bq
Claude Code just “leaked” because of an NPM mistake 👀
But here’s the reality no one’s saying:
You didn’t just get Anthropic’s AI.
You got the wrapper, not the brain.
The real power — the model weights — are still locked away.
This is a good reminder:
Most AI products today are just orchestration + UI on top of closed models.
The moat isn’t the interface.
It’s the model.
You've Googled "git revert vs reset" 47 times.
You still panic when you see "CONFLICT (content): Merge conflict"
You've definitely done git push --force on main at least once.
So I built GitVerse — a visual Git playground where:
✦ Commands animate in real-time (watch commits actually move)
✦ You practice on a real Git like engine in your browser
✦ Merge conflicts are safely created and solved step-by-step
✦ Missions train you like a game, not a textbook
100% free. Zero setup. Works offline.
Stop memorizing. Start understanding.
https://t.co/YB2gZlT5UO
Retweet to save a junior dev's sanity.
Yes sir @rgerhards
This is actually a really valuable perspective.
I think we’re evaluating it from two different angles.
From an infra maintainer viewpoint, you’re absolutely right — the real source of truth must stay in the code and human knowledge. An AI wiki can’t replace architectural intent, and trusting it during a production incident would be dangerous.
The reason I still find CodeWiki significant isn’t that it understands systems better than maintainers.
It’s that most developers never even reach the point where they *can* understand the system.
The real bottleneck in large repos today isn’t correctness — it’s onboarding.
New contributors, adjacent teams, and even internal engineers often don’t ask questions because understanding the codebase has a huge activation energy. If an always-updated, queryable wiki lowers that barrier, even imperfectly, it changes how often people engage with complex projects.
So I see it less as a replacement for documentation and more as an accessibility layer on top of good documentation practices.
If projects like rsyslog eventually work well with it, that’s when we’ll know it’s not just a demo feature but an ecosystem tool.
🤯 Google just killed the most hated task in programming.
RIP manual documentation. You won't be missed.
Google's new CodeWiki uses Gemini AI to:
1. Auto-generate a full wiki for ANY opensource GitHub repo
2. Update it with EVERY commit
3. Give you a chat agent that answers any question about the code
It's like having a 24/7 senior dev on call who knows everything. This is the biggest productivity hack of the year.
#Google #DevTools #Coding #CodeWiki #SoftwareDevelopment
You've hit on some great points. Agree 100% that the current repo limitations are a bottleneck, and it feels a bit closed off right now since it's an early preview. 1/3
The just use Gemini part is where I see the key difference. While you can feed code to an LLM, it's a manual, one-time action.
CodeWiki is about workflow integration. The value is that it runs autonomously on every commit, creating a living knowledge base. It removes all the friction. 2/3
So while the individual features can be replicated, the big move for me is the product itself, a zero-effort, always sync documentation platform.
But you're right, its future success depends on opening up and scaling! 3/3
Hot take:
Prompt engineering is mostly a temporary skill.
Here’s why.
People think using AI well = writing clever prompts.
But that only matters because the model is weak.
Early computers needed operators. Early internet needed webmasters. Early cloud needed DevOps for basic deployments.
Then tools improved…
and the skill disappeared.
LLMs are on the same path.
Right now you write: Act as a senior software architect and explain step by step…
In 2–3 years you will just write: Why is my system slow?
and the model will automatically: • read logs • inspect code • find bottleneck • suggest fix
No prompt tricks.
Because the real job of AI isn’t to make humans better at prompting.
It’s to remove the need to prompt at all.
The end state of AI is not: people learning how to talk to machines.
It’s:- machines learning how humans naturally talk.
Prompt engineering won’t be a career.
It’s a phase.
you usually cant definitively prove a site was ai generated but you can detect patterns
manually engineered apps feel intentional
vibe coded apps feel assembled
some tells
generic component names everywhere hero section feature grid info card cta section
tailwind classes stacked like a grocery list
perfect looking ui but shallow behavior buttons exist flows dont
no edge case handling refresh breaks auth back button logs you out
loading states missing or fake
forms validate only on frontend
apis return 500 for simple bad input
seo tags copy pasted defaults
identical landing page structure to 500 other startups
the biggest giveaway though
a human builds around constraints
an llm builds around patterns
the code runs the ui looks modern but the product logic has no opinion
thats the difference between software and a demo
Courses teach concepts.
Building teaches engineering.
In a course you follow a predefined path and a predefined project. You learn what works.
When you try to build something yourself, nothing fits nicely. Docs don’t match, APIs break, errors make no sense, and you end up checking 5 blogs, 3 GitHub issues and now LLMs too.
Yes it’s slower and honestly frustrating.
But that’s the part where you actually learn to think.
You compare multiple solutions, reject most of them, pick one, it fails, you debug, redesign and try again.
Now you don’t just know Java.
You know tradeoffs, edge cases and why one approach is better than another.
That is real software engineering.
LLMs won’t replace courses.
They replace the time you used to spend being stuck, so you can spend more time actually building.
Exactly….
Individually a token prediction is dumb.
But when you stack thousands of those predictions on top of patterns learned from huge amounts of human text, structure starts to appear.
The model isnt reasoning in the human sense.
Its more like it learned the shape of reasoning from how humans write explanations.
Most people think an LLM is a smart AI.
It’s not.
It’s basically very very powerful autocomplete.
Your phone keyboard does this: “I am going to the ___” i. office ii. market iii. gym
LLM does the same thing.
Just trained on almost all text it has seen.
When you ask: “Explain black holes”
It is not googling. It is not thinking about physics.
It is only doing one task: predict the next token.
Not word. Token.
“unbelievable” becomes un / believ / able
The model has seen millions of sentences like :- black holes form when massive stars collapse…
So it generates text one small piece at a time:
black → holes → are → regions → of → space…
Each piece is chosen because statistically humans usually write that next.
It never planned the paragraph. It never knew the final answer.
It just keeps asking: what would a human probably say next?
and repeats that hundreds of times.
That’s why it feels intelligent.
Meaning comes out of probability.
LLMs are not thinking.
They are predicting text one token at a time.
and somehow that is enough to look like intelligence.
The most dangerous phase of a software system:
When it starts working.
Here’s what actually happens.
At the beginning your app is fast.
10 users.
Simple queries.
Everything feels perfect.
Then traffic grows.
Users report:
App feels slow sometimes.
So you do what every engineer does first:
You blame the database.
You add indexes.
You tune queries.
You upgrade the DB instance.
Nothing really changes.
Because the database was never the real bottleneck.
The real bottleneck was round trips.
One request was quietly doing:
API → Auth service
Auth → DB
API → User service
User service → DB
API → Payment service
Payment → DB
API → Notification service
Your single page load was triggering 15–25 network calls across services.
Each one only took ~20–40 ms.
But latency stacks, not adds in your head, it adds in the user’s life.
25 calls × 30 ms = 750 ms
Your code execution time = 40 ms
You optimized the 40 ms part.
The user was experiencing the 750 ms part.
This is why many microservice systems become slower after “scaling”.
Real performance improvements usually come from:
• reducing hops
• aggregating responses
• caching near the user
• doing less, not faster
System design is less about powerful machines
and more about fewer conversations between machines.