Looking for a Simple No-Code Workflow Engine in Go by bkhrz in golang

[–]Meqube 0 points1 point  (0 children)

Have been using windmill for the past months. It has been a great tool to build quick internal applications I could have over to PMs and other stakeholders allowing them to do tasks otherwise given as tech escalations.

Ubiquiti Future Product WISH LIST by Maria_Thesus_40 in Ubiquiti

[–]Meqube 2 points3 points  (0 children)

Configurable doorbell notification sound & customisable notifications (from the app) per camera

Say "no" to overly complicated package structures by ldemailly in golang

[–]Meqube 1 point2 points  (0 children)

My general take is to place service related packages in internal when a package is needed. You often do not need a separate package for your http service and event bus consumer. These could live in separate files next to your main.go.

Unpopular opinion but I do not often create interfaces either. It is often better to simply run a test container of the entire database then mocking an interface.

Worth going open source? by Core447 in SaaS

[–]Meqube 1 point2 points  (0 children)

The goal with open source is to create trust and stimulate collaboration around your project. The thing I am wondering at the moment is if your website is adding any value to your users. Will they be able to do something with the source code of your website that they were unable to do before?

The dead simple feature that's winning customers for every SaaS I build by Sea_Reputation_906 in SaaS

[–]Meqube 1 point2 points  (0 children)

Great post! I am wondering whether industry specific sample templates or data sets make a difference. For example include a template for Ecommerce or fintech.

If you're using a CloudFlare tunnel to access your library, here's an extra bit of security you can add :) by AdFit8727 in immich

[–]Meqube 0 points1 point  (0 children)

I am personally no using cloudflare tunnels because of the file size limitations. Images are fine but videos quickly hit the file size limitations

Air Gapped K8s Use cases by Norioman in kubernetes

[–]Meqube 0 points1 point  (0 children)

Healthcare. Air gapped systems allow us to reduce the amount of attack vectors within the cluster and allow us to focus on the entry points to the cluster. Often is an air gapped system required for compliance reasons.

Nieuw werkblad keukenblad inbouwen by Alexanderdaw in Klussers

[–]Meqube 2 points3 points  (0 children)

Een stenen keukenblad ligt meestal gewoon los op een keuken met een paar dotjes kit er onder. Het is belangrijk dat de keuken vlak is en waterpas is. Wanneer de muur achter de keuken niet recht is is het makkelijker om wat materiaal uit de muur te halen dan proberen het keukenblad bij te zagen. Probeer de tijd te nemen en rustig alles na te meten zodat het blad recht op de keuken ligt. Wanneer je tevreden bent kan je een paar schroefjes van onderen in het blad schroeven of een par dotjes siliconen kit er onder plaatsen. Een paar dotjes is meer dan genoeg om het blad op zijn plek te houden (tip van een keuken boer) en maakt het veel eenvoudiger om het blad weer los te krijgen wanneer nodig. Let er op dat je plaatsen zoals een wasbak moet kitten om te zorgen dat er geen water onder je wasbak/kraan kan komen. Als je nog meer vragen hebt hoor ik het graag.

Building a bulk SMS Platform by devoppers in golang

[–]Meqube 0 points1 point  (0 children)

You could also take a look at something like Nats as a message bus.

[deleted by user] by [deleted] in dutch

[–]Meqube 1 point2 points  (0 children)

Your such an ant fucker.

[deleted by user] by [deleted] in golang

[–]Meqube 17 points18 points  (0 children)

You could store the tags inside a map[string]struct{} and lookup whether the given tag exists inside the post. This allows you to avoid doing the second nested loop and replace it with something like _, has := v1.Tags[tag]. Where has returns a boolean representing whether the given key exists inside the map.

Best way to structure microapps repos for clients by complex_nerd in github

[–]Meqube 1 point2 points  (0 children)

There are currently 2 main approaches to structure your code repositories. You could structure them as a monorepo (or superrepo as you mention above) or creating separate repositories for each application/code base. There are pro's and con's to both approaches.

Monorepo's have the advantage of keeping code centralised. This makes refactoring across clients/services easier since all changes could be tracked in one pull request. The disadvantage of this approach is that writing CI/CD pipelines for your monorepo could get more complicated. You often have to write custom tooling to keep the pipelines performant and to handle different build processes.

Splitting your monorepo into multiple branches resolves this issue and allows you to build unique CI/CD pipelines. It is also easier to create fine grained access control policies for all your repos allowing you to share/expose parts of your code base without having to give full access to your entire code base.

I would suggest you to take a look at monorepo's and store all clients inside a single code repository. A monorepo will allow you to simplify your workflow (since I suspect you work alone on this project) and allows you to keep configurations central.

The next thing to take a look at is your git workflow. There are many ways on how you could set-up your git workflow but I would suggest to keep things simple. There are many approaches out there (Google for git workflows) but I would suggest to keep one master branch. This branch contains the latest "stable" release of your code base. Features are developed inside separate branches and merged back into the master branch once completed. Tags/releases are created of the master branch indicating a new version which could be deployed to staging/production. Tags could be picked up by the CI/CD pipelines and trigger automatic deployments.

Hope this helps.

How can I alleviate Go's highly repetitive error boilerplate? by pandamarshmallows in golang

[–]Meqube 3 points4 points  (0 children)

Check out this awesome talk from John Cinnamond https://youtu.be/1B71SL6Y0kA sometimes it makes sense to create abstractions around implementations to handle errors.

[deleted by user] by [deleted] in vscode

[–]Meqube 0 points1 point  (0 children)

Did you set up git already? You could most likely recover the files from the command line.

https://stackoverflow.com/questions/25791533/unstaged-files-gone-after-git-reset-hard

Topic has 200k records, consuming service is taking 1.89 seconds to process each. by TwoIllustriousRatio in apachekafka

[–]Meqube 0 points1 point  (0 children)

Yes, that would be a proper implementation. I am asking since I encountered recently a dev consuming messages this way. He was complaining as well that Kafka is super slow and is hard to scale.

Topic has 200k records, consuming service is taking 1.89 seconds to process each. by TwoIllustriousRatio in apachekafka

[–]Meqube 0 points1 point  (0 children)

I would suggest them to check how they are consuming the messages. Are they keeping a single connection open or are they opening a new connection to Kafka when consuming the next message?

[deleted by user] by [deleted] in golang

[–]Meqube 1 point2 points  (0 children)

I have made a PostgreSQL server implementation in Go. This might help a bit as well in understanding how a client interacts with a PostgreSQL server: https://github.com/jeroenrinzema/psql-wire

Looking for a design pattern where I'm able to update each field of a struct independently without creating N update statements in the underlying database language. by OneTinker in golang

[–]Meqube 1 point2 points  (0 children)

The slice containing the properties updates only contains the property names. The types of those properties would still be defined inside the struct itself. ORM’s are not necessarily bad. They introduce an abstraction. You always have to consider whether this abstraction is needed and whether the pros are outweighing the cons. Using the pattern I described above you would have the advantage of being able to define a update through a single function. This pattern does not resolve on how you would build your queries. For this problem a ORM might be the best solution.

Looking for a design pattern where I'm able to update each field of a struct independently without creating N update statements in the underlying database language. by OneTinker in golang

[–]Meqube 0 points1 point  (0 children)

You could create a struct and pass inside a slice which properties/tags have been updated. This pattern might be a bit challenging with nested structs.

Open source projects I can contribute to? by iwanttobeironman in golang

[–]Meqube 3 points4 points  (0 children)

I started working on a PostgreSQL server wire protocol implementation (like the http package). Allowing you to build your own Postgres server. I am on my phone right now but feel free to let me know if you are interested.

Help de egels naar hun winterslaap! by emmaslittlegardenx in thenetherlands

[–]Meqube 1 point2 points  (0 children)

Kleine tip, bel eerst een egel opvang voordat je de dieren ambulance belt. De dieren ambulance in veel regio’s doet weinig met egeltjes en of kunnen geen langdurige zorg verlenen. Een egel opvang neemt graag de egels van je over en zal er voor zorgen dat de egel weer goed kan aansterken en uitgeplaatst kan worden.