←
this page is only for raw notes of things that i find interesting.
pydoll scraping with captcha bypass
probably worth because of headless chromium and better bypass pydoll
siyuan - notion alternative
ini menarik, soalnya gak ada microservice tambahan kek db atau redis. tapi keknya cuman bisa satu - dua user doang. but it works to be an alternative to notion link
build-bot
this is a ci pipeline, that has master-worker configuration, pretty independent without having get too “attached” to the git web, just pinpoint the source, then it’ll set a webhook i guess?
buildbot

meerschaum tui-pipeline
this guy has a tui pipeline with so many connectors, masih harus pake yaml buat define arah pipeline nya.
tiap etl nya adalah pipe, dalam pipe punya banyak plugin, beberapa plugin punya connector.

tapi yang bikin bete cuman tiap plugin harus punya yaml???

kinda interesting probably will try this weekend (paling janji doang)
look mom wifi7 is here
hah, not much of a throughput upgrade just much more stability on a certain distance (greater that wifi6ax tho)
deepface
face similarity stuff. kinda funny.

fast-html
ah yes another html framework, but this is unique cause it’s python?? fasthtml sepertinya bagus buat custom ai agent kalo mau cepet bikin sesuatu tanpa terbeban dari streamlit?
nvim setup?
install neovim
install ripgrep
install vim plug di neovim
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
vimrc ~/.config/nvim/init.vim
" Plugins will be downloaded under the specified directory.
call plug#begin('~/.local/share/nvim/site/plugged')
" Declare the list of plugins.
Plug 'vim-airline/vim-airline'
" Visual Settings
Plug 'junegunn/goyo.vim'
Plug 'junegunn/limelight.vim'
" Color theme plugins
Plug 'joshdick/onedark.vim'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
" List ends here. Plugins become visible to Vim after this call.
call plug#end()
"""""""""""""""""""""""""""""""""""""""""""""""""
" Color Settings
"""""""""""""""""""""""""""""""""""""""""""""""""
syntax on
colorscheme onedark
"""""""""""""""""""""""""""""""""""""""""""""""""
" Visual Settings
"""""""""""""""""""""""""""""""""""""""""""""""""
" For Goyo
" let g:goyo_width=150
" For LimeLight
" Color name (:help cterm-colors) or ANSI code
let g:limelight_conceal_ctermfg = 'gray'
let g:limelight_conceal_ctermfg = 240
" Color name (:help gui-colors) or RGB color
let g:limelight_conceal_guifg = 'DarkGray'
let g:limelight_conceal_guifg = '#777777'
" highlight line
let g:limelight_bop = '^.*$'
" let g:limelight_eop = '\n'
let g:limelight_paragraph_span = 0
"""""""""""""""""""""""""""""""""""""""""""""""""
" UI Settings
"""""""""""""""""""""""""""""""""""""""""""""""""
" Keep cursor in the middle of the page, useful for editing text
set so=999
" Turn limelight on by default
" autocmd VimEnter * Limelight
" Turn Goyo on by default
autocmd VimEnter * Goyo
" autocmd VimEnter * AirlineToggle
" In Goyo, if airline is turned on, do nto show scratch area
" autocmd! User GoyoEnter nested set eventignore=FocusGained
" autocmd! User GoyoLeave nested set eventignore=
" " Find files using Telescope command-line sugar.
" Map ctrl-p to FZF
silent! nmap <C-P> :Files<CR>
silent! nmap <C-G> :GFiles<CR>
silent! nmap <C-F> :Rg!
postgres replication
https://narasimmantech.com/setting-up-postgresql-streaming-replication-for-high-availability-and-backup/ atau bisa pake makefile yang disini
n0:
docker run -t -d --name n0 --hostname n0 -v /home/yan/images/pgpool/scripts:/scripts/ --network pg-network debian
n1:
docker run -t -d --name n1 --hostname n1 -v /home/yan/images/pgpool/scripts:/scripts/ --network pg-network debian
jangna lupa bikin network nya biar pake fqdn aja
setelah selesai service nya bisa nyala
edit pg_hba.conf
biar accepting dari semua node yang diperlukan sama jangan lupa tambahin level user nya sekalian (repuser)
edit postgresql.conf
master
listening_address=’*' max_wal_senders = 10 wal_level = replica wal_log_hints = on #wal_keep_segments = 10 wal_receiver_status_interval = 5s hot_standby_feedback = on hot_standby = on primary_slot_name=‘main’ primary_conninfo = ‘host=n0 port=5432 user=repuser’ recovery_target_timeline = ’latest'
slave
listen_addresses = ‘’ max_wal_senders = 10 wal_keep_size = 32 wal_level = replica wal_log_hints = on #wal_keep_segments = 10 wal_receiver_status_interval = 5s hot_standby_feedback = on synchronous_commit = remote_apply synchronous_standby_names = ‘’ recovery_target_timeline = ’latest' port=5432 #archive_cleanup_command = ‘pg_archivecleanup /home/caryh/streaming-replication/archivedir %r’ #restore_command = ‘cp /home/caryh/streaming-replication/archivedir/%f %p’ primary_slot_name = ‘main’ primary_conninfo = ‘host=n1 port=5432 user=repuser’
catatan penting: wal_log_hints harus ada soalnya nanti bakal problem ketika di rewind
pg_basebackup pada standby node
copy config pada master ke standby (slave node) pg_basebackup -R -h n0 -U repuser -D /var/lib/postgresql/14/main -P
setelah selesai verify replication status dengan command di bawah
promote standby jadi master, dan matikan master yang lama (n0)
n0 -> pg_ctlcluster 14 main promote
main -> ini adalah nama primary slot name nya
n1 -> service postgresql stop
sidenote: kalau n1 nya masih nyala, nanti bakal ada dua postgres yagn saling nyala independen terhadap satu sama lain
sidenote2: semisal lu update apapun di n0, nanti bakal di sync lagi ketika n1 sudah jadi slave nya n0
sidenote3: kalo lu update di n1, bakal ke delete karena tereplace dengan timeline new master (n0)
update postgresql.conf pada old master (n0)
recovery_target_timeline = ’latest' primary_slot_name = ‘main’ primary_conninfo = ‘user=postgres host=n1 port=5432’
standby.signal pada n0
di pg14 recovery.conf udah dimerge sama postgresql.conf jadi hanya perlu bikin file
touch /var/lib/postgresql/14/main/standby.signal
rewind / sync n0 ke n1 (old master ke new master)
pg_rewind --target-pgdata=/var/lib/postgresql/14/main --source-server="host=n1 port=5432 user=postgres" --progress
start n0
congrats. you just switchover a new standby.
jagnan lupa cek streaming nya dengan create / insert data baru
jangan lupa cek replikasinya
psql -c "select usename, application_name, client_addr, state, sync_priority, sync_state from pg_stat_replication;"
bikin physical replication slot pada n1 (new master)
ini biasanya otomatis kalo di postgresql.conf nya ada key primary_replication_slot
select * from pg_create_physical_replication_slot('main');
buat cek :
elect * from pg_replication_slots;
cheatsheets
checking replication status
psql -c "select usename, application_name, client_addr, state, sync_priority, sync_state from pg_stat_replication;"
dba dari penjara wkwkwk
added on: 2025-06-17 00:50:45.555609
golongan darah terjarang
yang gue tau golongan darah ab rhesus negatif itu paling langka, ternyata masih yang lebih langka seperti golong darah tanpa rhesus (fix anemia dan bekas incest wkwk) golongan darah P (gak punya antigen yang menetukan dia A atau B)
added on: 2025-06-17 00:54:30.573420
added on: 2025-06-20T00:34:19+07:00
test
added on: 2025-06-21T20:25:18+07:00
https://kumo.ai/research/time-series-forecasting/ forecasting pake transformer. ribet sih karena harus di encode data training nya
added on: 2025-06-21T20:25:44+07:00
tutorial makefile
sepertin ini bakal banyak dipake apalagi untuk orang2 yang gak tau pake ci/cd
added on: 2025-06-21T21:33:20+07:00
https://sqlmesh.readthedocs.io/en/stable/
added on: 2025-07-14T20:00:19+07:00
Apa yang harusnya kalo ada yang minjem terus jaminannya sertifikat rumah?
- Buat perjanjian tertulis (hitam di atas putih)
- Gunakan notaris
- Buat Akta Pemberian Hak Tanggungan (APHT)
- Daftarkan ke BPN agar jadi hak tanggungan resmi
Tanpa itu semua, “jaminan rumah” hanya jadi janji kosong.
added on: 2025-07-15T23:43:36+07:00
https://jaehyeon.me/blog/2025-05-06-streamhouse-trio/ something to write about i guess
added on: 2025-07-21T03:33:58+07:00