23 karma · joined February 23, 2023
About me: https://blog.kanthorlabs.com/about/
You only feel powerful when you boostrap a project because you wirte a lots of skeleton code or init core logic.
Nowaday we dont have chance to even write those kind of code I miss writing code too.
That why I developed a small helper program that allow me execute any python script. It's not perfect but it has been serve my needs very well for months.
If you are Go developer, let's install it with command
go install github.com/kanthorlabs/runit/cmd/runit@latest
Otherwise you can download the binary and use it
When something went wrong, I had to scan through a list of events to identify the failed ones. However, doing that with traditional message brokers like NATS.io or RabbitMQ was challenging. I needed an additional layer to store the events and analyze the data. As a result, a simple system required two high-availability components to function properly.
Additionally, backup and restoration were not straightforward with traditional message brokers like NATS.io or RabbitMQ. It's difficult to back up and restore these systems—or at least, I couldn't find a reliable way to do it.
That's why I developed KanthorQ. Now, I have a message broker where data is stored in a database, making it easy to browse, analyze, back up, and restore.
There is no returning for insert/update/delete what forces me do a second query to get new data. Why dont just return what I have updated? Because it is some thing like: UPDATE wallets SET balance = balance + 1
I have to give up json function because its hard to work with it on mysql. Have to do the aggregation in my code instead
No uuid v4 support by default
I have an important fix that need to be deployed right now but there is no way to deploy it in a normal way with our CI which one was setup with Github Action. Fortunately I have a instruction to bypass CI and build the source by myself.
But again, Github defeat me because our release workflows are depend on GitOps which are effected by Github issue. Ahhhhhhhhhh I have to build the docker image, push it to ECR then update a YAML template to make EKS apply the new changes
It's 9PM in my timezone and I'm waiting for my patches are up. A frustrating incident
Thank you so much for your comment.
I am also curious about your motivation to work on a project for an extended period of time, such as five years. While I have found excitement and fulfillment in completing the core functions of a project, I have also experienced burnout in continuing to work on it. So, I would like to know what keeps you motivated throughout the long haul of a project.
1. Does the retry function work based on the logic that the same input will always return the same output, even if the code uses non-deterministic methods like "new Date()" or "Math.random"? If not, your retry logic may produce unpredictable results and therefore not be safe.
2. According to the article "How Defer Works" (https://docs.defer.run/platform/how-defer-works/), you will be running our code on your platform. How do you ensure the protection of sensitive data during the execution process? For example, how will you prevent access tokens or user/password information for the database from showing up in logs due to exceptions or bad configurations?