❤1
Build own world.
Yaxshi expirence qilishning eng yaxshi uslublaridan biri bu o'zingiz uchun confort muhitni qurish. Bu narsani birnechta hamkasb do'stlarim amalda ko'rsatib berishdi.
Man uchun oldin ko'p narsalar defaultroq bo'lgani qiziq edi. Ammo tushundimki bazi narsalar rostdan ham man uchun noqulay yani bu shaxsiy tanlov. Huddiki hayotdagi boshqa tanlovlarimiz kabi, custom workspace mavzusi ham shaxsiy tanlov. Bunda hechkim bir birini hate qilolmaydi, faqat biror narsani kamchilik va yutuqlarini muhokama qilish mumkin.
O'z ish muhitingizni qurishingiz orqali esa o'zingizga qulay, yoqimli atmosferada ishlashingiz garovi. Shu bilan birga jarayonda chiqgan muammolar yuzasidan izlanishlar qilasiz, nimadirlrani yaxshiroq tushuna boshlaysiz yoki o'rganishga majbur bo'lasiz.
Yangi boshlovchilarga esa: Your work environment, your first project production.
Siz tanalab chiqasiz, har bir mavzuda qanday toolardan foydalanishni, siz foydalanadigan OS qanday bo'lishini. Shu orqali o'rganasiz OSni qanday configure qilishni, qanday text editor configure qilishni. Uyoqda ham yangi muammolarga uchraysiz, balki yangi tillar bilan tanisharsiz. Shu orqali dunyoqarashingiz kengayadi va creativity oshadi deb o'ylayman. Kimdir hammayoqni cyberpunk qilib tashlasa kimdir juda minimalist bo'ladi. Eng muhimi esa shunday qilib sizda shaxsiy qarashlar rivojlanadi va tajriba oshadi. Albatta sizga hechkim pul to'lamaydi bu ishlarni qilganiz uchun, hechkim sizga rahmat demasligi mumkin. Ammo jarayondan kayf qilasiz. Hamma narsani to'liq o'zingiz 0dan yozmay boshqalardan terib chiqsangiz ham hechnima yoqotmaysiz. Muhimi aynan siz uchun maxsus ish muhiti bo'lishi. Kimdirlar o'zining keyboardlarigacha yasab chiqadi, ammo bu masala ham personal choise. Demak ular uchun shu muhim yoki qiziq.
Yaxshi expirence qilishning eng yaxshi uslublaridan biri bu o'zingiz uchun confort muhitni qurish. Bu narsani birnechta hamkasb do'stlarim amalda ko'rsatib berishdi.
Man uchun oldin ko'p narsalar defaultroq bo'lgani qiziq edi. Ammo tushundimki bazi narsalar rostdan ham man uchun noqulay yani bu shaxsiy tanlov. Huddiki hayotdagi boshqa tanlovlarimiz kabi, custom workspace mavzusi ham shaxsiy tanlov. Bunda hechkim bir birini hate qilolmaydi, faqat biror narsani kamchilik va yutuqlarini muhokama qilish mumkin.
O'z ish muhitingizni qurishingiz orqali esa o'zingizga qulay, yoqimli atmosferada ishlashingiz garovi. Shu bilan birga jarayonda chiqgan muammolar yuzasidan izlanishlar qilasiz, nimadirlrani yaxshiroq tushuna boshlaysiz yoki o'rganishga majbur bo'lasiz.
Yangi boshlovchilarga esa: Your work environment, your first project production.
Siz tanalab chiqasiz, har bir mavzuda qanday toolardan foydalanishni, siz foydalanadigan OS qanday bo'lishini. Shu orqali o'rganasiz OSni qanday configure qilishni, qanday text editor configure qilishni. Uyoqda ham yangi muammolarga uchraysiz, balki yangi tillar bilan tanisharsiz. Shu orqali dunyoqarashingiz kengayadi va creativity oshadi deb o'ylayman. Kimdir hammayoqni cyberpunk qilib tashlasa kimdir juda minimalist bo'ladi. Eng muhimi esa shunday qilib sizda shaxsiy qarashlar rivojlanadi va tajriba oshadi. Albatta sizga hechkim pul to'lamaydi bu ishlarni qilganiz uchun, hechkim sizga rahmat demasligi mumkin. Ammo jarayondan kayf qilasiz. Hamma narsani to'liq o'zingiz 0dan yozmay boshqalardan terib chiqsangiz ham hechnima yoqotmaysiz. Muhimi aynan siz uchun maxsus ish muhiti bo'lishi. Kimdirlar o'zining keyboardlarigacha yasab chiqadi, ammo bu masala ham personal choise. Demak ular uchun shu muhim yoki qiziq.
🔥8💯1
Forwarded from @yegor256 news (Yegor Bugayenko)
You may have heard of SeedRamp, a micro-investment fund we launched in California ten years ago. We are now giving it a new life. The idea is simple. Early-stage startups often need a small amount of capital to survive until their first major investment round. That is where we come in. You apply, tell us your story, and if we believe in your startup, we invest up to $20,000 in exchange for convertible notes. The investment decision is made on the spot, during the interview (in English). Every interview is fully recorded and published on YouTube, just as we did with all previous SeedRamp investments. If you are building something real and need a runway boost, be brave and apply.
❤1🤔1
Programming ∀
Ancha azob uqubatlardan so'ng errorlarni trace qilish g'oyasi ishladi. Afsus, xozircha rustda journalni watch qilishga effectiveroq yechim topolmadim va tinmay journalctl qilib o'tiribti. Endi ertadan journalga ulanamiz va uni parse qilib OSda sodir bo'lgan…
Nix commandlar fail bo'lsa ham olyabmiz endi. Jarayon haqida full logni ham olishimiz mumkin endi.
⚡8
Ko'pchilik OS darslarida o'rgangan bo'lsa kerak, processlar ma'lumot almashishi uchun turli ko'rinish va protocollar bor.
Masalan hammamiz bilgan network protocollar.
Lekin hech o'ylab ko'rganmisiz OS ichida internal qanday qilib ma'lumot almashish mumkin ?
Bizda 2ta process bor, endi ular ma'lumot almashishi kerak, ha balki unix socketlar birinchi hayolingizga kelgandir :) Tog'ri localda network exchange tezroq bo'ladi bazi OSI layerlari skip qilgani uchun.
Lekin yanada qiziqroq aynan local IPC uchun mo'ljallangan narsalar ham bor masalan DBUS linuxda alohida message bus system. Buni ko'proq brokerlarga ham o'xshatsa bo'ladi. Chunki siz api qilganizda alohida bus namespace yozasiz, huddi topiclar, channellar kabi. Kegin contactlarni belgilaysiz huddi kafkadagi avro schemalar kabi. High levelda biroz o'xshaydi ammo 1:1 tassavur qilmang.
Qizig'i dbus tiplarni ham support qiladi )) Ha biroz eskicha dizayn va bazi narsalar xml bilan. Lekin siz o'ylagan REST apilardan yaxshiroq dizayn qilsa bo'ladi ko'p narsani ))
Albatta IPC uchun dbusdan ham yaxshiroq yechimlar bo'lishi mumkin. XML hisobga olmasak dbus api design qilish ancha yoqimliroq lekin.
Batafsil: https://www.freedesktop.org/wiki/Software/dbus/
Masalan hammamiz bilgan network protocollar.
Lekin hech o'ylab ko'rganmisiz OS ichida internal qanday qilib ma'lumot almashish mumkin ?
Bizda 2ta process bor, endi ular ma'lumot almashishi kerak, ha balki unix socketlar birinchi hayolingizga kelgandir :) Tog'ri localda network exchange tezroq bo'ladi bazi OSI layerlari skip qilgani uchun.
Lekin yanada qiziqroq aynan local IPC uchun mo'ljallangan narsalar ham bor masalan DBUS linuxda alohida message bus system. Buni ko'proq brokerlarga ham o'xshatsa bo'ladi. Chunki siz api qilganizda alohida bus namespace yozasiz, huddi topiclar, channellar kabi. Kegin contactlarni belgilaysiz huddi kafkadagi avro schemalar kabi. High levelda biroz o'xshaydi ammo 1:1 tassavur qilmang.
Qizig'i dbus tiplarni ham support qiladi )) Ha biroz eskicha dizayn va bazi narsalar xml bilan. Lekin siz o'ylagan REST apilardan yaxshiroq dizayn qilsa bo'ladi ko'p narsani ))
Albatta IPC uchun dbusdan ham yaxshiroq yechimlar bo'lishi mumkin. XML hisobga olmasak dbus api design qilish ancha yoqimliroq lekin.
Batafsil: https://www.freedesktop.org/wiki/Software/dbus/
🔥9
Linuxni kavlar ekansiz yana juda ko'p ajoyibotlar kelib chiqaveradi. Tarixni o'qigandan doyim ham foyda yo'q. Juda ham ko'p abstraksiyalar ustiga abstraksiyalarni ko'raverasiz.
Masalan ko'pchilik gapiradigan init paytini o'zida juda ko'p hodisalar bo'ladi. Sizga ko'rinadigan juda ko'p narsalar filelardan tashkil topgan, ularni ochib shu faylar bilan "o'ynashib" ko'rsangiz bo'ladi.
Hullas oddiy
Hullas Kustoning sarguzashtlari bo'ladi bularni kavlashingiz.
Masalan ko'pchilik gapiradigan init paytini o'zida juda ko'p hodisalar bo'ladi. Sizga ko'rinadigan juda ko'p narsalar filelardan tashkil topgan, ularni ochib shu faylar bilan "o'ynashib" ko'rsangiz bo'ladi.
Hullas oddiy
lsblk qanday ishlashini ko'rsangiz disklar ro'yxatini fayllar ichidan qidirib topish mumkin :)Hullas Kustoning sarguzashtlari bo'ladi bularni kavlashingiz.
🔥7😁1🆒1
Dynamic frequency scaling
Juda ham qiziq narsa modern cpularda mutlicoredan tashqari frequency stagelar ham bor. Masalan: power save, normal, boost.
5Ghz frequencylik cpu doyim 5Ghz ishlamaydi, boshlang’ich chastota bo’ladi. Eng qizig’i esa. O’sha 5Ghzlik cpuni 6-7Ghz qilish ham mumkin, bu narsa overclocking deyiladi.
Juda ham qiziq narsa modern cpularda mutlicoredan tashqari frequency stagelar ham bor. Masalan: power save, normal, boost.
5Ghz frequencylik cpu doyim 5Ghz ishlamaydi, boshlang’ich chastota bo’ladi. Eng qizig’i esa. O’sha 5Ghzlik cpuni 6-7Ghz qilish ham mumkin, bu narsa overclocking deyiladi.
✍5
Programming ∀
Linuxni kavlar ekansiz yana juda ko'p ajoyibotlar kelib chiqaveradi. Tarixni o'qigandan doyim ham foyda yo'q. Juda ham ko'p abstraksiyalar ustiga abstraksiyalarni ko'raverasiz. Masalan ko'pchilik gapiradigan init paytini o'zida juda ko'p hodisalar bo'ladi.…
Rasmlarga yaxshilab etibor qilsangiz yuqoridagi postda aytgan narsamni tushunasizlar.
Linuxda hamma narsa fayl ekani sizni foydangizga uyoqdagi har bir componentni o'z qo'llaringiz bilan ushlab ko'rsangiz bo'ladi. Kerak bo'lsa bazi narsalarni umuman boshqacha ishlashga ham majburlay olasiz vaxakazo.
Linuxda hamma narsa fayl ekani sizni foydangizga uyoqdagi har bir componentni o'z qo'llaringiz bilan ushlab ko'rsangiz bo'ladi. Kerak bo'lsa bazi narsalarni umuman boshqacha ishlashga ham majburlay olasiz vaxakazo.
🔥4
Yana bir qiziq narsalardan biri pseudo random generator. Linux o'zida
Random generate qilish bilamizki doyim o'ziga yarasha challengelardan iborat va buning turlicha algorithmlari mavjud.
Real usecaselardan biri.
Batafsil: https://en.wikipedia.org/wiki//dev/random
/dev/random va /dev/urandom faylarini ochib raqamlarni olsangiz bo'ladi. Lekin bu maxsus shifrlangan random raqamlar yani decode qilish kerak. Random generate qilish bilamizki doyim o'ziga yarasha challengelardan iborat va buning turlicha algorithmlari mavjud.
Real usecaselardan biri.
cat /dev/random | hexdump bilan biz random hex generate qilsak bo'ladi, hex esa uuidga o'xshab ketadi, aniq formati va size esda yo'q bilganlar share qiling iltimos, lekin biz ls /dev/disk/by-uuid buyrug'i bilan disklar idsini ko'rsak bo'ladi va bu biz randomdan olgan formatga juda o'xshash. Ushbu idlar bizga booting paytida beriladi.Batafsil: https://en.wikipedia.org/wiki//dev/random
🔥1🤯1
Programming ∀
Nix commandlar fail bo'lsa ham olyabmiz endi. Jarayon haqida full logni ham olishimiz mumkin endi.
Yangi o'yinchi.
Kechadan buyon bu loglarni alohida storagega vaqtincha saqlash bizdagi logs(huddi gnome logs) kabi app uchun ko'rastish uchun mos keladigan structure o'ylayotgan edim.
1. Sqlite yoki bo'lmasa boshqa emmbeded databasedan foydalanish g'oyasi kelgandi. Ammo buning minusi loglarni dbga yozib kegin undan yana dump export qilish va server sideda ushbu loglarni yana transform qilish qiyinroq bo'lishini o'yladim.
2. Har bir problem alohida folderda saqlanadi va FS o'zida strukturalanadi, huddi linux kabi )) Ammo bu narsa report paytida collect qilib compress qilishga efficent emas chunk ko'p bo'lsa processing uzoqroq vaqt olishi mumkin.
Hullas bugun ham ushbu masala muhokamasi bo'ldi. Lekin boshqa ideya kelib qoldi. Huddi systemd journal kabi journaling organize qilsakchi ?
Linuxda jouraling yetarlicha efficient qilingan write, search, read hammasi norm. LSM tree ishlaydi undan tashqari ushbu formatni export qilish uchun ham tayyor alogirthmlar ko'p, bu degani, bizga katta loglar kelsa ham chiroyli formatga olish va troubleshooting qilish osonroq bo'ladi indexing ham oson. Hullas ideya tayyor va shuni minimalroq versiyasini yasash kerak endi.
Systemd doclarni aylanib yurib journal file formati haqida o'qib qoldim. Hullas bu narsani prototype versiyasini qilib ko'rishga arziydi, manda xozircha systemd kabi juda ko'p parametrlar emas shu sababli taxminan manashu narsalarni yaxshi qilib olsak vapshem zo'r bo'ladi.
- Can store binary data, up to 2^64-1 in size
- Seekable
- Primarily append-based, hence robust to corruption
Journal file format haqida batafsil: https://systemd.io/JOURNAL_FILE_FORMAT/
Kechadan buyon bu loglarni alohida storagega vaqtincha saqlash bizdagi logs(huddi gnome logs) kabi app uchun ko'rastish uchun mos keladigan structure o'ylayotgan edim.
1. Sqlite yoki bo'lmasa boshqa emmbeded databasedan foydalanish g'oyasi kelgandi. Ammo buning minusi loglarni dbga yozib kegin undan yana dump export qilish va server sideda ushbu loglarni yana transform qilish qiyinroq bo'lishini o'yladim.
2. Har bir problem alohida folderda saqlanadi va FS o'zida strukturalanadi, huddi linux kabi )) Ammo bu narsa report paytida collect qilib compress qilishga efficent emas chunk ko'p bo'lsa processing uzoqroq vaqt olishi mumkin.
Hullas bugun ham ushbu masala muhokamasi bo'ldi. Lekin boshqa ideya kelib qoldi. Huddi systemd journal kabi journaling organize qilsakchi ?
Linuxda jouraling yetarlicha efficient qilingan write, search, read hammasi norm. LSM tree ishlaydi undan tashqari ushbu formatni export qilish uchun ham tayyor alogirthmlar ko'p, bu degani, bizga katta loglar kelsa ham chiroyli formatga olish va troubleshooting qilish osonroq bo'ladi indexing ham oson. Hullas ideya tayyor va shuni minimalroq versiyasini yasash kerak endi.
Systemd doclarni aylanib yurib journal file formati haqida o'qib qoldim. Hullas bu narsani prototype versiyasini qilib ko'rishga arziydi, manda xozircha systemd kabi juda ko'p parametrlar emas shu sababli taxminan manashu narsalarni yaxshi qilib olsak vapshem zo'r bo'ladi.
- Can store binary data, up to 2^64-1 in size
- Seekable
- Primarily append-based, hence robust to corruption
Journal file format haqida batafsil: https://systemd.io/JOURNAL_FILE_FORMAT/
🆒2👏1
Bir uxlab tursam yangi odamman.
Hullas tajribam davomida sezdimki man o'rgangan ko'p narsalar esdan chiqgan. Masalan 2020 yil distrubuted systems mavzulari rossa hype bo'layotgan davrda manam zadrod bo'lib o'qigan edim. U payitlar optionlar kam edi, highload degan kanalda juda ko'p mavzular topganman va yana birnechta shu youtube kanallardan qidirib bazi communitylardan kerakli odamlardan so'rab o'rgangan edim. Kegin Domain driven design ham shunaqa bo'lgan Evnasni 700 betlik nazariyasini o'rganaman deb rossa siqilgan edim unda ham shu axvol youtube, gotoda Martin Fawler amakilar chiqib rossa ko'p narsalar aytib berishardi.
2023 deyarli hechvaqo o'rganmagandim, devopslik qilganman va baravar 3ta ishda ishlagan payitim bo'ldi. Biror yangi narsa o'rganish uyoqda tursin odamlarni ko'rishni istamay qolgandim.
2024 true oop o'rganaman deb hamma joyni rasvo qilganman. Nu asosan ko'p yangi perespektivalarni discover qildim. Asosan professionalism o'rgandim desam bo'ladi. Hayotga logn term qarashni boshladim.
2025 Functional programming, Haskell etc..
Ishqilib tushundimki paytida rossa ishlatgan narsalarimi ko'pi ham esdan chiqib ketgan fikrimcha bu normal holat. Hullas kerak bo'lganida topilmaydigan uyda yotgan batareyka yoki boshqa narsa kabida bu foydalanilmagan bilim. Shu sababli nimadirdan foydalanmasam uni o'rganishga vaqt sarflash haqida o'ylab ko'raman. Agar kamida shu mavzuda expirementlarga vaqt ajrata olishimni sezsam unda qo'rmasdan o'rganaman.
O'tgan kuni bir hamkasbim bilan shu backendagi bir muammosi haqida gaplashgan edik na terminlar esga keladi na odamga o'xshab tushuntirolaman. Biroz 5-6 daqiqa o'ylab kegin gapirib berdim.
Hullas tajribam davomida sezdimki man o'rgangan ko'p narsalar esdan chiqgan. Masalan 2020 yil distrubuted systems mavzulari rossa hype bo'layotgan davrda manam zadrod bo'lib o'qigan edim. U payitlar optionlar kam edi, highload degan kanalda juda ko'p mavzular topganman va yana birnechta shu youtube kanallardan qidirib bazi communitylardan kerakli odamlardan so'rab o'rgangan edim. Kegin Domain driven design ham shunaqa bo'lgan Evnasni 700 betlik nazariyasini o'rganaman deb rossa siqilgan edim unda ham shu axvol youtube, gotoda Martin Fawler amakilar chiqib rossa ko'p narsalar aytib berishardi.
2023 deyarli hechvaqo o'rganmagandim, devopslik qilganman va baravar 3ta ishda ishlagan payitim bo'ldi. Biror yangi narsa o'rganish uyoqda tursin odamlarni ko'rishni istamay qolgandim.
2024 true oop o'rganaman deb hamma joyni rasvo qilganman. Nu asosan ko'p yangi perespektivalarni discover qildim. Asosan professionalism o'rgandim desam bo'ladi. Hayotga logn term qarashni boshladim.
2025 Functional programming, Haskell etc..
Ishqilib tushundimki paytida rossa ishlatgan narsalarimi ko'pi ham esdan chiqib ketgan fikrimcha bu normal holat. Hullas kerak bo'lganida topilmaydigan uyda yotgan batareyka yoki boshqa narsa kabida bu foydalanilmagan bilim. Shu sababli nimadirdan foydalanmasam uni o'rganishga vaqt sarflash haqida o'ylab ko'raman. Agar kamida shu mavzuda expirementlarga vaqt ajrata olishimni sezsam unda qo'rmasdan o'rganaman.
O'tgan kuni bir hamkasbim bilan shu backendagi bir muammosi haqida gaplashgan edik na terminlar esga keladi na odamga o'xshab tushuntirolaman. Biroz 5-6 daqiqa o'ylab kegin gapirib berdim.
🕊4😁2
Biror narsa yaxshi esda qolishi uchun esa rutine kerak yani qanaqadir davomli shu narsaga qaytaverish. Bo'lmasa esda qolmaydi ham kerak bo'lganda esga kelmaydi ham. Shu sababli endi takrorlashni odat qila boshladim.
🔥6