Engineer

Nandi, Kenya
Joined January 2022
Life of Keyboard 😂
177
3,519
223
17,872
906,692
Lethal 🔥 retweeted
Jensen Huang: I want my engineers to stop coding.
248
1,488
246
13,440
1,684,761
Spoke at the .NET Meetup Nairobi @MicrosoftADC last Thursday on EF Core! 💬 Grateful to share insights & connect with amazing devs. Thanks @gatere_mark for the invite—excited to keep making impact! 🚀 #DotNet #EFCore #TechCommunity
2
1
28
998
🎤 Microsoft MVP @_kevincomba is at #AzureCosmosDBConf 2025! See how he builds a knowledge management system using vector + full-text search with #JavaScript & #TypeScript. 📅 April 15 | 9 AM PT 🔗 aka.ms/AzureCosmosDBConf
1
127
"EF Core is slow." Nope. EF Core is probably the best database access framework in any language right now. But it won’t fix bad code or your bad queries. I recently looked into a project where the QA and Developers complained: "Our .NET API is sluggish in production. We think EF Core is the bottleneck." I took a look at the code. Here’s what I found: var users = await _context.Users.ToListAsync(); Used inside a paginated endpoint. No filters. No Skip(). No Take(). And even worse, I could see it used in loops. The API was loading 100,000+ records on every request. Of course, it was slow. EF Core is powerful, but it doesn’t protect you from common mistakes. And I see these all the time: - Calling ToList() too early and breaking query composition - Not using AsNoTracking() for read-heavy scenarios - Lazy loading inside loops, causing N+1 problems - Using Include() everywhere, even when not needed - Not projecting only the required columns with Select() - Registering DbContext as Singleton (don't do this) - Missing indexes in the database - Not reviewing the generated SQL - Treating EF Core like an ORM black box EF Core gives you flexibility, performance, and tight integration with .NET. But it expects you to know what you're doing. If your EF Core queries are slow, the problem is probably you. Soon, in my .NET Web API Zero to Hero Course, I will start the EF Core Chapter. I am almost done with Chapter #1. Join the course for free: codewithmukesh.com/courses/d… #dotnet #efcore #aspnetcore #csharp #webapi #performance #backend #microsoftdeveloper #cleanarchitecture
5
18
2
134
5,991
🏆 Happy to receive my Microsoft MVP trophy in .NET! This award is a testament to the power of knowledge-sharing and community impact. Grateful for this milestone—more to come! Follow me on LinkedIn: linkedin.com/in/kibichii-bri… #MVPBuzz
5
6
2
110
2,703
🚀 Just built a controller-based Web API with ASP.NET Core! 💻 Microsoft Learn has an awesome step-by-step guide covering setup and using EF Core—all in-memory for starters. Check it out! 🔗 bit.ly/aspnetcoretutorial #ASPNetCore #WebAPI #CSharp #MicrosoftLearn
1
187
Got questions about the future of AI agents? 🔥 Share them now for our upcoming fireside chat with Microsoft professionals shaping the AI landscape! Don’t miss this chance to shape the conversation: forms.office.com/Pages/Respo…
5
3
15
4,108
#AITourNairobi is a week away! Join me in the #DevTrack as we unveil the intricacies of optimizing #GitHubCopilot, dissecting how it works, how it handles/ processes data and best practices to harness its full potential to elevate your #coding experience msaitour-staging.azurewebsit…
3
8
398
Do you remember when you joined X? I do! #MyXAnniversary
83
Lethal 🔥 retweeted
Azure AI Fundamentals Training Program (with certification exam voucher) 🔥 Starting 7th January, dive into the exciting world of @Azure AI with us and stand a chance to win a certification voucher—exclusive for participants in Kenya! 🎓🇰🇪 The program is designed to provide a foundational understanding of Artificial Intelligence (AI) concepts and how AI services can be utilized on @Azure. This training is ideal for individuals new to AI, aiming to build a solid understanding of AI concepts, practical applications, and the Responsible AI considerations involved. Throughout the program, participants will explore various AI services available on Azure. Format: Livestream Topic: Core AI - Upon successful completion of the program, Kenyan 🇰🇪 participants will receive a certification voucher. Register now: developer.microsoft.com/en-u… #ArtificialIntelligence #AzureAI #AI @BethanyJep
1
14
26
1,774
🎉 Exciting News! 🎉 Honored to be accepted as a Microsoft MVP under .NET (Jan 1, 2025)! 🏆 Thanks to @_kevincomba for the nomination & the Microsoft Learn Student Ambassadors community for the journey (MLSA since '23, Gold MLSA '24). 💙 @MVPAward 🚀 #MVPBuzz #Dotnet
8
9
1
89
4,154
Lethal 🔥 retweeted
How to design a 𝐬𝐞𝐜𝐮𝐫𝐞 web API access for your website? When we open web API access to users, we need to make sure each API call is authenticated. This means the user must be whom they claim to be. In this post, we explore two common ways: 1. Token based authentication 2. HMAC (Hash-based Message Authentication Code) authentication The diagram below illustrates how they work. 𝐓𝐨𝐤𝐞𝐧 𝐛𝐚𝐬𝐞𝐝 Step 1 - the user enters their password into the client, and the client sends the password to the Authentication Server. Step 2 - the Authentication Server authenticates the credentials and generates a token with an expiry time. Steps 3 and 4 - now the client can send requests to access server resources with the token in the HTTP header. This access is valid until the token expires. 𝐇𝐌𝐀𝐂 𝐛𝐚𝐬𝐞𝐝 This mechanism generates a Message Authentication Code (signature) by using a hash function (SHA256 or MD5). Steps 1 and 2 - the server generates two keys, one is Public APP ID (public key) and the other one is API Key (private key). Step 3 - we now generate a HMAC signature on the client side (hmac A). This signature is generated with a set of attributes listed in the diagram. Step 4 - the client sends requests to access server resources with hmac A in the HTTP header. Step 5 - the server receives the request which contains the request data and the authentication header. It extracts the necessary attributes from the request and uses the API key that’s stored on the server side to generate a signature (hmac B.) Steps 6 and 7 - the server compares hmac A (generated on the client side) and hmac B (generated on the server side). If they are matched, the requested resource will be returned to the client. Question - How does HMAC authentication ensure data integrity? Why do we include “request timestamp” in HMAC signature generation? -- Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/bbg-social
7
105
2
607
45,142
What is RBAC, and how can it help with Authorization? RBAC stands for Role-Based Access Control. Here's how RBAC works: - Roles are assigned a set of permissions - Users are granted roles, and thus permissions - Permissions decide what a user can or can't do What's the benefit? One problem I always had with roles was fine-grained authorization rules. Roles are too broad for some policies I need to enforce. This is where permissions come in. I can define permissions for specific actions. It's easy to allow other roles to access that action by assigning the respective permission to the role. Do you want to learn more about permission authorization? Read this: milanjovanovic.tech/blog/mas… It's a simple idea. But it's a powerful authorization approach. Have you used RBAC in your applications? --- Do you want to simplify your development process? Grab my free Clean Architecture template here: bit.ly/4hFMRIu
2
62
1
358
14,834
Lethal 🔥 retweeted
We're super ready for 2025 🚀 Are you ready to join the first Dev Community Meetup of 2025 hosted by @MicrosoftADC? If you're a developer looking to: 💡 Set actionable career goals for 2025 💼 Learn what leadership in software looks for in top talent 🛠️ Explore key areas to focus on for growth in the tech industry ...then this is the place to be! Event Details: 📅 Date: 17th January 2025 ⏰ Time: 4:00 PM - 6:00 PM 📍 Venue: Microsoft ADC, Dunhill Towers, Nairobi Our guest speaker, Tarik Soulami, Group Engineering Manager at Microsoft, will share valuable insights and spark meaningful conversations to start your year right. 👉 Register now at aka.ms/DevelopersMeetup *Limited Slots Available. Let's learn and grow together as a community See you there! #NairobiDevCommunity #DevCommunityMeetup
2
11
39
1,976
What is the cleanest way to get configuration values in .NET? I use the Options pattern. Here's why you should know about it. App configuration lives in environment variables, JSON files, user secrets, or other configuration providers. You can get individual values using the IConfiguration interface. But this is error-prone and cumbersome, so I don't recommend it. Instead, I use the Options pattern: - Create a class to represent the settings - Bind the class properties to application settings (JSON) - Consume the Options pattern in my code using IOptions (or variants) You can also add data annotations to your settings class for simple validation. Here's how you can implement the Options pattern in .NET: milanjovanovic.tech/blog/how… Did you have a use case for IOptionsSnapshot or IOptionsMonitor? --- Do you want to simplify your development process? Grab my free Clean Architecture template here: bit.ly/4fKfuTb
7
27
225
11,633
Did you know Visual Studio subscriptions include a C# Dev Kit extension? Get even more out of your .NET development within your favorite lightweight editor—try it today: my.visualstudio.com
4
12
29
5,798
Lethal 🔥 retweeted
🎉 Excited about clean, testable, and maintainable code? In today's #dotNETFDN's Solution2 session replay, we dive into #ASPNET Core principles to help you refactor your projects like a pro! 💻✨ msft.it/6011oMibf
15
1
72
7,410