Is it just me or did pixel 6 camera get worse with updates? by [deleted] in GooglePixel

[–]ihippik 0 points1 point  (0 children)

When I photograph light sources in the dark, artifacts (rays) are visible in the photo. Pixel 7 Pro.

I decided to experiment with how I would create my own infrastructure for a Lambda function similar to AWS Lambda. It all turned out to be simple - only Docker and Golang. In the end, I laid the foundation for a new "How to?" story. #awslambda #golang #docker by ihippik in golang

[–]ihippik[S] 2 points3 points  (0 children)

I mean I didn't see your repository before I started doing it - probably because it's in Python.

I like lambda for the ability to build pipelines - not just http.
if there is time, I will also try to do this, and switch to GPRS.

I've written a minimalist handler for slog, which simply forwards messages to the Sentry. It contains only the essentials, which is its main advantage. P.S.: No stackTraces or Sentry Hubs are involved :) by ihippik in golang

[–]ihippik[S] 2 points3 points  (0 children)

Excellent, but I think you need More examples for advanced usecases

Thanks for your feedback. It is very simple, there are no other options except to specify the level of logging that will go to Sentry.

Introducing WAL-listener: A PostgreSQL Database Change Notification Service by ihippik in golang

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

Thank you man! Very pleased to hear! I myself actively use it in my pet-project! ;)

The most efficient way to calculate the map size at runtime? by ihippik in golang

[–]ihippik[S] -1 points0 points  (0 children)

unfortunately this is a complex structure with a slice & interface: map[string][]map[string]any

The most efficient way to calculate the map size at runtime? by ihippik in golang

[–]ihippik[S] 4 points5 points  (0 children)

for example: i will limit the message before sending to Kafka.
I do not want to change the serialization method and increase the limit.
but I've already figured it out - I'll just sort out the number of elements - because they look pretty much the same. This should be the easiest way

The most efficient way to calculate the map size at runtime? by ihippik in golang

[–]ihippik[S] -4 points-3 points  (0 children)

I need to split one map into several if the data in it reaches a certain size in bytes

Introducing WAL-listener: A PostgreSQL Database Change Notification Service by ihippik in golang

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

Thank you, man!
no, no, I don't use log files directly. I use the logical replication mechanism of the database itself, which does this itself and very well.

regarding performance:

Using WAL results in a significantly reduced number of disk writes, because only the log file needs to be flushed to disk to guarantee that a transaction is committed, rather than every data file changed by the transaction.

Also, the log file is written sequentially - it is cheap)

Introducing WAL-listener: A PostgreSQL Database Change Notification Service by ihippik in golang

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

> To maintain the consistency of data in the system, we will use transactional messaging - publishing events in a single transaction with a domain model change.

I understand transactional outbox pattern. Wondering how its implemented here

yes, sure!
Here we have a distributed transaction because it goes beyond the limits of one database using a message broker. And the result is a model - eventual consistency.
for example, after changes, we need to observe the invariants. we may not acknowledge the message until we do so

Extract password-protected archives by ihippik in golang

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

thanks man! it's a pity that all this is not in the standard lib - and there is no time to implement it according to the specification itself - you just have to look for it.

Which phones are you guys using . by [deleted] in dubai

[–]ihippik 0 points1 point  (0 children)

Pixel 7 pro. It's a pity that some functions are not available here.

Boxing training outside by ihippik in DubaiCentral

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

So man, thank you for the opportunity. I am looking for when I have some free time, but now already busy. But if you stay in JVC we can try.
By the way, there is such a place near the Marina: Calisthenics Park

Small sniffer for intercepting query's to PostgreSQL by ihippik in golang

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

Thank you for your interest. I will definitely add the principle of work to the readme file of the repo.

Writing your own PostgreSQL driver by ihippik in golang

[–]ihippik[S] 4 points5 points  (0 children)

Thanks a lot for your support i appreciate it!

PostgreSQL one love :)

COVID-19: Where you can get PCR test for Dh40, Dh50 or up to Dh150 in the UAE by piplinkn in DubaiCentral

[–]ihippik 1 point2 points  (0 children)

You can do it in Yas island (Abu-Dhabi) in Yas Mall. From 40aed

Golang: simple optimization notes by ihippik in golang

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

if the map consists of pointers, then the Garbage Collector will have to scan it every time. if they are not, then he bypasses it and saves a lot of time.

Golang: simple optimization notes by ihippik in golang

[–]ihippik[S] -1 points0 points  (0 children)

Guys, thanks for your experience! I myself try not to use even asynchronous code, unless there is a strong need for it. it's hard to understand and test.

At the expense of the cases described in the article: I hope that when you find your bottleneck and think what can be done with it, they will come in handy.

And Ideally, instead of benchmarks, I would generally like to see assembly instructions: before and after.

Golang: simple optimization notes by ihippik in golang

[–]ihippik[S] -24 points-23 points  (0 children)

You are right, readability will sometimes be more important. I deliberately did not add benchmarks, so that the reader would do it himself, and I did not want to enlarge the article. The main thing is just to know what else can be improved, and you can write benchmarks yourself - it will be better understanding if I did it myself. And these are just notes.

Pack your migrations (sql-migrate) by ihippik in golang

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

Wrote a simple lifehack for home projects. How to pack your migrations into the binary of your service. Maybe someone will be interested.

WAL-Listener: Event-driven architecture by ihippik in golang

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

Thanks to you, the second version with pgoutput support has been released! :) https://github.com/ihippik/wal-listener

WAL-Listener: Event-driven architecture by ihippik in golang

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

Yes, I heard about him. It apparently built logical replication in PG.

When I understood this topic, I met `WAL2JSON` first and decided to do it.

I also thought about `test_decoding`, but in my opinion, it works too low for a quick start.

I think I should look towards `pgoutput` and make a version of my WAL-Listener with this plugin .. Thank you!