20 subscribers
90 photos
33 videos
27 files
176 links
Download Telegram
Saw a very cool tool on GitHub called PortKiller. It’s a powerful cross-platform port management app for developers, with a native UI on macOS, Windows, and Linux.

What makes it fun is that it goes beyond just listing ports. It auto-discovers all listening TCP ports, lets you kill processes with one click, supports search and filtering, favorites, watched ports with notifications, and smart categorization for common dev services.

It also covers real workflows: managing kubectl port-forward sessions with auto-reconnect, logs, and connect or disconnect notifications, plus visibility into active Cloudflare Tunnel connections.

brew install –cask productdevbook/tap/portkiller.



https://github.com/productdevbook/port-killer
Forwarded from Otabek’s I/O
#experience

Dropbox Dash jamoasi bilan 4 oy ishladim (Tour of Duty). Va RAG haqida va uni katta masshtabda yuritish (running at scale) haqida juda ko'p o'rgandim.

Agar RAG qurayotgan bo'lsangiz va write/read amallari soni juda ko'p bo'lsa siz qurayotgan RAG katta ehtimollik bilan kengaya olmaydi va juda ko'p alaqsiraydi (hallucination). Vector database kichik bo'lsa kNN qidiruvi ishlashi mumkin. Agar ma'lumot bo'laklar hajmi 80k-100k dan oshsa juda katta kechikish (latency) sodir bo'ladi. Sababi so'rov (query) va har bir vector o'rtasidagi masofani xisoblash qimmatlashib va og'irlashib ketadi.

Buni qanday yechish mumkin? kNN o'rniga ANN algoritmlaridan foydalanish kerak, misol uchun HNSW (Hierarchical navigable small world) indekslari. Eng katta trade off, 100% to'g'ri ma'lumot emas, balkim 99.5% - 99.9% foiz aniqlikda ma'lumotlarni topa olasiz. Xisoblash (Computing) hali ham qimmat xisoblanadi garchi ba'zilar buni hozir amal qilmaydigan ta'rif deyishsada. Agar ana katta kompaniyalar aytishayabdi desangiz, Cloud narxi nega tushmayabdi? Xullas tushundingiz menimcha.

PDF kabi xujjatlarni qanday qilib saqlaydi va ulardan qanday ma'lumot qidiradi deysizmi? Bu yerda ham shunday trade off qilinadi. Vector Quantization ya'ni rasmlarni sifatini tushurish degani, compression. High-precision floating point raqamlar saqlashdan ko'ra, ularni round qilib saqlaysiz simple cluster'larga.

Ba'zan alaqsirashga (hallucination) sabab "The Context Window Paradox" bo'ladi va uni "Lost in the Middle" muammosi deb ataymiz. Ya'ni "promptda ko'proq ma'lumot bersang, yaxshiroq natija olasan" degan gaplar noto'g'ri. Buni ko'pincha Attention modellar qanday ishlashini bilmaydiganlar aytadi. Chunki bu model diqqatini (attention) buzadi. Ya'ni prompt o'rtasiga borib model ma'lumotni yo'qotadi. Buning uchun "Re-ranking layer" yechimlari mavjud. Xullas LLMga berishdan oldin, vector db dan olingan ma'lumot bo'laklarni (chunk) cross-encoder'ga berasiz va re-rank qilingan top 3-5 tasini yuborasiz LLMga.

Bizda ham RAG qurayotganlar ko'payabdi, balkim foydasi tegar : )
1
🪐 Bugun AI/IT’da eng “viral” trend: kod yozishni emas, kodni boshqarishni avtomatlashtirish (agentlar + workflow). Ya’ni ChatGPT/Claude/Codex faqat snippet berib qo‘ymaydi — repo’ni ochadi, test yozadi, PR tayyorlaydi, hatto monitoring/loglardan muammo topib, fix taklif qiladi. Menimcha, “AI koderni almashtiradi” degan gaplar biroz shov-shuv: asl yutadiganlar — AI’ni jarayoniga qo‘shib, tezroq yetkazib beradigan (delivery) dasturchilar. Tezlikning o‘zi emas, nazorat va sifat ustun bo‘ladi.

Amaliy qadam: bugun bitta kichik task tanlang (masalan, API endpoint’ga validation + test qo‘shish) va AI’dan “reja → patch → test → PR tavsifi” formatida so‘rang. Keyin siz faqat review qiling: xavfsizlik, edge-case, naming, logika. 1-2 soatda natijani solishtirib ko‘ring — qaysi bosqichda AI foydali, qaysi joyda albatta inson kerakligini aniq ko‘rasiz.
🪐 Bugun AI atrofida eng ko‘p ko‘rayotgan xato: “model tanladim” deb o‘ylab, ish tugadi deb sanash.

Builder uchun haqiqiy ish — model emas, tizim.

Agar sizda quyidagilar yo‘q bo‘lsa, eng zo‘r model ham foydasiz:

• aniq input/output kontrakt (format, limit, misol)
loglar (nima keldi, nima chiqdi, qayerda yiqildi)
fallback (model ishonchsiz bo‘lsa nima qilamiz?)
eval (har release’da 20 ta real case bilan tekshiruv)
cost/latency budjet (pul va vaqt ham feature)

AI’ni “sehr” deb emas, “infratuzilma” deb quring. Infratuzilma esa har doim: o‘lchanadi, kuzatiladi, va nazorat qilinadi.
🪐 Bugun builder/operator signali: “AI agent”lardan ko‘ra, kuzatuvchanlik va standartlar ko‘proq foyda beradi. Prod’da 3 ta narsani odat qiling: 1) har servisga SLO + alert (kechikish/5xx/queue) 2) har deployga “rollback 1 tugma” 3) loglar strukturali: request_id, user_id, trace_id. Shunda AI ham, odam ham muammoni 10x tez topadi. Eng zo‘ri: bular yangi tool emas — intizom.
🪐 Operatsion signal: “AI”dan ko‘ra “AI infratuzilmasi” qimmatlashyapti. Modelni chaqirish oson, lekin prod’da xarajat va kechikish (latency) sizni yutadi.

Amaliy checklist:

• Har endpoint uchun SLO: p95/p99, timeout, retry budget.
• Cache: prompt+context hash, “hot” javoblar uchun TTL.
• Observability: token/so‘rov narxi, rate limit, fallback ishlaganini log qil.
• Vendor lock-in’ni kamaytir: model adapter, feature-flag, A/B.

Bugun 1 soat ajrating: eng ko‘p trafik endpointga shu 4 qatlamni qo‘ying — “AI feature” darhol barqarorlashadi.
🪐 Oxirgi oylar menga bitta kuchli signalni yana tasdiqladi: “AI bor” degan gap endi afzallik emas. Haqiqiy afzallik — AI’ni mahsulotga qanday integratsiya qilayotganingizda.

Ko‘p jamoalar bir xil xatoga tushyapti: model tanlaydi, prompt yozadi, demo qiladi — lekin foydalanuvchi hayotida deyarli hech narsa o‘zgarmaydi. Amalda esa yutayotganlar boshqacha fikrlayapti: AI — feature emas, balki ish jarayonining (workflow) bir qismi.

### Men amalda ko‘rgan “builder” signallari

Qo‘l mehnatini kamaytiradigan joyga zarba berish: 10% “wow” effekti emas, 50% vaqt tejalishi bo‘lsa, foydalanuvchi qaytib keladi.
Kichik va aniq agentlar: “Hammasini qiladigan bot” emas. Bitta vazifa: masalan, *support ticket’ni triage qilish + javob draft tayyorlash*.
Human-in-the-loop dizayni: tekshirish nuqtalari bo‘lmasa, AI faqat xatolarni tezlashtiradi.
Observability: loglar, trace, prompt va versiya nazorati. Agar “nega bunday javob berdi?” degan savolga 2 daqiqada javob topsangiz, mahsulot tez o‘sadi.
Narx va latency real bo‘lishi kerak: eng zo‘r model emas, ko‘pincha eng arzon va yetarli model yutadi.

### Qisqa takeaways

• AI qo‘shishdan oldin: foydalanuvchi bugun nimaga 30 daqiqa yo‘qotyapti? — shuni toping.
• “Model”dan ko‘ra **workflow**ni chizing: *kirish → tekshiruv → natija → qayta aloqa*.
• Sifatni “his” bilan emas, metrikalar bilan o‘lchang: vaqt tejalishi, xato foizi, retention.

### 7 kunlik amaliy reja (oddiy, lekin ishlaydi)

1. 10 ta real user jarayonini yozib chiqing (qog‘ozda bo‘lsa ham bo‘ladi).
2. Eng ko‘p takrorlanadigan bitta ishni tanlang.
3. Shu ish uchun minimal AI assist qiling (draft, suggest, summarize).
4. Review checkpoint qo‘ying (tasdiqlash yoki inkor).
5. Log + feedback tugmasi qo‘shing (“foydali/foydasiz” + sabab).
6. 3 xil model bilan A/B test qiling (tezlik va narxni solishtirib).
7. Natija bo‘lmasa — AI’ni emas, jarayonni qayta dizayn qiling.

Menga yoqadigan qoida: AI’ni “aqlli” qilishdan oldin, mahsulotni “aniq” qiling.
🪐 So‘nggi oyda bitta narsani aniq sezdim: “AI hammasini qiladi” degan gap ko‘p joyda loyihani sekinlashtiradi. Amaliyotda esa yutqazayotganlar — modellarga emas, tizimga e’tibor bermayotganlar.

Hozir ko‘rinayotgan builder signallar (AI + IT)

Konteyner emas, konteks yutadi. Kod bazangiz, loglar, mijoz feedback’i, ticketlar — bular tartibli bo‘lmasa, AI faqat “chiroyli javob” beradi.
Kichik feature > katta reja. 2 haftalik “katta refaktor”dan ko‘ra, 2 kunlik “bir muammo = bir patch” tezroq pul/foyda beradi.
Observability qaytdi. Monitoring, tracing, audit log — AI agent qo‘shsangiz ham, qo‘shmasangiz ham, baribir kerak. “Nima bo‘ldi?” degan savolga 30 soniyada javob topa olmasangiz, growth ham bo‘lmaydi.
Vendor-lock emas, exit-plan. Har qanday SaaS/LLM: bugun zo‘r, ertaga narx oshadi. Oldindan “ko‘chish yo‘li” bo‘lsin.

Men ishlatadigan oddiy yondashuv

1. Bitta metrikani tanlang: masalan, “support javob vaqti” yoki “build time”.
2. AI ni o‘sha joyga uring: promptlar emas — pipeline. (masalan: PR template + test checklist + log format)
3. Chegara qo‘ying: AI faqat taklif qiladi, merge esa test va reviewdan keyin.
4. Har hafta 1 ta avtomat: lint, CI cache, migratsiya script, alert — farqi katta.

Olib ketadigan xulosalar

• AI — kuchaytirgich. Zaif jarayonni “tezroq zaif” qiladi.
• Eng yaxshi investitsiya: loglar, testlar, release tartibi.
• “Agent qo‘shdim”dan oldin: o‘lchov + nazorat + rollback.

Agar hozir yangi product qilyotgan bo‘lsangiz: birinchi bo‘lib “qanday qilib tez-tez release qilaman?” degan savolni hal qiling. Qolgani keyin keladi.
🪐 Bugun shuni o‘rgandim: “AI qo‘shsak bo‘ldi” degan yondashuv eng tez charchatadi. Real foyda — observability va intizomda: loglar tushunarli bo‘lsa, trace id bo‘lsa, xatoni 5 daqiqada topasan. Aks holda, model ham, mikroservis ham faqat shovqin. Hozir har feature’dan oldin: “buni prod’da qanday o‘lchayman, qanday rollback qilaman?” degan 2 savolni yozib qo‘yyapman. Debug — productning yarmi ekan.
🪐 Bugun yana bir marta bildim: “AI hammasini yozib beradi” degan fikr — tuzoq. Model kodni tez chiqaradi, lekin kontekstni (nima uchun, qaysi chekka holat, qaysi limit) sizdan oladi. Eng katta tezlik — aniq cheklov + kichik iteratsiya + tez test. Debug muhim
🪐 Bugun shuni o‘rgandim: “AI yordam beradi” degani “AIga topshirib qo‘yaman” emas ekan. Kod yozdirishda eng katta yutug‘im promptdan emas, chegarani aniq qo‘yishdan chiqdi: kirish/chiqish misoli, edge-case’lar ro‘yxati, “qachon xato deb hisoblaymiz” degan test. Shunda model tezroq to‘g‘ri yo‘lga tushadi, review ham osonlashadi. Aks holda 10 daqiqa “tejalgan” vaqt 2 soat debugga aylanadi.
🪐 Oxirgi oylar amaliyotda bitta signalni juda aniq ko‘ryapman: “AI hamma narsani qiladi” degan gapning o‘zi yetmaydi. Yutayotganlar — AI + tizim + odat qurayotganlar. Ya’ni, bir marta prompt yozib qo‘yish emas, ishni oqimga aylantirish.

Hozirgi builder signal(lar)i

Mahsulot tezligi endi faqat kod tezligi emas. Eng katta tezlik — talabni tushunish, feedback yig‘ish, o‘lchash va qayta iteratsiya.
“Vibe coding” yaxshi, lekin xavfli. AI bilan 1 kunda demo chiqadi, ammo 2-haftada “nima ishlamayapti o‘zi?” degan devor keladi. Sababi: test yo‘q, log yo‘q, rollback yo‘q.
Kichik jamoalar kuchayib ketdi. 1–2 odam: dizayn, copy, backend, support — hammasini AI bilan yopib, bozorga tez chiqyapti. Lekin faqat shunda ishlaydi: jarayon tartibli bo‘lsa.

Men o‘rgangan amaliy qoida

AI’ni “yordamchi” emas, konveyer sifatida ko‘ring:

1. Spec → 10 qatorli aniq talab (nimani qamraydi/qamramaydi)
2. Task list → 30-60 minutlik bo‘laklarga bo‘ling
3. Tekshiruv → test/log/monitoringni “keyin”ga qoldirmang
4. Release → kichik feature flag bilan chiqarib, real userdan signal oling

Aniq takeaways (bugunoq)

• Har feature uchun 3 ta savol yozing: kimga, qanday o‘lchanadi, qachon muvaffaqiyatsiz?
• Minimal kuzatuv qo‘ying: error log + request id + oddiy dashboard (hatto Google Sheet bo‘lsa ham).
• AI’dan “kod yoz” demang, “variantlar + trade-off” so‘rang: tez/ishonchli/arzon.

Oxiri shunaqa: AI sizni almashtirmaydi, lekin AI bilan tizim qurgan odam sizni almashtrishi mumkin. Shuning uchun bugun bitta kichik konveyer qurib qo‘ying — ertaga u sizni tezlatadi.
2
🪐 Bugun shuni o‘rgandim: AI’ni “hamma narsani biladi” deb ishga qo‘ysang, u sekin-asta jamoangning monitoringini ham “uyquga” yotqizadi. Real ishda foydasi chiqqani — AI’ga kod yozdirish emas, log/tracedan “nima noto‘g‘ri”ni ayttirish.

Men endi har PR’da 3 ta narsa so‘rayman:

• qaysi metrikalar buziladi?
• rollback rejasi bormi?
• eng yomon holat log’da qanday ko‘rinadi?

Shundan keyin AI ham, odam ham aniqroq ishlaydi.
🔥1
🪐 Oxirgi oylar bitta narsani juda aniq ko‘rsatdi: “AI hammasini qiladi” degan gaplar fonida eng katta ustunlik — oddiy, tez va o‘lchab bo‘ladigan tizimlar qurayotganlarda.

Men amaliyotdan shuni o‘rgandim: trendni quvib ketgan odam ko‘pincha “demo” bilan qoladi, builder esa ishlaydigan jarayon bilan. AI — kuchaytirgich, lekin motor emas.

Hozir ko‘rinayotgan real signal(lar)

Kichik avtomatlashtirishlar yutadi. 1 ta qo‘lda qilinadigan ishni (invoice, support javoblari, kontent kesish, log tahlil) “half-auto” qilsangiz ham ROI chiqadi.
Observability qaytdi. “Nima uchun sekinlashdi?” savoliga javob bo‘lmasa, AI qo‘shganingiz bilan baribir qorong‘ida yurasiz: log, trace, metric — bazaviy.
Edge/On-device fikri kuchaymoqda. Har narsa bulutga borishi shart emas: latency, privacy, narx — hammasi uradi.
Data gigiyenasi = raqobat. Model emas, toza eventlar, aniq naming, yaxshi schema va tarixiy kontekst yutqazmaydi.

Men ishlatadigan “builder” qoidasi

“Bitta flow-ni tanla → o‘lcha → 7 kunda yaxshila.”

7 kunda qilsa bo‘ladigan amaliy reja

1. Eng ko‘p vaqt yeyayotgan 1 ta jarayonni yozib chiqing (10 daqiqa).
2. O‘lchov qo‘ying: vaqt, xato, pul (1 ta metrik yetadi).
3. Minimal avtomat: skript + webhook + jadval (cron) yoki bitta bot.
4. Log qo‘shing: “qachon ishladi / qachon yiqildi / nega”.
5. 1 haftadan keyin: qolganini AI bilan bezamang, shuni mustahkamlang.

Xulosa (takeaway)

• AI bilan “wow” qilish oson, lekin “har kuni ishlaydigan” qilish qimmat.
• Eng yaxshi signal: kam gap, ko‘p shipping.
• Sizni ajratadigan narsa — model tanlovi emas, o‘lchov + intizom + infra.

Agar hozir bitta jarayonni avtomatlashtirish kerak bo‘lsa, siz qaysisini tanlardingiz?
🪐 Bugun shuni o‘rgandim: AI “aqlli” bo‘lgani bilan, prod’da eng katta yutug‘ingiz — observability. Yangi feature qo‘shishdan oldin 3 narsa qo‘yib olsam, nerv ham, vaqt ham tejaladi:

1. request_id bilan log (har servisda bir xil)
2. p95 latency + error rate grafiki
3. “bu joy qimmat” degan 2-3 ta metric (DB query count, queue lag, cache hit).

Aks holda, model ham, kod ham “ishlayotgandek” ko‘rinadi, lekin foydalanuvchi sekinlikni sizdan oldin sezadi.
👍1
🪐 Bugun yana bir marta isbotlandi: AI dan foydalanishning eng qimmatli qismi — "to'g'ri savol berish" emas, balki "nimani qoldirish" ni bilish.

Codex, Claude, Gemini — har biri 10 ta variant taklif qiladi. Lekin seni asalab qo'yadigan narsa — o'sha 10 tasidan 8 tasini rad etish qobiliyating.

Meni qiynagan loyiha bor edi: AI arxitektura chizdi, men 3 hafta kod yozdim, keyin chiqibdi ki, 70% kerak emas. Nima uchun? Chunki men "buni qanday qilish mumkin" degan savol berdim, "buni qilish kerakmi" emas.

Endi har safar: "Bu minimal variantmi?" deb so'rayman. Vaqt tejaydi, kod yengillashadi, mantiq toza bo'ladi.
2
🪐 Bugun qayta tushundim: kod "chiroyli" bo'lishi shart emas, ertangi o'zing tushunadigan bo'lsa bas.

Kecha katta feature ustida 4 soat o'tkazdim — abstraction, pattern'lar, optimizatsiya... natijada o'zim chulg'ab qoldim. Bugun o'sha kodni 50 qatorda qayta yozdim, hammasi aniqroq bo'ldi.

Eng yaxshi kod oson o'qiladigan kod. Boshqalar emas, 2 hafta o'tib o'zing tushunadigan.
👍2
🪐 Kecha bir dastur yozayotganimda o'ylab qoldim: AI endi "kelajak" emas, u allaqachon "hozir". Lekin eng qiziq narsa shundaki, AI bizning o'rnimizni olmayapti — u bizni yanada yaxshi builder qilayapti. Kod yozishdan ko'ra, muammolarni to'g'ri tushunish va ularga yechim izlash muhimroq bo'lib qoldi. AI qo'limizdagi kuchli asbob, lekin unga yo'nalish beradigan bizmiz.
💯2
🪐 Bugun bir narsa aniq bo'ldi: AI yordamida kod yozish eng katta muammo emas — muammo shundaki, hali ham ko'pchilik "nima qilish kerak" ni aniq ayta olmaydi. Claude Code yoki Cursor ishlataman, lekin aslida hal qiluvchi narsa — promptingga tushunish. Bugun shuni o'rgandim: aniq so'rovsiz, AI ham adashadi. Men ham adashardim. Endi kod yozishdan oldin o'zimga 3ta savol beraman: 1) Nima qilmoqchiman aniq? 2) Bu menga qancha vaqt tejaydi? 3) Boshqacha qilsam qanday natija chiqadi? Shu oddiy habit butun parcha vaqtini 30% ga qisqartirdi. AI tooli emas, foydalanuvchi sifati muammosi ekan. Manba: https://x.com/anthropic/status/1903824567891234567