Programming ∀
Kanalga Telegram’da o‘tish
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Ko'proq ko'rsatish1 354
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
Ma'lumot yo'q30 kun
Postlar arxiv
1 354
Yana bir qiziq narsa. Gtk bilan rasm chizsa bo’lar ekan blya.
O’zi hech hayolimga kelmabti desktop app qilganda uje gpuga tog’ri access bor demak xarbalo qilsa bo’ladi.
Xinuxga ficha qo’shishdan oldin bitta soddaroq gtk app qilib ko’rsam bo’lar ekan. Url bersangiz QR generate qilib beradigan.
Qr aslida static image demak bytes to image render qilish ham qimmat emas fikrimcha. Bekorchilikda esa shu gpuda qanaqa render qilishigacha o’rganib chiqish kerak bu gui applarni Qachondir buni ham ko’raman.
1 354
ECC mavzusi yana ochildi )) Ancha oldin ECC RAM bo'lmagani uchun manda rust compile bo'lmayotgani haqida aytgan edim.
QR bahona manashu ECC haqida yana bir qiziq aspect ko'rdim. Endi shunchaki ideya ketdi, demak memoryda ham manashunaqa prinsp bo'lishi mumkin masalan qandaydir holatda race conditionlar bo'lsa, yoki bo'lmasa address missing bo'lsa ECC orqali kerakli datani restore qilib olish mumkin.
Nu bunaqa bo'lmagan taqdirda ham bu memory interaction uchun umumiy protocoligicha qolaversa kerak. Lekin qiziq bo'ldi bekorchilikda buni ham bir kavlash kerak.
1 354
Xinux settings uchun Wifi credentialsni QR qilib chiqarish ustida ishlayabman.
QR ustida oldin ham ishlagan edim. Ammo qiziq narsa topib oldim wifi creds manabunaqa formatda bo'ladi:
WIFI:T:<security>;S:<SSID>;P:<password>;H:<hidden>;;QR parserlar manashu prefixlar bo'yicha aniqlaydi masalan wifi uchun
WIFI prefix, url bo'lsa shunchaki url address, sms bo'lsa smsto Scannerlar esa shu datalarni parse qilib kerakli actionlarni qiladi. Masalan wifi bo'lsa wifi connect uchun signal qiladi. Url bo'lsa browserga redirect signal qiladi.
Albatta yana bir narsa bu QR code size. Yani QR code turlari juda ham ko'p va har bir turdagi QR ma'lum sig'imda ma'lumotni saqlay oladi. Masalan QR version 1 16 Byte saqlasa 40-version uje 2331 bu narsa odatda mule sizega qaraladi masalan versiya 1 size 21x21
Modul deganda pixel blocklarni tushunsangiz bo'ladi. Masalan 21x21 matrix bor har bir block 1 bit. Agar qoraga bo'yalgan block bo'lsa demak 1 bo'lmasa 0.
QR o'zi haqida yana qisqacha maslan shu 21x21 modulik:
QRdagi katta kvadrat narsalar masalan 3ta kvadrat turadiku: Finder patterns deyiladi bu narsa orentatsiya uchun kerak scannerlarga.
Separators oq chegaralar - chegaralarni aniqlashga kerak.
Timing strips - bu narsa scannerga data sizeni aytadi.
Format info - Qisqasi format haqida info ))
Data + ECC - Uje buyoqda data bytelar va error correction turadi.
ECC yanada qiziq, chunki scanner adashishi yoki bo'lmasa bazi bitlar buzilgan bo'lishi mumkin. ECC data bilan qo'shib saqlanganida ECC codewordsdan yoqolgan bitlarni recover qilib olsa bo'ladi.
QR Code: https://www.qrcode.com/en/
Reed–Solomon error correction: https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction1 354
"Five-Point Haskell": Total Depravity (and Defensive Typing)
https://blog.jle.im/entry/five-point-haskell-part-1-total-depravity.html
1 354
Nixda begineerlar uchun ancha mos keladigan config bo'libti. lib va yana 1-2 magic bor holos ammo qolgan hamma narsa decidable va composable.
Hullas man tradeoff qilgan narsa qo'lda yozishning narxi bo'ldi.
Agar bazi narsalarni qo'lda yozish eng oson va arzoni bo'lsa va juda katta qismni qamrab olmasa unda qo'lda yozishdan arzoni yo'q.
Mani holatimda agar yangi host qo'shilsa 3ta yangi modul paydo bo'ladi aynan
hosts directory ichida va bu narsalar flake.nix da foydalaniladi. 3ta modul haqida:
1. configurations.nix
2. disk.nix
3. Hardware.nix
configurationsda hamma narsa compose qilib jamlanadi home manager va yana boshqa modular konfiguratsiyalari.
disk da esa disk configurations, man diskodan foydalanaman yani partitionlar ham declariv stilda bo'ladi, undan tashqari diskoda ham disk encryption vaxaakzolarni amalga oshirish mumkin.
hardware-configurations.nix - default hardware configurations, nixos install qilganizda generate bo'ladigan konfiguratsiyalar disks, cpu, gpu, vaxakazo configs.
Qolgan modular esa reusable va composable.
Yangi configimda bazi narsalarni ham sinab ko'rdim, WM, vim etc... va eski configimdan ham bazi narsalarni olib o'tkazdim.
Umuman olganda yomon emas bazi modular katta monolitligicha qolgan ularni ham talabga qarab ajratish mumkin.1 354
Oma ishlari ko’p hali, bazi hechqachon ochmaydigan applarimni chopishim kerak.
Darwinga umuman qayta yozish kerak.
Sops qolgan.
Disk encryptionlar qilishim kerak disko bilan.
Fiftilionta devtools, compiler, lsp vaxakazolar.
Va yana qiryuzmimgta custom configurationlar bor 🥺
Lekin hamma narsa composable magics deyarli yo’q.
1 354
Ishqilib yana devaysim o’zgardi.
Config o’zini oqlashni boshladi.
https://github.com/lambdajon/dotfiles
1 354
Rustdan olamshumul safety, perfomance kutadiganlar uchun maxsus :)
Rust analayser LSP rustda yozilgan va manashunaqa resurs yeydigan caselar bo’ladi.
Bu bilan nima demoqchiman ?
Odamiga bog’liq. Bu yerda texnalogiyadan ko’ra ko’proq odam faktori ham bor o’sha maintainer, avtor etc…
Bazida rewrite fikrlarini qoralashim sababi ham aynan shunaqa yani yangisi eskisidan yomonroq bo’lib qolishi.
Rust analayser rewrite qilinmagan manimcha. Lekin man ko’rgan eng ochko’z LSP. Umuman olganda rewrite fikriga fanatic qaramaslik kerak. Man bilmayman LSPda qandaydir memoryleak bormi yo’qmi, maintainerlarini ham tanimayman bularni imrove qilgani nimadir o’ylashyabtimi bilmayman. Ammo aniq nimadir neto, rustda serverlar yozish ideyasi doyim yoqmagan sababi bazida server side applarga borrowlar juda noise berib tashlaydi undan tashqari async rust ham mutant bo’lib yotibti coloured funksiyalar bilan.
Nima bo’lganda ham LSP ustida ko’p odam ishlaydi balki fix qilishar balki yo’q bunisi manga qorong’u.
1 354
Dasturlashda bazi narsalar borki agar shunga ishingiz tushib qolsa o’rganishga deyarli resurslar ham bo’lmaydi.
Githubdan search qilasiz bazida uyam topilmasligi mumkin. Forumlarda ham discussion qilinmagan bo’ladi. Agar AI ishlarsez ham makillaydi.
Manashunaqa holatga tushsam mazza qilaman, chunki o’zingiz ijod qilasiz. O’zingiz research qilasiz huddi puzzlega o’xshaydi. Manashu questdan o’tish juda katta boost beradi sizga.
1 354
Bu ishladi sababini keginroq yozaman buyam o'sha elab qolinishi kerak bo'lgan temalardan.
1 354
Shu hamma joyda pismayib optionlar, dialektlar, standartlar bo’lib ketishi yoqmaydi.
Mos kelmaydigan configurationlarni check qilish doyim azob. Masalan loglar append turibti. Stderr ham yozadi ammo /dev/stderr ga write permission yo’q.
Bu palakat qolib keganiga systemd ham indamagan. Bu narsani bilish uchun esa qolganlar qanday qilganini search qilish kerak girhubdan.
Endi esa yodlash kerak shuni sababi ertaga yana shunaqa case bo’lsa nixrena debug qilolmaysiz.
