Small open-source milestone 🚀
I now have merged PRs across Java ecosystem projects including Spring , Apache Empire-db, Apache CloudStack, Caffeine, and Kong Unirest Java.
Focused on bug fixes, test readability, CI stability, and maintainability. https://t.co/jvGwU7c5rf
Live cleaning is a technique used to clean equipment while it's still powered on. It's used for solar panels, power lines, and other electrical and electronic devices.
A a special solvent is used.
Database Indexing Strategies in Backend
→ Indexing is one of the most powerful ways to speed up database queries in backend systems.
→ Good indexing reduces lookup time, improves joins, and enhances overall performance—without changing application logic.
✓ 1. Primary Indexes
→ Automatically created on primary keys.
→ Ensures fast lookups for unique identifiers.
→ Always index your primary key fields for efficient record retrieval.
✓ 2. Secondary Indexes
→ Created on non-primary columns frequently used in searches.
→ Ideal for fields like email, username, or status.
→ Helps filter queries quickly without scanning the whole table.
✓ 3. Composite Indexes
→ Indexes that involve multiple columns.
→ Best when queries filter or sort by multiple fields.
→ Order matters: an index on (country, city) helps a query filtering by both but not by city alone.
✓ 4. Unique Indexes
→ Ensures no duplicate values exist.
→ Useful for emails, usernames, or any field requiring uniqueness.
→ Also improves performance because the database optimizes for unique checks.
✓ 5. Full-Text Indexes
→ Optimized for searching phrases and keywords.
→ Useful for blogs, product search, messaging apps.
→ Supports natural language queries like “find posts about backend design.”
✓ 6. Partial / Filtered Indexes
→ Index only part of a table (e.g., active users).
→ Reduces index size and boosts speed when data has predictable patterns.
✓ 7. Covering Indexes
→ Contains all required columns for a query.
→ Allows the database to answer the query using only the index—no table scan.
→ Ideal for SELECT-heavy workloads.
✓ 8. Indexing for Joins
→ Always index foreign keys.
→ Ensure both sides of join conditions are indexed.
→ Improves multi-table queries significantly.
✓ 9. Avoid Over-Indexing
→ Each index increases storage size.
→ Slows down write operations (insert/update/delete).
→ Only create indexes for real, repeated query patterns.
✓ 10. Monitoring Index Performance
→ Use EXPLAIN or ANALYZE to check index usage.
→ Remove unused indexes to reduce overhead.
→ Continuously adjust indexing as your data and queries evolve.
→ Grab the Backend Development with Projects Ebook: https://t.co/QdeNEmpNfI
Part 1: SSH Tunnels Deep Dive - Local Port Forwarding (+labs)
Most people only use SSH for logging into a remote machine, and they never look beyond that. But SSH can do far more than provide a secure shell. One of its most powerful but overlooked features is tunneling, the ability to move traffic through an encrypted channel and reach services you normally can’t access.
At first, SSH tunnels feel confusing. That’s normal. Many admins and developers struggle with them until they see them demonstrated in real scenarios and work through them hands-on. That’s the goal of this series: to break down SSH tunneling into clear, practical parts, each one supported by labs you can run on your own machine. All the lab files are available in the GitHub repository.
This series will cover the four major types of SSH tunnels:
• Local Port Forwarding
• Remote Port Forwarding
• Proxy Tunneling through a Bastion Host
• Dynamic Port Forwarding (SOCKS5)
Each part focuses on one pattern, explains when it’s useful, and walks you through a complete lab environment that demonstrates the behaviour step by step.
In this first part, we’ll start with the most familiar one, Local Port Forwarding, and see how a simple SSH connection can give you access to services that would normally be unreachable.
Learn more in this guide:
https://t.co/UG6DAprQRx
How Containers Work: Building a Docker-like Container From Scratch 🛠️
One of the most researched pieces on containers I've written so far. Learn how to build a realistic Docker-like container using nothing but standard Linux commands.
Learning by doing: https://t.co/6Pj2cn3a4M
Check out my latest article: A comparison of the two ways of adding beans to the Spring context, which tells you when you would use either of them. https://t.co/IysPDQ9hnR via @LinkedIn
I'm turning 35.
If you're a startup founder in your 20's,
read these 28 rules I learned the hard way:
1. Validate idea first.
I wasted a decade building stuff nobody needed.
I thought Incubators and VCs served as a validation, but I was so wrong.
2. Kill your EGO.
It’s not about me but the user. I must want what the user wants, not what I want. My taste isn’t important. The user has expectations, and I must fulfill them.
3. Don’t chaise investors.
Chase users, and then investors will be chasing you.
I’ve never had more incoming interest from VC than now, when I’m the least interested in them.
4. Never hire managers.
Only hire doers until PMF. So many people know how to manage people, and so few can actually get sh*t done barehand.
5. Landing page is the least important thing in a startup at the early stage.
Pick a simple template and edit it with a no-code website builder in less than an hour. That’s it!
Your first 100 sales happen outside of the website.
6. Hire only fullstack devs.
There is nothing less productive in this world than a team of developers for an early-stage product.
One full stack dev building the whole product. That’s it.
7. Chase global market from day 1.
Go for a small niche in a global market instead of a large niche in a local market.
8. Do SEO from day 2.
As early as you can. I ignored this for 14 years, and it’s my biggest regret.
9. Sell features before building them.
Ask existing users if they want this feature. I run DMs with 10-20 users every day, where I chat about all my ideas and features I wanna add. I clearly see what resonates with me most and only go build those.
If you don’t have followers, try HN, Reddit, or just search on X for posts and ask it in the replies. People are helpful, they will reply if the question is easy to understand.
10. Hire only people you would wanna hug.
My cofounder, an old Danish man said this to me in 2015. And it was a big shift. I realized that if I don’t wanna hug the person, it means I dislike them on a chemical/animal level. Even if I can’t say why, but that’s the fact. Sooner or later, we would have a conflict and eventually break up. It takes up to 10 years to build a startup, make sure you do it with people you have this connection with.
11. Invest into your startups and friends.
Not crypt0, not stockmarket, not properties.
I did some math, if I kept investing all my money into all my friends’ startups, that would be about 70 investments.
3 of them turned into unicorns eventually. Even 1 would have made the bank. Since 2022, I have invested all my money into my products, friends, and network.
If you don’t have friends who do startups, invest it in yourself. Walk away from shiny get rich quick investment options.
12. Post on Twitter daily.
I started posting here in March last year. It’s my primary source of new connections and growth.
I could have started it earlier, I don’t know why I didn’t.
If you are at the same place, start today. I promise you won’t regret it.
13. Don’t work/partner with corporates.
Corporations always seem like an amazing opportunity. They’re big and rich, they promise huge stuff, millions of users, etc. But every single time none of this happens. Because you talk to a regular employees there. They waste your time, destroy focus, shift priorities, and eventually bring in no users/money.
14. Don’t get ever distracted by hype, e.g. crypt0.
I lost 1.5 years of my life this way.
I met the worst people along the way. Fricks, scammers, thieves. Some of my close friends turned into thieves along the way, just because it was so common in that space. I wish this didn’t happen to me. I wish I was stronger and stayed on my mission.
15. Don’t build consumer apps. Only b2b.
Consumer apps are so hard, like a lottery. It’s just 0.00001% who make it big. The rest don’t.
Even if I got many users, then there is a monetization challenge. I’ve spent 4 years in consumer apps and regret it.
16. Don’t hold on bad project for too long, max 1 year.
Some projects just don’t work. In most cases, it’s either the idea that’s so wrong that you can’t even pivot it or it’s a team that is good one by one but can’t make it as a team. Don’t drag this out for years.
17. Tech conferences are a waste of time.
They cost money, take energy, and time and you never really meet anyone there. Most people there are the “good” employees of corporations who were sent there as a perk for being loyal to the corporation. Very few fellow makers.
18. Scrum is a Scam.
If I had a team that had to be nagged every morning with questions as if they were kindergarten children, then things would eventually fail.
The only good stuff I managed to do happened with people who were grownups and could manage their stuff on their own. We would just do everything over chat as a sync on goals and plans.
19. Outsource nothing at all until PMF.
In a startup, almost everything needs to be done in a slightly different way, more creative, and more integrated into the vision. When outsourcing, the external members get no love and no case for the product. It’s just yet another assignment in their boring job. Instead of coming up with great ideas for your project they will be just focusing on ramping up their skills to get a promotion or a better job offer.
20. Bootstrap.
I spent way too much time raising money. I raised more than 10 times, preseed, seeded, and series A. But each time it was a 3-9 month project, meetings every week, and lots of destruction. I could afford to bootstrap, but I still went the VC-funded way, I don’t know why. To be honest, I didn’t know bootstrapping was a thing I could do or anyone does.
21. It may take a decade.
When I was 20, I was convinced it takes a few years to build and succeed with a startup. So I kept pushing my plans forward, to do it once I exited. Family, kids.
I wish I married earlier. I wish I had kids earlier.
22. No Free Tier.
I’d launch a tool with a free tier, and it’d get sign-ups, but very few would convert. I’d treat free sign-ups as KPIs and run on it for years. I’d brag about signups and visitors. I’d even raise VC money with these stats. But eventually, I would fail to reach PMF. Because my main feedback would come from free users and the product turned into a perfect free product.
Once I switched to “paid only” until I validated the product, things went really well.
Free and paid users often need different products. Don’t fall into this trap as I did.
23. Being To Cheap.
I always started by checking all competitors and setting the lowest price. I thought this would be one of the key advantages of my product. But no, I was wrong.
The audience on $5 and $50 are totally different.
$5: pain in the *ss, never happy, never recommend you to a friend, leave in 4 months.
$50: polite, give genuine feedback, happy, share with friends, become your big fan if you solve their request.
24. I will fail.
When I started my first startup. I thought if I did everything right, it would work out.
But it turned out that almost every startup fails.
I wish I knew that and I tried to fail faster, to get to the second iteration, then to the third, and keep going on, until I either find out nothing works or make it work.
25. Use boilerplates.
I wasted years of dev time and millions of VC money to pay for basic things. To build yet another sidebar, yet another dashboard, and payment integration...
I had too much pride, I couldn’t see myself taking someone else code as a basis for my product. I wanted it to be 100% mine, original, from scratch. Because my product seems special to me.
26. Spend more time with Family & Friends.
I missed the weddings of all my best friends and family. I was so busy. I thought if I didn’t do it on time, the world would end.
Looking back today, it was so wrong. I meet my friends and can’t share those memories with them, which makes me very sad.
I realized now, that spending 10% of my time with family and friends would practically make no negative impact on my startups.
27. Build Products For Audiences You Love.
I never thought of this. I’d often build products either for corporates, consumers, or for developers.
It turns out I have no love for all 3.
But I deeply love indie founders. Because they are risk-takers and partly kids in their hearts.
Once I switched the focus to indie makers on my products, my level of joy increased by 100x for me.
28. Write Every Single Day.
When I was a kid, I loved writing stories. In school, they would give an assignment, and I’d often write a long story for it, however, the teacher would put an F on it.
The reason was simple, I had an issue with the direction of the letters and the sequence of letters in the words. I still have it, it’s just the Grammarly app helping me to correct these issues. So the teacher would fail my stories because almost every sentence had a spelling mistake that I couldn’t even see.
It made me think I’m made at writing. So I stopped, for 15 years. But I kept telling stories all these years. Recently I realized that in any group, the setup ends up turning into me telling stories to everyone.
So I tried it all again, here on X 10 months ago. I love it, the process, the feedback from people. I write every day.
I wish I had done it all these years.
The End.
Here is the correct roadmap for web development in 2022👇
1: HTML 🧱
2: CSS 🎨
3: CSS frameworks 🧮
4: JS ⚙️
5: DOM 📃
6: Git and GitHub 🗂️
7: React/Angular/Vue ⚛️
8: Node.js 🔙🔚
9: API - @Rapid_API 🖇
10: Database 🗄️
11: Web3.js 🌐
12: Solidity 📑
In JavaScript
if ("" == 0) {
// It is! But why??
}
Because,
When JS engine start evaluating the conditional expression "" == 0, first it converts empty string "" into number like +"" to 0.
Finally 0 == 0 is true