73 karma · joined January 7, 2023
Coming from C#, whose generics are first class, I struggled to obtain any real value from Go's generics. It's not possible to execute on ideas that fit nicely in your head, and you instead end up fighting tooth and nail to wrangle what feels like an afterthought into something concrete that fits in your head.
Generics works well as a replacement for liberally using interface{} everywhere, making programs more readable, but as class and interface level I tend to avoid it as I find I don't really understand what is going on. I just needed it to work so I could move on
My successful AI written projects are those where I care solely on the output and have little to no knowledge about the subject matter.
When I try to walk an agent through creating anything about which I have a deeply held opinion of what good looks like, I end up frustrated and abandoning the project.
I've enjoyed using roo code's architect function to document an agreed upon approach, then been delighted and frustrated in equal measure by the implementation of code mode.
On revelation is to always start new tasks and avoid continuing large conversations, because I would typically tackle any problem myself in smaller steps with verifiable outputs, whereas I tend to pose the entire problem space to the agent which it invariably fails at.
I've settled on spending time finding what works for me. Earlier today I took 30 minutes to add functionality to an app that would've taken me days to write. And what's more I only put 30 minutes into the diary for it, because I knew what I wanted and didn't care how it got there.
This leads me to conclude that using AI to write code that a(nother) human is one day to interact with is a no-go, for all the reasons listed.
Once I notice things creaking I start doodling a new arch.
Or if I notice I'm spending too much time on addressing the product of my currently suboptimal design then I might refactor it, but it usually isn't or shouldn't be the most important thing
Also, LastPass's Android app seems an afterthought.
Go has a lot of in-memory versions of things for tests, which run so much quicker than leaning on docker. Similarly, I found C# has in-memory versions of deps you can lean on.
I really feel that test containers, although solving a problem, often introduces others for no great benefit
I learned VB4 or 5 at college in 98. The teacher did nothing while we sat through MS videos where a bearded man both poured water from one jug to another and taught me how to code. Magical stuff.
Very few blogs or posts feel relevant a year or two later, let alone a decade. The only people buying this are those with Balenciaga trainers who drink wine shilled by influencers
I don't really agree. The more experienced Devs I know enjoy Go's simplicity. Personally I miss pattern matching and algebraic types, but I am fully able to live without it them and the proposal around using interfaces looks interesting.
I like text descriptions around my test so wrote this based a little bit on my experiences with XBehave in the .net space.
Looking for any and all feedback, comments, etc.
It serves me well for what I use it for and figured it may be useful for a handful of people who aren't me, so made it public.
That being said, I met only a handful of people who classed themselves as pro-brexit and look how that turned out.
I look forward to adding fractions of 16ths while shopping for plums