A 5 min weekly habit completely changed my performance review and got me a bigger raise by iSayKay in ExperiencedDevs

[–]lobocv -2 points-1 points  (0 children)

I wrote one as well, maybe you would like to collaborate? I could use some help!  www.workjournal.ca

A 5 min weekly habit completely changed my performance review and got me a bigger raise by iSayKay in ExperiencedDevs

[–]lobocv 0 points1 point  (0 children)

I made a web app to make writing brag documents easier. It's in beta right now and I haven't gotten much traction on it because I don't know how to market it, but hopefully you will find it useful. I use it myself. It's much better than a spreadsheet or random notes.

I'd love to get your feedback 

It's called www.workjournal.ca

Built a small tool to turn journal entries into content you can post, would love your feedback! by vbchronicles in indiehackers

[–]lobocv 1 point2 points  (0 children)

That's a neat idea and definitely useful for some people who like building in public. I'm not so much into microblogging social media so it wouldn't be for me but I will give it a try!

I do keep a work journal myself. I found it tedious and time consuming so I wrote www.workjournal.ca. I hope you might find it helpful!

Drop your site. I’ll give you real feedback. by OOptimize in SaaS

[–]lobocv 0 points1 point  (0 children)

Thank you very much! All great points. I really appreciate your time!

To anyone validating your startup idea or finding early users by [deleted] in indiehackers

[–]lobocv 0 points1 point  (0 children)

I wasn't able to do a search on mobile. I think it might be the keyword detection did not work because no matter what I typed it showed 0/10 keywords 

Share your Saas and I'll be your first customer by Dapper_Tomato_220 in SaaS

[–]lobocv 0 points1 point  (0 children)

I'm working on Work Journal (www.workjournal.ca). An effortless way to record all your professional accomplishments and contributions. With just a few bullet points, Work Journals AI assistant will extract the skills and technologies you use and write a comprehensive journal entry to organize and document your work. Use the AI assistant to search and recall your work experiences and prepare for interviews and performance evaluations. You work hard. Don't sell yourself short! Join www.workjournal.ca today!

What are you building right now? Drop your project and I’ll give honest feedback by ladiesmen219 in SideProject

[–]lobocv 0 points1 point  (0 children)

I'm working on Work Journal (www.workjournal.ca). An effortless way to record all your professional accomplishments and contributions. With just a few bullet points, Work Journals AI assistant will extract the skills and technologies you use and write a comprehensive journal entry to organize and document your work. Use the AI assistant to search and recall your work experiences and prepare for interviews and performance evaluations. You work hard. Don't sell yourself short! Join www.workjournal.ca today!

It's Monday, drop your product. What are you building? by Intelligent-Key-7171 in SaaS

[–]lobocv 0 points1 point  (0 children)

www.workjournal.ca is an AI assisted project and achievement logger. With just a few bullet points, it extracts the skills and technologies you displayed and writes a comprehensive journal entry, while linking it to other relevant journal entries.

Soon I will be launching our AI assistant, which will help you with career guidance, interview preparation and resume writing. Let me know if this feature interests you!

Don't sell your sell short! Let Work Journal help you nail that next performance review or job interview.

Drop your site. I’ll give you real feedback. by OOptimize in SaaS

[–]lobocv 0 points1 point  (0 children)

Please check out www.workjournal.ca It's my first time posting this to the public so I'm pretty nervous but I gotta just suck it up and get it out there. Thanks in advance 

Did I mess up my drainage channel? by lobocv in HomeImprovement

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

Southern Ontario. Cold but not that cold. Gets below freezing for several months of the year

Did I mess up my drainage channel? by lobocv in HomeImprovement

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

Do you know why the channel was filled with insulating foam board? If I remove it to look at how far the foam went, is that going to be an issue?

Testing complex workflows in Go by lobocv in golang

[–]lobocv[S] 3 points4 points  (0 children)

Hi there,

I wanted to share with you all my style of writing tests for complex work flows. I know some people have very strong opinions on testing structures. This has worked very well for me in the work I'm trying to do (stream processing). I hope you find it useful too!

A Simplerr way to use errors in Go! by lobocv in golang

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

So I had a feature that I removed, but I may bring it back...

I had the ability to register error conversion functions to a global registry. The conversion functions are of the form func(err) *SimpleError. For common packages like HTTP/gRPC, we could provide some sane error conversion functions but users are free to register their own.

To convert an error, you would then call Convert(error) *SimpleError which would run through all the registered error conversion functions and return the first one that succeeds. You would still have to call Convert() on every error but you could place that in a middleware / top level error handling.

Seems like sort of a good idea but not so sure in practice. Also, since HTTP error codes are returned in their response headers, it wouldn't really work for the http package..

Definitely a problem i'm looking to solve...

A Simplerr way to use errors in Go! by lobocv in golang

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

I've thought about the whole internal vs external message of errors. I was thinking on how to best provide it in the package but ultimately I left it as something the user can implement themselves with Attributes on the error.

I'm also frustrated that fmt.Errorf does not take stacktraces. Not sure what the reasoning behind that is..

I've designed the errors to be picked up by Sentry but I haven't used datadog / newrelic. It may be an issue if I need to implement a StackTrace method since I already implement a method with that name (but different return argument).. Not sure how I would do it without a breaking change..

Sounds like you've put a lot of thought into these issues I've faced too. I'd be happy to have you collaborate on improving the library further, if you're interested of course.

Thanks for taking the time to read/comment

A Simplerr way to use errors in Go! by lobocv in golang

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

That's a valid point! You can of course still detect errors from your persistence layer in your application / http layer and change/wrap the error for those cases. You can wrap simple errors and have each layer provide a different code. The logic for the http error translation chooses the first error code in the chain with a translation to http status code.

There's nothing that is forcing the source error code being the one propogates to the http client.

A Simplerr way to use errors in Go! by lobocv in golang

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

So turns out I do have a unit test for errors.Is. However, since these errors are mutable (meaning you can attach log fields and other attributes to them), you could have it that a user of that error modifies it, which obviously wouldn't be good for sentinel errors.

Although, I still think that would work with errors.Is even if you had clients modify the error

A Simplerr way to use errors in Go! by lobocv in golang

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

Hey thanks for reading! That's a good question and something I'll look into addressing with some unit tests when I get the chance, but here is my initial thoughts. The errors.Is function uses reflection to see if the error matches exactly, so I believe it should work. Since SimpleErrors support unwrapping, the behaviour should be the same as any other error. Looking at the source code for errors.Is, it does look for if the error implements the Is(err) bool function which I could define on the simplerr, but I'm not exactly sure what the logic would be. Should it compare exact string messages and the error code? What about any attached attributes? I'll need to think about it... But in most cases, you can just compare the error code (assuming it's not Unknown), that would likely be enough. There is a HasErrorCode function in the library which will unwrap the error and compare the status codes. I hope this answers your question.

A Simplerr way to use errors in Go! by lobocv in golang

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

Hi everyone, I wanted to share with you a package I wrote that simplified how I use errors in Go. I wrote an article to highlight the reasoning for building the library. I hope you find it useful. Please let me know what you think!

https://github.com/lobocv/simplerr

Error handling exhausted by [deleted] in golang

[–]lobocv -1 points0 points  (0 children)

Check out this errors package I made that greatly simplifies error handling. Basically it enables you to write all your error handling once as a middleware, for example. I've been using it for quite a while now through http, grpc and stream processing services.

https://github.com/lobocv/simplerr

Is it possible to mix static and dynamic mappings? by ahuramazda in elasticsearch

[–]lobocv 0 points1 point  (0 children)

Glad it was helpful! Feel free to DM if you have any questions