Kubernetes Secrets are not secrets. Well, not without external help
Anyone with the right RBAC permissions can run one kubectl command and read them in plaintext. Base64 is just encoding, not encryption. You didn’t secure anything, you just changed the format.
That Secret is also stored in etcd, and unless you configure encryption at rest, it sits there unencrypted. If someone can access etcd, they can read everything.
So you enable encryption using an EncryptionConfiguration on the API server. Now Kubernetes encrypts Secrets (typically with AES) before writing them to etcd. That’s better. But the real problem is still unsolved.
You are still creating Secrets manually with kubectl.
Someone creates one, leaves the company, and that Secret keeps running in production for years. Nobody knows what it’s for. Nobody rotates it. It just exists.
So you bring in HashiCorp Vault.
Now you get dynamic secrets, TTL-based leases, automatic rotation, and audit logs. Your database credentials expire every 24 hours, and Vault rotates them automatically. Even if something leaks, it won’t stay valid for long.
But now every team integrates with Vault differently.
One writes a custom init container. Another copies a script from somewhere. Someone under pressure hardcodes a Vault token into the pod spec just to ship it.
So you standardize with Vault Agent Injector.
Add a couple of annotations, and a mutating webhook injects a sidecar into your pod. It authenticates using the pod’s Kubernetes service account and writes secrets as files inside the container. No application code changes.
But your legacy app reads environment variables, not files.
So you use the Secrets Store CSI Driver.
Now secrets are mounted as volumes directly from Vault, AWS Secrets Manager, or Azure Key Vault. When the secret rotates in the backend, the mounted data can update without rebuilding images (though apps may still need to reload the values).
But now you have 40 services and 40 SecretProviderClass manifests.
Someone changes a secret path in Vault and forgets to update one manifest. The secret still exists, but the reference is wrong. The pod fails at 2 AM.
So you use External Secrets Operator.
Now you define an ExternalSecret. It pulls from Vault or a cloud secret manager and creates a native Kubernetes Secret automatically. You set a refreshInterval, and it keeps everything in sync.
Not everyone needs a perfect solution. Just understand which problem each tool actually solves, and you will know exactly where to go next.
Many programmers ask AI to create an entire script in a single prompt.
That often leads to incomplete code, overlooked assumptions, and mistakes that are difficult to identify later.
A better approach is to work step by step.
Instead of requesting the complete analysis at once, divide the project into smaller tasks:
🔹 Import the data
🔹 Explore its structure and contents
🔹 Create descriptive tables
🔹 Build suitable visualizations
🔹 Select and fit a statistical model
🔹 Debug any errors
🔹 Review the final script
🔹 Export the results
This gives the AI a clearer task at each stage and allows you to check the output before moving forward.
It also makes debugging much easier. When something goes wrong, you can usually identify the problematic step instead of searching through a long script that was generated all at once.
Another advantage is that you can refine each part individually. For example, you can first create a basic visualization and then ask the AI to make it clearer, more professional, and publication-ready.
AI does not replace the need to understand and review your code. However, using it step by step can make programming projects more structured, reliable, and efficient.
New tutorials are released regularly. Subscribe to my newsletter so you never miss an update.
More information: https://t.co/ktUcWo9XpO
#coding #programming #RStats #R
Recently I interviewed a Senior Engineer.
Strong candidate.
Kafka? ✅
Redis? ✅
Microservices? ✅
Distributed systems? ✅
Then I asked:
"Your flash-sale service has only 1 item left in stock."
A customer clicks Buy.
The request reaches your inventory service.
The system checks stock = 1.
It decrements to 0 and reserves the item.
But before your service sends the response, the network connection drops.
The customer sees:
"Purchase failed."
They click Buy again.
Meanwhile, another customer also clicked Buy at the exact same moment.
Now you have two requests both seeing stock = 1.
Both can reserve the same item.
How do you guarantee only one customer gets the item — and retries don’t create overselling?
"Just use a database transaction."
Doesn’t fully solve the distributed failure + retry case.
"Use Redis locks."
What happens if the process holding the lock crashes?
"Check the stock first, then decrement."
What happens when two requests check it at exactly the same time?
Your turn:
How would you design this inventory reservation API so concurrent requests and retries never oversell the last item?
There’s a specific distributed-systems concept behind this.
And you’ll encounter it everywhere inventory, bookings, and flash sales are involved.👇
CFB 🏈 Week 6 Pick 3:
Evan Stewart (ORE-WR)
o5 Receptions
For pick three we’re going back to Oregon wide receiver Evan Stewart and we’re taking him to clear 5 catches against the UCLA Bruins. Stewart has established himself as the go-to, high-volume target in the Ducks offense, commanding a 20% target share and consistently being involved early in games. Outside of a blowout win against Portland State where Stewart only saw 3 targets for a 7% target share, he’s had 9 targets against Boise State, 8 targets against Oklahoma State, and 9 targets against USC. He’s cleared this line twice already this season.
Coming off a bye week, Oregon’s coaching staff has had extra time to game plan for UCLA and ways to get Stewart the ball in space. Oregon WR Jeremiah McClellan will also miss this matchup with a foot injury he suffered against Oklahoma State. Dylan Raiola will also get another start at QB for Dante Moore, but he targeted Stewart 8 times after replacing Moore in the 2nd quarter against USC.
UCLA’s secondary relies on varied, aggressive coverages that often leave single-coverage opportunities on the outside, which plays directly into Stewart’s elite route-running ability. With Oregon expected to drive the pace, Stewart's reliable hands and target volume give him a high floor. With a tough Big 10 matchup against UCLA with a total pushing 60, I expect Oregon to look his way early and often on short-to-intermediate routes, and for Stewart to clear 5 receptions on the day.
❤️ Like, share, and follow if tailing!
If you want to get started in Application Security Engineering field, here are the list of things you should focus on:
- Secure code reviewing
- Threat Modelling { STRIDE & PASTA framework}
- Security Architecture
- Web & API Security
- Building CI/CD Pipeline with Github Actions .
-SSDLC
If you have this very solid on the foundations to the intermediate level, then you are good to go.
Want to know where the sharpest bettors are putting their money on player props?
Prediction markets.
Unlike traditional sportsbooks that limit winning bettors, prediction markets have 0 limits, allowing sharp bettors to get down as much as they want.
That's why I put so much weight on prediction markets when devigging player props to find +EV bets.
Want to know where the sharpest bettors are putting their money on player props?
Prediction markets.
Unlike traditional sportsbooks that limit winning bettors, prediction markets have 0 limits, allowing sharp bettors to get down as much as they want.
That's why I put so much weight on prediction markets when devigging player props to find +EV bets.
In a staff-level system design interview, where you spend your time is part of the answer. Find the part that makes this problem hard, and give it room.
You can watch any founder's podcast and notice something.
When podcast host asks what they're building, they explain it naturally, in words people understand.
But open their pitch deck, and suddenly they sound like a completely different person.
They start using language they think a company is supposed to use.
The problem is, investors and customers don't understand your business better because you use different narration
Pay attention to the parts of a podcast where the founder explains why they started, who they're building for, and why the problem matters.
Don't ask a copywriter to invent your positioning before listening to how you naturally explain the product.
Your best positioning already exist in your conversations, you do while building things
Drake London is averaging 0.96 fantasy points per route with Michael Penix Jr. at quarterback this season.
That would be the highest points per route mark by a qualified WR since at least 2016. 👀
AI can write code now
so what's the most important skill for a developer in 2026 ?
- reviewing
- debugging
- prompting
- system design
- problem solving
- knowing what NOT to build
pick one