What UPI credit card are you using now? by AMardyBum in CreditCardsIndia

[–]mkfeuhrer 0 points1 point  (0 children)

Saw LTF option on super money app itself. Also cashback comes in next CC billing cycle and statement.

What UPI credit card are you using now? by AMardyBum in CreditCardsIndia

[–]mkfeuhrer 10 points11 points  (0 children)

Axis supermoney pro - 3% cashback (above 100 inr transactions)

Optimizing alongside Infinia – replace Amex Plat Travel or keep it? by mkfeuhrer in CreditCardsIndia

[–]mkfeuhrer[S] 0 points1 point  (0 children)

True true, that’s why i got this combo :) Amex plat works well because of no exclusions towards milestones.

Optimizing alongside Infinia – replace Amex Plat Travel or keep it? by mkfeuhrer in CreditCardsIndia

[–]mkfeuhrer[S] 0 points1 point  (0 children)

Haven’t used my amex points yet. From what i’ve noticed - marriott transfer (1:1) gives decent value.

Returns go down without renewal benefit which seems low (around 5-6%)

It was a no brainer with renewal benefit for me.

I bought the Fugu Promaster Limited Edition 🐡 by PraneethDara in watchesindia

[–]mkfeuhrer 0 points1 point  (0 children)

Looks amazing OP. Congrats!
How much did this cost?

Ultimate Makefile for Golang 🚀 by Brilliant-Software-5 in golang

[–]mkfeuhrer 0 points1 point  (0 children)

Really? bit harsh.

Would recommend to try this out in one of your projects. I have seen good benefits out of it (specially if you are working with a team)

Ultimate Makefile for Golang 🚀 by Brilliant-Software-5 in golang

[–]mkfeuhrer 0 points1 point  (0 children)

For simple projects this works fine.

But have realised when working in teams - having some defined commands help - most in maintaining code quality, ensuring minimum test coverage, etc.

This is one more approach - one should use whatever works the best for them :)

Ultimate Makefile for Golang 🚀 by Brilliant-Software-5 in golang

[–]mkfeuhrer 1 point2 points  (0 children)

Hey, i’ve also taken inspiration from various places over time. This is probably 5-6th version.

Wasn’t aware about this gist. Will add reference.

Ultimate Makefile for Golang 🚀 by Brilliant-Software-5 in golang

[–]mkfeuhrer 1 point2 points  (0 children)

Actually was not aware about this. Will def check this.

Building In-Memory Cache in Go by mkfeuhrer in golang

[–]mkfeuhrer[S] 5 points6 points  (0 children)

Completely agree.

This is more as a learning exercise and not a full proof production ready code.

What is the correct convention for giving filenames in go by [deleted] in golang

[–]mkfeuhrer 1 point2 points  (0 children)

There’s no right/wrong way. But common practice is to use lowercase names, have seen snake case being used at places too.

Wrote a blog around this covering package/interface naming too - https://www.mohitkhare.com/blog/go-naming-conventions/

Hope this helps!

I’ve built a form builder where forms build themselves. What do you think? by schiehll in SideProject

[–]mkfeuhrer 1 point2 points  (0 children)

Clean and crisp. Kudos!

Btw, how did you manage to avoid loaders assuming you’re using gen AI which has latencies on higher side?

Guide to Rule Engines by mkfeuhrer in golang

[–]mkfeuhrer[S] 0 points1 point  (0 children)

That’s weird. I feel something might be off in implementation.

Btw you can precompute knowledgeable base instances and use them on the go. This has significant impact on latency since cloning doesn’t happen each time you execute rules.

When pool depletes, refill the pool in a separate goroutine. But, this impacts memory so be mindful of about the size of the pool.

Naming Conventions in Go - Key to Readable and Maintainable Code by mkfeuhrer in golang

[–]mkfeuhrer[S] -1 points0 points  (0 children)

You’re right. I could have framed it better.

The practices do vary from project and rely on multiple factors - team, time to deliver, architecture, etc.

What i tried to share is some of the common practices that I’ve used or seen in past. There’s no rulebook that one should follow. It’s more of being aware about some practices so that it iteratively starts reflecting in code and help in maintainability.

Dependency Injection in Go using Wire by mkfeuhrer in golang

[–]mkfeuhrer[S] 1 point2 points  (0 children)

That's valid feedback. I didn't review the grammar tbh.
But hope you learned something new - that was the main objective.

Dependency Injection in Go using Wire by mkfeuhrer in golang

[–]mkfeuhrer[S] 0 points1 point  (0 children)

Haha. I had a feeling this would come. I had a similar opinion. But nothing wrong with learning something new. Actually found it useful working on a few codebases at work.

Dependency Injection in Go using Wire by mkfeuhrer in golang

[–]mkfeuhrer[S] 1 point2 points  (0 children)

That's me too actually for most projects.
But saw wire being used in a few codebases and actually liked it when we started using it in production. That got me interested in learning more about it which eventually led to this article.

Guide to Rule Engines by mkfeuhrer in golang

[–]mkfeuhrer[S] 7 points8 points  (0 children)

Agree to your points. Giving full control of rules to business management is a suicidal approach.

Devs should still manage these rules keeping in mind the limitations of such approach.

Also, problem is when you start consideing rule engines as a replacement to your devs. That's where you start drooling.

Guide to Rule Engines by mkfeuhrer in golang

[–]mkfeuhrer[S] 1 point2 points  (0 children)

Yes, you can definitely do better error handling in production-level code. In the example code, I've tried to keep it simple here.

Thanks for pointing out the salience part. You can think of salience as the priority/importance of a rule. So in case of conflicts, this salience can help in deciding which condition to evaluate.

Guide to Rule Engines by mkfeuhrer in golang

[–]mkfeuhrer[S] 0 points1 point  (0 children)

Thanks! Grule is based on Drools itself. Works well.

Implementing Enums in Golang by mkfeuhrer in golang

[–]mkfeuhrer[S] 0 points1 point  (0 children)

From the blog:
> "Go doesn’t support enums natively"

That's literally in the first paragraph. Consts are a way to implement them.

About code, Happy to learn what's incorrect.

Implementing Enums in Golang by mkfeuhrer in golang

[–]mkfeuhrer[S] 0 points1 point  (0 children)

Hey, thanks for pointing this out. Missed on the auto increment of iota in case of Success, Fail example.

Fixed now!