Dima Fatko πŸ‡ΊπŸ‡¦ (@fatkodima) header
Dima Fatko πŸ‡ΊπŸ‡¦ (@fatkodima) profile picture

Backend, architecture, ruby, linux, databases. Love to investigate low-level things. Wannabe @github, @gitlab or @Shopify

Ukraine
Joined November 2013
Can't stop wondering how a person with Down syndrome was able to get so much money and, as a result, influence?
Replying to @skscartoon
The endless slaughter of Ukrainian and Russians must stop. We should some sympathy for the poor Russian conscripts too. Those kids have no choice but to fight and die in drone strikes.
101
Dima Fatko πŸ‡ΊπŸ‡¦ retweeted
Yes, we're aware
42
371
19
5,733
265,426
The next simplecov version will include a new coverage mode - github.com/simplecov-ruby/si…. If you use code coverage on CI, you might see a big performance boost, as we had. Our CI runtime dropped from 15 minutes to 10 with this simple change 😱.
2
10
724
Got the first million downloads for one of my gems! πŸŽ‰ It was my first gem, and it became the most used.
1
1
28
1,450
If you use CircleCI, make sure to use blobless checkout. It reduced our checkout step from 1 minute to 20 seconds!πŸš€And it is used in quite a lot of places.
1
7
1,711
Created a new gem to lazily load specified Active Record columns - github.com/fatkodima/activer… This can greatly reduce IO πŸ“‰ and improve queries (and application's) performance πŸ“ˆif you have some large db columns that are not used most of the time.
6
5
98
6,564
We had the same problem, so I created a new gem that allows to add deadlines to ignored columns, and this won't happen again - github.com/fatkodima/smart_i…
The things that make a difference at scale are so wild. Using ignored_columns in Rails results in SQL queries that list each column to be read, versus just "SELECT *". For tables with many columns, this meant we were sending ~20 TB of extra text to the database per day.
3
2
37
4,135
Dima Fatko πŸ‡ΊπŸ‡¦ retweeted
The next Rails version will have an optimization to enqueue many emails at once github.com/rails/rails/pull/… (if the active job adapter supports bulk enqueuing, like sidekiq). Very useful for batch operations and can greatly reduce the number of round-trips to the queue datastore.
3
32
1,934
The next Rails version will have an optimization to enqueue many emails at once github.com/rails/rails/pull/… (if the active job adapter supports bulk enqueuing, like sidekiq). Very useful for batch operations and can greatly reduce the number of round-trips to the queue datastore.
3
32
1,934
Just yesterday it helped me again to identify exact places of performance problems in a long running job 🫰. APM and other tools were useless. Found exact places of N+1s, lines that load too many records, most popular SQL queries, redundant queries, etc. Highly recommend!
Presenting a new gem for tracing Active Record, I wish existed earlier πŸ˜† github.com/fatkodima/active_… Many times I crafted code to get similar reports like in the gem - to profile slow tests, rake tasks, jobs, find the most popular queries etc. I hope you will find it useful too.
5
645
Very happy about this change to rubocop github.com/rubocop/rubocop/p… Very often I see people use the `&.` operator without giving much thought. That change does a deeper analysis of the code and will help to reduce unneeded `&.`, making code nicer. I found 250 such cases in my app.
1
2
15
752
This is probably more costly than changing programming languages, because of existing users, but are there examples where people migrated from GraphQL back to REST API? Or wish to do the migration? What is your experience with GraphQL so far as an implementer and/or a user?
3
2
813
It is scary when idiots like musk have so much power and influence. In ideal world, such people must be isolated from society. Or, more likely, he writes such statements purposefully. Sorry, I hate tweeting about politics, but having this idiot on our planet is too much.
Ukraine needs to hold an election. Zelensky would lose by a landslide.
15
1,319
Sometimes a picture says all…
8
11,219
192
61,114
1,216,733
Does anyone use bg data migrations from my online_migrations gem? Do you find it useful, useless for your use case? Please respond here or in github issues or DM. After testing on a large project, I realised there are some significant flaws in it and going to reimplement it. /1
3
1
1
867
Is it reasonable to require sidekiq as a dependency for this to work? Or active job? What other tools for large data migrations people use and find useful?
2
1
283
Instead of one style of writing blocks, there are now 2. While reading the code, instead of descriptive names, you now need to remember what this meaningless 'it' refers to each time. While this might work for trivial cases, it will be abused for chained calls and be a hell.
Happy Friday! Can't wait to see the comments on this little nugget...
13
45
6,742
The future Rails 8.1 will help solve a popular problem many teams have - constant merge conflicts in the structure.sql file at the head of the versions list. You need to provide a custom formatter. If sorting by, e.g., hashes of versions, the conflicts now will be very rare.
3
7
64
4,151