I’ve just woke up and somehow I remember that when I created taboo to trace the error log. And then I think, would it be better if I pass the logger instead of the error log itself?
As the context passed, it will contain a sub-logger that has
x-request-id inside it. It'll trace all the requested event from HTTP Handler to the most corner of the function.
I don’t know if this gonna be good because I wrote this immediately right after I woke up. This might be not optimized or perhaps an anti-pattern. …
When we talk about crypto-something, we need to talk about Alice and Bob acting as actors in the example section. I hope you don’t get bored with them as I will use them as examples too. Here, Alice and Bob will use RSA for the asymmetric key, SHA256 for hash function, OAEP for encrypt/decrypt, PSS for sign/verify, and Base64 for the encoding.
Alice wants to send Bob an important message securely and Alice doesn’t want anybody to read that message except Bob. It might be a love confession, a nuclear code, or perhaps just private spam. Due to their close…
On one of the episodes of positif.dev, Devin and I discussed what is work-life balance. I described work-life balance as happiness that hard to achieve since we need to separate both our work and life, time and environment where we don’t need to think about work after work-hour.
So far I have had a work-life balance in terms of work, but personally, I sometimes have problems with my habit of working outside working hours when I’m in the zone. Devin said it is quite difficult not to think about work outside of working hours when the work itself is almost…
This blog is the result of my learning journey about a static-site generator made on top of Jekyll. The design is kinda bad due to my lacked sense of design. To avoid creating a whole trash blog, I tried to ask my friends to give me feedback about the design a bit.
I have tried using the provided theme like Minima but, I just don’t like it after all. That’s why I think it’s better to create my own. I tried to create the simplest design as long as it is easy to be read. I used Coolors, Google Font…
I created this module for Golang to help me with error handling. This idea showed when a colleague of mine was thinking to pass
context from handler to service, to repository to trace the error log more verbose. I disagreed with him because I thought that's not what
context is for. Perhaps I was wrong or he was wrong, or maybe both of us wrong because this is our first Golang project that deployed on production.
Despite our opinion about
context, we both agreed that Golang's error handling is too verbose and bulky. It makes us read more error handling…
Sorted sets, similar to Sets but where every string element is associated to a floating number value, called score. The elements are always taken sorted by their score, so unlike Sets it is possible to retrieve a range of elements (for example you may ask: give me the top 10, or the bottom 10).
What they didn’t say about
sorted sets is the expiration of
sets members can't be defined, at least until…
In my first post, I said that:
Perhaps I’m gonna try to integrate this blog using Webmention and Web Monetization after getting a bunch of visitors, but I’m gonna save it for later.
Though my blog visitors still not that much, I integrated
Web Monetization yesterday. I'm still exploring
Webmention due to a lack of resources, so I'm going to make another post featuring Webmention. So for now, let's talk about
This post is not tech-related as I always write, but I thought I better write this one.
I think we all agree that this pandemic scrapes away our mental health gradually, or at least what it does to me. Though I am working from home, it’s quite worse than working at the office except for the health concern.
I wake up every morning, get shits done, code, eat, research, read documentation, meetings, and back to sleep in the same room. Yep, just like an inmate with a good job in jail.
I even subscribe to Netflix and Disney+ expecting they…
Today I learn about publish/subscribe system for services integration and I want to share it with you.
Publish/Subscribe is a software pattern for integration among services where the message publisher (producer or sender) is not directly connected to the subscriber (consumer or receiver). Unlike REST that integrating sender to the receiver directly, this pattern will need a message broker application like Kafka, Rabbit MQ, GCP Pub/Sub, etc to storing a message.
This pattern has many advantages especially for Event-Driven Architecture. This pattern will give you loose coupling between services but high dependency on a message broker. Publish/Subscribe will help you…
Today I learn how to set up a centralized logging environment using Elasticsearch, Fluent Bit, and Kibana with docker-compose, and I want to share with you.
In this blog post I use elasticsearch:7.6.2, kibana:7.6.2, and fluent-bit:1.4.3 image. I use fluent-bit instead of fluentd due to this comparison, and I think fluent bit is enough for development You can change the fluent-bit to fluentd, their configs are similar but you need to adjust it a bit. This blog post will cover a minimum requirement to run this EFK Stack, and of course I will share the references how to build the…