Skip to content

Instantly share code, notes, and snippets.

View keymastervn's full-sized avatar
🥐
salted egg yolk croissant

Dat Le-Tien keymastervn

🥐
salted egg yolk croissant
  • Employment Hero
  • HCMC, Vietnam
  • 14:26 (UTC +07:00)
View GitHub Profile
@keymastervn
keymastervn / bm_oj_vs_json.rb
Created April 8, 2026 14:55
Have done it for 10 years, but sadly people trust numbers
# frozen_string_literal: true
require 'benchmark/ips'
require 'benchmark/memory'
require 'json'
require 'oj'
require 'active_support/core_ext/hash/keys'
RESPONSE_BODY = '{"data":{"id":"3a7f2c91-bb04-4d1e-a823-5f9e0c2d7b16","job_id":"c84d1057-3e29-4f8a-b162-7a0e5c9f3d28","result":"completed","hiring_phase":{"id":"e2b74f3d-1a5c-4e89-97f6-8d3c0b2e6a41","name":"shortlisted","ai_process_cv":true,"order":2,"colour":"#4CAF50","is_final":false},"applied_job_title":"Senior Software Engineer","applied_first_name":"Randomized and Obfuscated","applied_last_name":"By AI","cover_letter":"I am excited to apply for this role and believe my background in distributed systems makes me a strong candidate. Over the past eight years I have led teams across three continents and shipped products used by millions of users daily.","source_name":"LinkedIn","submitted_at":"2026-03-15T09:22:11Z","country_code":"GB","vendor_location_id":"loc-992","vendor_location_name":"London, United Kingdom","vendor_location_uuid":"a1c3e5g7-i9k1-m3o5-
@keymastervn
keymastervn / missed_runtime_test.rb
Created March 31, 2026 17:24
Investigate missing parallel runtime log
#!/usr/bin/env ruby
# Usage: ruby show_missed_runtime_tests.rb [runtime_log] [spec_dir]
#
# Defaults:
# runtime_log = tmp/parallel_runtime_rspec.log
# spec_dir = spec
runtime_log = ARGV[0] || 'tmp/parallel_runtime_rspec.log' #'tmp/previous-rspec/parallel-runtime-rspec.log'
spec_dir = ARGV[1] || 'spec'
require 'benchmark'
require 'ostruct'
## OpenStruct inline
# cars = []
# time = Benchmark.measure do
# 250_000.times do
# car = OpenStruct.new
# car.wheel = 4
# car.mileage = rand((1..100_000))
@keymastervn
keymastervn / index.js
Created April 6, 2024 04:57
[slate-html-serializer] Slate 0.47 html->slate deserializer playground
// https://github.com/ianstormtaylor/slate/blob/a0b7976cb9a2812d8d96361e9993fe8853a2cc64/packages/slate-html-serializer/src/index.js
const jsdom = require("jsdom")
const { JSDOM } = jsdom
// global.DOMParser = new JSDOM().window.DOMParser
const Html = require('slate-html-serializer').default;
var input = `
<body>
@keymastervn
keymastervn / alias_matchers.md
Created December 12, 2023 13:05 — forked from JunichiIto/alias_matchers.md
List of alias matchers in RSpec 3

This list is based on aliases_spec.rb.

You can see also Module: RSpec::Matchers API.

matcher aliased to description
a_truthy_value be_truthy a truthy value
a_falsey_value be_falsey a falsey value
be_falsy be_falsey be falsy
a_falsy_value be_falsey a falsy value
@keymastervn
keymastervn / cleansidekiq-unique-jobs.rb
Last active November 30, 2023 04:25
Clean up sidekiq uniq jobs
# https://github.com/mhenrixon/sidekiq-unique-jobs/blob/v6.x/lib/sidekiq_unique_jobs/util.rb#L8
SidekiqUniqueJobs::Util.keys("uniquejobs:*")
SidekiqUniqueJobs::Util.keys_with_ttl("uniquejobs:*")
{
"uniquejobs:5165cb935c16788b6fd647966e255de2:GRABBED" => 586407,
"uniquejobs:5165cb935c16788b6fd647966e255de2:EXISTS" => 586407,
"uniquejobs:344892e038f09a5535bb5ed5971a4a16:GRABBED" => 599625,
"uniquejobs:344892e038f09a5535bb5ed5971a4a16:EXISTS" => 599625
}
@keymastervn
keymastervn / bm__JSON.parse_HWIA_deep_symbolize_keys_symbolized_name.rb
Last active April 28, 2023 08:25
bm__JSON.parse_HWIA_deep_symbolize_keys_symbolized_name
# frozen_string_literal: true
require 'benchmark/ips'
require 'benchmark/memory'
require 'active_support/all'
TIMES = 50_000
HASH = {
"colour" => "red",
@keymastervn
keymastervn / bm__redis_hiredis.rb
Last active April 14, 2022 10:21 — forked from jgaskins/benchmark.rb
Benchmarking redis gem vs hiredis
require 'bundler/inline'
gemfile true do
source 'https://rubygems.org'
gem 'redis'
gem 'hiredis'
gem 'benchmark-ips'
end
require 'benchmark'
require 'benchmark/ips'
Benchmark.ips do |b|
hash = {
:type => "Employee",
:first_name => "Mr First",
:last_name => "Last Name",
:account_email => "[email protected]",
:employing_entity => "XXX Property Services Pty Ltd",
:employee_code => nil,
@keymastervn
keymastervn / bm_ar_find_in_batches_strategy.rb
Created February 22, 2022 08:08
benchmark activerecord mem / ips find_in_batches
require 'benchmark'
require 'benchmark/ips'
require 'benchmark/memory'
def select
Member.select(:id).find_in_batches(batch_size: 10) do |ids|
puts ids.map(&:id).join(',')
end
end