uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Programming ∀

Programming ∀

Відкрити в Telegram

Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.

Показати більше
1 354
Підписники
Немає даних24 години
Немає даних7 днів
Немає даних30 днів
Архів дописів
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.

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.

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_correction

"Five-Point Haskell": Total Depravity (and Defensive Typing) https://blog.jle.im/entry/five-point-haskell-part-1-total-depravity.html

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.

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.

Ishqilib yana devaysim o’zgardi. Config o’zini oqlashni boshladi. https://github.com/lambdajon/dotfiles

Eyhh
+2
Eyhh

Windowsni esladim.
Windowsni esladim.

Rustdan olamshumul safety, perfomance kutadiganlar uchun maxsus :) Rust analayser LSP rustda yozilgan va manashunaqa resurs y
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.

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.

Bu server oyoq tagida yotar edi shu sabab sholcha derdik. Endi kovrik deymiz.

Bizni qoravoy
Bizni qoravoy

C++ 30 standart.
C++ 30 standart.

Bu ishladi sababini keginroq yozaman buyam o'sha elab qolinishi kerak bo'lgan temalardan.

hammasini tikdim...
hammasini tikdim...

Append esa restartdan kegin log yozmayabti 🙂 Fuck you systemd

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.

Forget about safety.
Forget about safety.

my factorial proven 😎
my factorial proven 😎