Man uchun azob.
commit comment yozish
PR description yozish
Doc yozish
Lekin barbir yozishga majburman manashu narsa doyim kompramisga sabab bo'lgan.
Generatorlarga berish mavzusiga ham skeptikman ishqilib kasbimni yoqimsiz qismi deb qabul qilganman bu mavzularni.
commit comment yozish
PR description yozish
Doc yozish
Lekin barbir yozishga majburman manashu narsa doyim kompramisga sabab bo'lgan.
Generatorlarga berish mavzusiga ham skeptikman ishqilib kasbimni yoqimsiz qismi deb qabul qilganman bu mavzularni.
💯2
Benchmarklarga qarab 10x tezroq narsani ishlatasiz ammo biror action 1 daqiqa davom etadi.
Eng tez backend framework ishlatishga xarakat qilasiz ammo productionda shunchaki k8s yoki biror orkestrator bilan cluster qivorasiz.
Garbage collectionsiz til ishlatasiz ammo o'zingizni GCni yasab qo'yasiz.
System design o'rganasiz ammo oddiy control flowni ham zo'rga yozasiz.
Hullas sanasa manashunday contraversal narsalar ko'p. Shu sabab hammasi eng oddiysidan boshlanishi kerak.
Falon narsani hal etdik tamam.
Unda qanday rivojlanamiz ?
Buning javobi ham oddiy. Shunchaki muammoni o'rganish kerak eng birinchi. Masalan bizda qandaydir
Okay xozir hayolga kelgani
Nu vaqt o'tdi endi bizga 3-variant qo'shildi
Biz ishlatadigan tilda qanday fichalar bor aynan shunaqa variantlar bilan ishlashga ?
savol oddiy ammo javob uchun yan detailarga kirish kerak status misolida bizga 2ta narsa muhim. 1 variantlarni elon qilish va ularni handle qilish.
Elon qilishga qandaydir tiplar masalan shu enum A yoki B
Handle qilishga esa manashu status ni handle qiladigan yechimlar: switch, match, case, etc...
Endi boshqa holatga duch keldik. Bizda birqancha variantli record yoki structlar mavjud bo'lishi mumkin. Masalan
Ho'sh buni qanday qilamiz ? Ha biz ADT va control flow haqida ko'p gaplashganmiz. Hamma tillarda ham ADT va pattern matching mavjud emas lekin yuqoridagi holatlar har qanday tilda code yozayotganingizda paydo bo'lishi mumkin bu degani shu til imkoniyatidan kelib chiqib qandaydir yechim qilasiz. Agar variantlar juda ham ko'p bo'lsa yana bu caselarni handle qilishga boshqa yechimlar qidirib ko'rasiz.
Tushunganingizdek masala mindsetda. Siz dasturchi bo'lib 10 yil tajriba qilishingiz mumkin. Ammo 10 yildan buyon birxil code yozyotgan bo'lishingiz muhmkin bunday holatda ham muammo emas. Chunki muammoni hal etyabsiz, ha code chiroyli emasdir, qayerdadir panic bo'lib crash bo'lar.
Muhim qismi o'zingizni aldamaslik. Agar sizga nimadir yoqmasa unda yoqadigan holatga keltirishga xarakat qilish kerak buning uchun esa alternativ narsalarni discover qilaverish kerak. Agar tanqid bo'lsa doyim nisbiy bo'ladi masalan sizdagi 10 turdagi variantni handle qiladigan 10ta if o'rniga boshqa yechim qilish mumkin edi. Balki siz ishlatyotgan dasturlash tili o'rniga boshqa til ishlatish mumkin edi. Hullas asosiy masa extiyojda. Hohlamaysizmi ? Okay bu sizni tanlovingiz. Boshqa optionlarni ko'rishni istamaysizmi ? Bu ham sizni tanlov.
10 yildan buyon ishlab kelyotgan narsani birdan rewrite qilish. Yoki shunchaki bor narsani sal boshqacha qilib qayta yozish kabi narsalardan esa umuman mano yo'q. Industryda juda ko'p narsani ko'rsa rewrite bo'lib yotibti ayniqsa rewrite rust kabi fenomenlar yoki qanaqadir yangi http frameworklar. Bunaqa narsalarga vaqt sarflashdan oldin o'ylab ko'ring bu qanchalik arzirli ekanini.
Eng tez backend framework ishlatishga xarakat qilasiz ammo productionda shunchaki k8s yoki biror orkestrator bilan cluster qivorasiz.
Garbage collectionsiz til ishlatasiz ammo o'zingizni GCni yasab qo'yasiz.
System design o'rganasiz ammo oddiy control flowni ham zo'rga yozasiz.
Hullas sanasa manashunday contraversal narsalar ko'p. Shu sabab hammasi eng oddiysidan boshlanishi kerak.
Falon narsani hal etdik tamam.
Unda qanday rivojlanamiz ?
Buning javobi ham oddiy. Shunchaki muammoni o'rganish kerak eng birinchi. Masalan bizda qandaydir
status mavjud. Statusga birqancha variantlar bor Fail va DoneOkay xozir hayolga kelgani
if status == `Fail`
then act1
else act2
Nu vaqt o'tdi endi bizga 3-variant qo'shildi
InProgress ho'sh endichi ?Biz ishlatadigan tilda qanday fichalar bor aynan shunaqa variantlar bilan ishlashga ?
savol oddiy ammo javob uchun yan detailarga kirish kerak status misolida bizga 2ta narsa muhim. 1 variantlarni elon qilish va ularni handle qilish.
Elon qilishga qandaydir tiplar masalan shu enum A yoki B
Handle qilishga esa manashu status ni handle qiladigan yechimlar: switch, match, case, etc...
data Status = Done | InProgress | Fail
case status of
Done -> act1
InProgress -> act2
Fail -> act3
Endi boshqa holatga duch keldik. Bizda birqancha variantli record yoki structlar mavjud bo'lishi mumkin. Masalan
apiResult bizga 2 turdagi qiymat qaytaradi Success { data:: SomethingType va Fail { reason:: String, code:: IntHo'sh buni qanday qilamiz ? Ha biz ADT va control flow haqida ko'p gaplashganmiz. Hamma tillarda ham ADT va pattern matching mavjud emas lekin yuqoridagi holatlar har qanday tilda code yozayotganingizda paydo bo'lishi mumkin bu degani shu til imkoniyatidan kelib chiqib qandaydir yechim qilasiz. Agar variantlar juda ham ko'p bo'lsa yana bu caselarni handle qilishga boshqa yechimlar qidirib ko'rasiz.
Tushunganingizdek masala mindsetda. Siz dasturchi bo'lib 10 yil tajriba qilishingiz mumkin. Ammo 10 yildan buyon birxil code yozyotgan bo'lishingiz muhmkin bunday holatda ham muammo emas. Chunki muammoni hal etyabsiz, ha code chiroyli emasdir, qayerdadir panic bo'lib crash bo'lar.
Muhim qismi o'zingizni aldamaslik. Agar sizga nimadir yoqmasa unda yoqadigan holatga keltirishga xarakat qilish kerak buning uchun esa alternativ narsalarni discover qilaverish kerak. Agar tanqid bo'lsa doyim nisbiy bo'ladi masalan sizdagi 10 turdagi variantni handle qiladigan 10ta if o'rniga boshqa yechim qilish mumkin edi. Balki siz ishlatyotgan dasturlash tili o'rniga boshqa til ishlatish mumkin edi. Hullas asosiy masa extiyojda. Hohlamaysizmi ? Okay bu sizni tanlovingiz. Boshqa optionlarni ko'rishni istamaysizmi ? Bu ham sizni tanlov.
10 yildan buyon ishlab kelyotgan narsani birdan rewrite qilish. Yoki shunchaki bor narsani sal boshqacha qilib qayta yozish kabi narsalardan esa umuman mano yo'q. Industryda juda ko'p narsani ko'rsa rewrite bo'lib yotibti ayniqsa rewrite rust kabi fenomenlar yoki qanaqadir yangi http frameworklar. Bunaqa narsalarga vaqt sarflashdan oldin o'ylab ko'ring bu qanchalik arzirli ekanini.
❤5👏2
Named function parametrs.
Haskellda
Buni mazza tomoni funksiya parametrlari ko'paysa parametrlar uchun alohida record tip yozib o'tirish shart emas. Shunchaki named arguments.
DTOlarsiz hayot mazza ))
Haskellda
named degan lib bilan huddi pythondagi named arguments kabi ishlasa bo'ladi.Buni mazza tomoni funksiya parametrlari ko'paysa parametrlar uchun alohida record tip yozib o'tirish shart emas. Shunchaki named arguments.
DTOlarsiz hayot mazza ))
O’zimizni qora ko’zlar ham bunday mavzularga kirishyotganidan hursandman!
Muvaffaqiyat tilayman!
Muhimi aynab ketib kurs ochvormaselar bo’lgani.
Muvaffaqiyat tilayman!
Muhimi aynab ketib kurs ochvormaselar bo’lgani.
😁4❤1
Forwarded from ibragimov
I have joined CMU’s Computer Architecture and Operating Systems (CAOS) research group to work on developing fault-tolerant OS primitives for machine learning inference. I would love to build my career on operating systems research, and it is a very long road ahead…
🔥8❤1
O'z tajribamdan tushunyabmanki overhyped narsalardan uzoq turish kerak toki hamma narsa filterlanmaguncha.
Masalan 2014-2018 yillarda nodejs rossa hype bo'lgan edi. Shu bahonada o'rgandim ishga kirdim va 5 yil shu ekotizimda ishladim.
5-yilda nimalarni ko'rdim ?
— Albatta juda katta community, ammo haddan tashqari tarqoq.
— Juda katta ekotizim, ammo sifatsiz. Doyim nimadir broken yoki bir narsa boshqasiga yopishmaydi.
— Nodejs browserdan tashqarida js run qilishda katta qadam edi. Ammo atrofidagi ekotizim tarqoqlanganidan yillar o'tar ekan aniq narsalar qolmadi. Masalan qachondir typeorm trend edi xozirchi ?
— JS hamma joyda ishlashni boshlaganidan kegin turli muammolar chiqa boshladi masalan o'sha mashxur module systemlar...
— Qashshoq ideyalar. Juda ko'p narsalar over duplicated masalan bir muammoni hal etish mumkin bo'lgan ko'p lib topasiz ammo hammasi deyarli birxil va yoqimsiz tomoni broken bo'lishi mumkin.
Sanasa ko'p muammolar.
Nega aynan faqat muammolarni keltiryabman ?
Chunki hype davrida tradeoff qilish doyim ham oson emas. Masalan nodejs boshlaganimda bunaqa narsalarni farqlay oladigan skill ham bo'lmagan edi manda. Sizning shaxsiy tanlovingiz bu sizning tanlov boshqalar force qilishga haqqi yo'q, amo tanqid qilishi mumkin lekin shunda ham tanlov sizniki. Ammo etiborli nuqtasi manashu tanlov sizga rostmana foyda olib kelishi potensialini baholay olsangiz bo'lgani. Masalan biror stackni tanlash tog'ridan tog'ri sizni koryerangiz va mindsetga tasir qiladi. Tog'ri ushbu stackda ishlab pul topasiz ham, ammo dunyoqarashingiz shuni atrofiga quriladi.
Hypedagi muammo ham aynan sizni mindsetni marketing asosida qayta yozish deb tushunsangiz bo'ladi. Bu narsa doyim ham siz uchun foydali bo'lmasligi mumkin. Shu sababli tradeoff qilishda biroz fundamental tomonlardan ham qarash kerak. Masalan yaqin kelajakda bo'ladigan millon row uchun Clickhouse tanlayabsiz ammo bilmaysiz Clickhouse ishlatishni va bilmaysiz yaqin kelajak qachon kelishini. Trendagi X ni o'rganyabsiz ammo siz o'rganib rezultat qilgunizcha trend Y ga o'zgarib ketdi. Siz vaybkodingni tanladingiz ammo vaybkoderlarga talab kamayib technical skill baland odamlar kerak bo'lib qoldi. Siz falon narsani rewrite qildingiz ammo tayinli foyda olmadingiz va shunchaki bor narsani X o'rniga Z bilan yozib qo'ydingiz. Dunyodagi eng tez http framework ishlatasiz lekin databasedagi letency 1minutes. Falon million so’m pulni kurslarga sarflab nimadir o'rgandingiz ammo ishsiz yuribsiz. Hullas o'zingni aldama KARL!
Yeg’lama jigarim sen Lox emassan.
Masalan 2014-2018 yillarda nodejs rossa hype bo'lgan edi. Shu bahonada o'rgandim ishga kirdim va 5 yil shu ekotizimda ishladim.
5-yilda nimalarni ko'rdim ?
— Albatta juda katta community, ammo haddan tashqari tarqoq.
— Juda katta ekotizim, ammo sifatsiz. Doyim nimadir broken yoki bir narsa boshqasiga yopishmaydi.
— Nodejs browserdan tashqarida js run qilishda katta qadam edi. Ammo atrofidagi ekotizim tarqoqlanganidan yillar o'tar ekan aniq narsalar qolmadi. Masalan qachondir typeorm trend edi xozirchi ?
— JS hamma joyda ishlashni boshlaganidan kegin turli muammolar chiqa boshladi masalan o'sha mashxur module systemlar...
— Qashshoq ideyalar. Juda ko'p narsalar over duplicated masalan bir muammoni hal etish mumkin bo'lgan ko'p lib topasiz ammo hammasi deyarli birxil va yoqimsiz tomoni broken bo'lishi mumkin.
Sanasa ko'p muammolar.
Nega aynan faqat muammolarni keltiryabman ?
Chunki hype davrida tradeoff qilish doyim ham oson emas. Masalan nodejs boshlaganimda bunaqa narsalarni farqlay oladigan skill ham bo'lmagan edi manda. Sizning shaxsiy tanlovingiz bu sizning tanlov boshqalar force qilishga haqqi yo'q, amo tanqid qilishi mumkin lekin shunda ham tanlov sizniki. Ammo etiborli nuqtasi manashu tanlov sizga rostmana foyda olib kelishi potensialini baholay olsangiz bo'lgani. Masalan biror stackni tanlash tog'ridan tog'ri sizni koryerangiz va mindsetga tasir qiladi. Tog'ri ushbu stackda ishlab pul topasiz ham, ammo dunyoqarashingiz shuni atrofiga quriladi.
Hypedagi muammo ham aynan sizni mindsetni marketing asosida qayta yozish deb tushunsangiz bo'ladi. Bu narsa doyim ham siz uchun foydali bo'lmasligi mumkin. Shu sababli tradeoff qilishda biroz fundamental tomonlardan ham qarash kerak. Masalan yaqin kelajakda bo'ladigan millon row uchun Clickhouse tanlayabsiz ammo bilmaysiz Clickhouse ishlatishni va bilmaysiz yaqin kelajak qachon kelishini. Trendagi X ni o'rganyabsiz ammo siz o'rganib rezultat qilgunizcha trend Y ga o'zgarib ketdi. Siz vaybkodingni tanladingiz ammo vaybkoderlarga talab kamayib technical skill baland odamlar kerak bo'lib qoldi. Siz falon narsani rewrite qildingiz ammo tayinli foyda olmadingiz va shunchaki bor narsani X o'rniga Z bilan yozib qo'ydingiz. Dunyodagi eng tez http framework ishlatasiz lekin databasedagi letency 1minutes. Falon million so’m pulni kurslarga sarflab nimadir o'rgandingiz ammo ishsiz yuribsiz. Hullas o'zingni aldama KARL!
Yeg’lama jigarim sen Lox emassan.
💯4🔥2❤1
Programming ∀
Named function parametrs. Haskellda named degan lib bilan huddi pythondagi named arguments kabi ishlasa bo'ladi. Buni mazza tomoni funksiya parametrlari ko'paysa parametrlar uchun alohida record tip yozib o'tirish shart emas. Shunchaki named arguments. …
DTO va mapper yozadiganlarga alam qilsin. Biz bularni generate qilamiz 😎
Haskell 2077
Haskell 2077
🔥6❤1😱1
Nix configim ancha eskiribti endi sekin sekin shuni yaxshilash kerak. Xozir devayslarim ko’p o’zgaradi 36GB config keladi bechora devaysga atak makesense lekin barbir juda ko’p hamma devayslarimda ham bazi narsalarni ishlatmayman yani ortiqcha paketlar juda ko’p.
Shu sababli buni tog’irlash kerak. Masalan main devayslarda manga kerakli hamma narsa bo’ladi niche toolchainlar ham. Lekin shunaqa devayslar bor man vaqtincha ishlataman yoki test uchun mani configim kerak masalan vmlar ham shuni ichiga kiradi.
Major hostlar 5-60GB bo’lsa hem hechnima qilmaydi ammo special hostlarga bunaqa katta toolchain kerak emas xozircha bularni qanaqa organize qilishdan ideya yo’q shu weekend kavlayman endi.
Shu sababli buni tog’irlash kerak. Masalan main devayslarda manga kerakli hamma narsa bo’ladi niche toolchainlar ham. Lekin shunaqa devayslar bor man vaqtincha ishlataman yoki test uchun mani configim kerak masalan vmlar ham shuni ichiga kiradi.
Major hostlar 5-60GB bo’lsa hem hechnima qilmaydi ammo special hostlarga bunaqa katta toolchain kerak emas xozircha bularni qanaqa organize qilishdan ideya yo’q shu weekend kavlayman endi.
❤2
Programming ∀
Nix configim ancha eskiribti endi sekin sekin shuni yaxshilash kerak. Xozir devayslarim ko’p o’zgaradi 36GB config keladi bechora devaysga atak makesense lekin barbir juda ko’p hamma devayslarimda ham bazi narsalarni ishlatmayman yani ortiqcha paketlar juda…
Hullas manashunaqa bo'lishini istayman.
editors.vscode.enable = true;
stacks = {
rust = {
enable = true;
toolChain = "stable";
};
haskell = {
enable = true;
compiler = "ghc912";
};
};
😨3
Programming ∀
bu narsa uncha yaxshi bo'lmas ekan.
Ho'sh kecha birnechta modularni optionlarga o'rab chiqdim.
Ko'rinishidan zo'r o'zingizni configuration.nix file ichida shunchaki.
Sizda butun haskell dev stack bor uje, lsp, ide plugins hammasi.
Bu juda zo'r ko'rinadi toki tanqid qilmaguncha :) Ho'sh qanday tradeoff bo'ldi ?
Masalan my.* nix LSP resolve qilolmaydi. Demak bu custom optionlarni yoki eslab qolish kerak yoki harsafar search qilish kerak nu shunga o'xshagan tanqidan boshlandi hammasi.
Ammo modularga o'girishni dalshe davom etib ko'rdim.
Quyidagi hulosalarni oldim.
1.
2.
3. Code to'liq decidable emas chunki bazi narsalar optionsda hal bo'lib ketgan va optionlar asosida mutatsiyalar ko'p.
4. Paketlarni pick qilish qiyin. Masalan ko'rib turganignizdak haskell stackda
Ho'sh endi qanday yechim keldi ?
Shunchaki hamma o'ziga kerakli paketlarni qo'shib olgani afzal
Masalan common narsalarni esa shunchaki bir modulga yeg'ib qo'ysa yetarli. Shunda mutatsiya ham yo'q custom optionlar ham yo'q.
Qaysidir hostga nimadir boshqacha kerak bo'lsa qo'lda yozib terib olaveradi.
Ko'rinishidan zo'r o'zingizni configuration.nix file ichida shunchaki.
my.stacks.haskell.enable = true;
Sizda butun haskell dev stack bor uje, lsp, ide plugins hammasi.
Bu juda zo'r ko'rinadi toki tanqid qilmaguncha :) Ho'sh qanday tradeoff bo'ldi ?
Masalan my.* nix LSP resolve qilolmaydi. Demak bu custom optionlarni yoki eslab qolish kerak yoki harsafar search qilish kerak nu shunga o'xshagan tanqidan boshlandi hammasi.
Ammo modularga o'girishni dalshe davom etib ko'rdim.
Quyidagi hulosalarni oldim.
1.
options, config, mkIf, mkEnableOption. Bularni o'zi boilerplate. Chunki hamma modulda bularni bazilari yoki hammasi ishtrok etadi.2.
my.X.enable = true qildim ho'sh buni tog'ri config genrate qivotganini qanday trace qilaman ?3. Code to'liq decidable emas chunki bazi narsalar optionsda hal bo'lib ketgan va optionlar asosida mutatsiyalar ko'p.
4. Paketlarni pick qilish qiyin. Masalan ko'rib turganignizdak haskell stackda
pkgs.stack hoogle turibti. Ammo mandagi qaysidir hostga hoogle kerak bo'lmasa nima qilaman ? Undan tashqari bazi joylarda extraPackages option tashlab ketmasam keginchalik uniyam qo'shish kerak, yoki tashlab ketsam umuman ishlatmasligim mumkin.Ho'sh endi qanday yechim keldi ?
Shunchaki hamma o'ziga kerakli paketlarni qo'shib olgani afzal
++ va // bilan hal etish kerak.Masalan common narsalarni esa shunchaki bir modulga yeg'ib qo'ysa yetarli. Shunda mutatsiya ham yo'q custom optionlar ham yo'q.
Qaysidir hostga nimadir boshqacha kerak bo'lsa qo'lda yozib terib olaveradi.
❤2🤔1
Adashmasam 7-8 yil oldin man ishlatib ko'rgan dashboardlarni deyarli hammasi umuman qotmasdan ishlar edi.
U payitlar adashmasam juda ko'p narsa phpda edi, qanaqadir template enginelar bilan componentlar yozib o'tirganimni ham eslayman.
Tassavur qiling deyarli hammmada 4 cpu 8-12 gb ram. O'sha payitdagi hadwarelar va muhiit. Yani user spaceda xozirgichalik katta resurslar bo'lmagan.
Lekin shunda ham deyarli hechqaysi sofware qotmasdan bemalol ishlar edi. Xatto devayslarni abuse qilib i3 da GTA V ham o'ynaganman.
Endichi ?
Preprod envoirmentdagi dashboardga logindan kegin kutasiz.
Leadning page saytni ochasiz va kutib o'tirasiz bazida. DevTools ochsangiz bazida katta hajmli rasm ham bo'lmaydi. Qandaydir katta source code ham yo'q. Shunchaki virtual doom load qilishga kutish kerak.
Muammo faqat webda emas, bazida umuman internetda. Lekin deyarli hamma UI/GUI dasturlarni qarasa shu axvol. Masalan yaqinda bir tolov tizimi orqali to'lov qilmoqchi edim internet 5G chiqyabti ammo QR generatsiya uchun taxminan 5 minut kutdim.
Masala kim ayibdor ekanida ham emas. Shunchaki borgan sayin hammaga pofig bo'lib boryotganida. Tillarni benchmark qilamiz va eng tez framework bizda deb maqtanamiz ammo qilgan dasturimiz load bo'lgunicha kech bo'ladi.
U payitlar adashmasam juda ko'p narsa phpda edi, qanaqadir template enginelar bilan componentlar yozib o'tirganimni ham eslayman.
Tassavur qiling deyarli hammmada 4 cpu 8-12 gb ram. O'sha payitdagi hadwarelar va muhiit. Yani user spaceda xozirgichalik katta resurslar bo'lmagan.
Lekin shunda ham deyarli hechqaysi sofware qotmasdan bemalol ishlar edi. Xatto devayslarni abuse qilib i3 da GTA V ham o'ynaganman.
Endichi ?
Preprod envoirmentdagi dashboardga logindan kegin kutasiz.
Leadning page saytni ochasiz va kutib o'tirasiz bazida. DevTools ochsangiz bazida katta hajmli rasm ham bo'lmaydi. Qandaydir katta source code ham yo'q. Shunchaki virtual doom load qilishga kutish kerak.
Muammo faqat webda emas, bazida umuman internetda. Lekin deyarli hamma UI/GUI dasturlarni qarasa shu axvol. Masalan yaqinda bir tolov tizimi orqali to'lov qilmoqchi edim internet 5G chiqyabti ammo QR generatsiya uchun taxminan 5 minut kutdim.
Masala kim ayibdor ekanida ham emas. Shunchaki borgan sayin hammaga pofig bo'lib boryotganida. Tillarni benchmark qilamiz va eng tez framework bizda deb maqtanamiz ammo qilgan dasturimiz load bo'lgunicha kech bo'ladi.
❤3🔥1
Choq -8 hours for configurations.
Palakat soat 4:00 da komp oldiga o’tirgan edim uje obet bo’libti.
Loglarga qarab vaqtni bildim bo’lmasa o’tiraverardim qorayib.
Hullas ozgina chala ishlar qoldi barbir, biroz chill qilib aylanib qaytib o’tirib cook qivoraman(deb o’ylayabman lekin nixrena unaqa bo’lmaydi).
Soat paranoyiklarga o’ylab topilgan narsa ekaniga yana bir isbot mana. Bo’lmasa o’tiraverar edim indamay yo’q vaqtni ko’rdim va biroz o’tirib qolibman degan fikr keldi xayolga.
Palakat soat 4:00 da komp oldiga o’tirgan edim uje obet bo’libti.
Loglarga qarab vaqtni bildim bo’lmasa o’tiraverardim qorayib.
Hullas ozgina chala ishlar qoldi barbir, biroz chill qilib aylanib qaytib o’tirib cook qivoraman(deb o’ylayabman lekin nixrena unaqa bo’lmaydi).
Soat paranoyiklarga o’ylab topilgan narsa ekaniga yana bir isbot mana. Bo’lmasa o’tiraverar edim indamay yo’q vaqtni ko’rdim va biroz o’tirib qolibman degan fikr keldi xayolga.
Programming ∀
Ho'sh kecha birnechta modularni optionlarga o'rab chiqdim. Ko'rinishidan zo'r o'zingizni configuration.nix file ichida shunchaki. my.stacks.haskell.enable = true; Sizda butun haskell dev stack bor uje, lsp, ide plugins hammasi. Bu juda zo'r ko'rinadi toki…
Fuck you nix!
Hullas bu temaga kegin qaytamizl. Systemd start bo'lmasdan qotib qoladigan qilib qo'ydim endi bootdan kegin hechvaqo bo'lmay turaveradi molga o'xshab bezrayib, man esa shuni kutib uxlab qolibman kecha ertalab qarasam o'sha o'sha.
Configda aniq nimadir broken nu uje pofig bir aylanib kelib qaytib fix qilib stabil qivolaman.
Hullas bu temaga kegin qaytamizl. Systemd start bo'lmasdan qotib qoladigan qilib qo'ydim endi bootdan kegin hechvaqo bo'lmay turaveradi molga o'xshab bezrayib, man esa shuni kutib uxlab qolibman kecha ertalab qarasam o'sha o'sha.
Configda aniq nimadir broken nu uje pofig bir aylanib kelib qaytib fix qilib stabil qivolaman.