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

link gan

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?

  1. Buat perjanjian tertulis (hitam di atas putih)
  2. Gunakan notaris
  3. Buat Akta Pemberian Hak Tanggungan (APHT)
  4. 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