Qiziq tarix ushbu video hisoblash tarixi haqida. Ammo eng qizig'i bu videoda International Research Conferenceda eng birinchi marotaba computing history haqida gapirilgan. O'sha davrlarda ishlab chiqilgan hisoblash mashinalari yani computerlar xozirgilari bilan solishtirsangiz juda katta farqlarga ega. Ammo videoda analog computing ham biroz gapirilgan. Bu mavzuda ham o'z branchida davom etyabti xozirgacha.
Video juda qiziq ko'rishga arziydi.
https://www.youtube.com/watch?v=uS0OBi74hfM&list=PLQsxaNhYv8dajXDgwQzSKo1UyKmWpa9bI&index=9
Video juda qiziq ko'rishga arziydi.
https://www.youtube.com/watch?v=uS0OBi74hfM&list=PLQsxaNhYv8dajXDgwQzSKo1UyKmWpa9bI&index=9
YouTube
Computing Developments 1935-1955, as Seen from Cambridge, USA by Garrett Birkhoff
The First International Research Conference on the History of Computing was a milestone in the history of computing, drawing a global elite of computer pioneers from the first generation of electronic digital computing. Most talks are approximately 45 minutes…
❤1
Pandocga ham 20 yil bo’libti turli turdagi document filelarbi convert va parse qilgani juda ham kuchli instrument.
https://pandoc.org/twenty-years-of-pandoc.html
https://pandoc.org/twenty-years-of-pandoc.html
Pandoc
Pandoc - twenty-years-of-pandoc
A universal document converter
getUnindexedReports barcha indexlanmagan reportlarni olib keladi.Indexlash haqida qisqacha aytsam bizga kelgan reportlarni Opensearchga yozamiz. Bazida birnecha file gigabyte bo'lib ketadi. Opensearchga esa bu datalarni shunchaki save qimaymiz balki index pattern qilib dicover uchun url ham qoldirish kerak.
Asosiy ideya report qilingan loglarni analiz qila olishdan iborat
getUnindexedReports bizda barcha yangi indexlanmagan reportlani olib keladi va endi har bir reportni indexlanishi umuman processing ancha uzoq bo'ladi shu endi har bir reportni concurrent process qilish kerak. Manashu joyda haskellni yulduzli onlari concurrent qilishga man
forM ni shunchaki forConcurrently ga o'zgartirib qo'ydim va shu bilan endi hamma reportlar concurrent process qilinadi.😱3❤1
Man senior bo'lmaganman 🥲
Lekin rossa ko'p dolban seniorlarga shapaloq berganman.
😁11👏3🦄2
The State of Post-Quantum Cryptography
https://www.feistyduck.com/newsletter/issue_139_the_state_of_post-quantum_cryptography
https://www.feistyduck.com/newsletter/issue_139_the_state_of_post-quantum_cryptography
Ko'pchilik murakkab yoki juda nazariy deydigan mavzular industrialashuviga yaxshi misollardan biri bu algebraic effect handlers umuman effect sistemalar.
Effect sistemalar controlflow uchun alternativ sifatida qaraladi. Masalan siz bilgan, try/catch/finally vaxakazolar ham manashu alebraic effect handlerlarga misol. Effectlarga misol esa Fs, IO capabilietes deb qarashingiz mumkin. Masalan sizni funksiyada faylni o'qish kerak bo'lsa demak funksiyangizda FS capabilites bo'lishi kerak. Effect sistemalar esa manashuni ma'lum semantics asosida generalize ham qiladi. Aytaylik siz ni funksiyada faqat FS capabilites bor, demak funksiyada biror muammo chiqsa aynan FS related side effectlardan chiqadi va ushbu side effectlar compile timeda check va track qilinadi. Va invariantlar bo'lsa compile timeda yuzaga chiqadi. Bu bilan biz runtime emas compile timeda side effectlar xavfsizligiga erisha olamiz. Yani biz side effect qilishimiz uchun oldin ushbu side effect capabilitesni ishlatish kerakligini ham belgilashimiz kerak.
Effect sistemalarning yana bir kuchli tomoni bemalol mock ham qilish mumkin. Masalan biror effectni mock qilsangiz sizni dasturning holati o'zgarmaydi. Masalan
Agar effect system effectlarni yetarlicha yaxshi track qila olsa bazi holatlarda determinizmga ham erishish mumkin. Masalan Random(seed) agar seed fixed bo'lsa
Ko'p dasturlash tillarida esa bunday narsalar doyim ham inobatga olinmaydi. Kegin runtimeda turli muammolarga sabab bo'lishi mumkin. Effect sistemalar esa manashunday muammolarni aynan compile timeda topishga dasturni eng boshidan xavfsiz side effectlar qila olishiga kerakli imkoniyatlarni taqdim qiladi.
Rasmda Algebraic Effect handlersni mainstream qilishdan motivivatsiya bayon qilingan.
Effect sistemalar controlflow uchun alternativ sifatida qaraladi. Masalan siz bilgan, try/catch/finally vaxakazolar ham manashu alebraic effect handlerlarga misol. Effectlarga misol esa Fs, IO capabilietes deb qarashingiz mumkin. Masalan sizni funksiyada faylni o'qish kerak bo'lsa demak funksiyangizda FS capabilites bo'lishi kerak. Effect sistemalar esa manashuni ma'lum semantics asosida generalize ham qiladi. Aytaylik siz ni funksiyada faqat FS capabilites bor, demak funksiyada biror muammo chiqsa aynan FS related side effectlardan chiqadi va ushbu side effectlar compile timeda check va track qilinadi. Va invariantlar bo'lsa compile timeda yuzaga chiqadi. Bu bilan biz runtime emas compile timeda side effectlar xavfsizligiga erisha olamiz. Yani biz side effect qilishimiz uchun oldin ushbu side effect capabilitesni ishlatish kerakligini ham belgilashimiz kerak.
Effect sistemalarning yana bir kuchli tomoni bemalol mock ham qilish mumkin. Masalan biror effectni mock qilsangiz sizni dasturning holati o'zgarmaydi. Masalan
readFile mock qilinsa siz readFile chaqirganingizda olgan natijangizga qarab dastur ishi davom etaveradi. Agar biror muammo bo'lsa albatta effect throw qiladi siz esa uni catch qilasiz. Effect success bo'lsa sizni dastur ishini davom qialveradi. Agar effect system effectlarni yetarlicha yaxshi track qila olsa bazi holatlarda determinizmga ham erishish mumkin. Masalan Random(seed) agar seed fixed bo'lsa
nextInt doyim birxil inputga birxil output qaytaradi. Qiziq tomoni random funksiyasi nondeterministic ko'ringani bilan bu yerda deterministic ishlayabi sababi bu yerda nondeterminizm parametrlangan yani seedga bog'liq. Agar shunchaki Random() bo'lsa ham barbir seedni qayerdandir explicit oladi. Demak nextInt side effect qiladi ammo buning sababi bu yerda seed nondetermenistic ekanida. Ushbu misol yana bir qiziq narsaga etiborni qaratadi yani effectlar boshqa effectlardan foydalanishi mumkin. Effect sistemalarda aynan birnecha effectlarni compose qilish uchun ham turli yechimlar qilingan. Masalan bazi effectlar statega bog'langan bazilari orderinga bog'langan. Ko'p dasturlash tillarida esa bunday narsalar doyim ham inobatga olinmaydi. Kegin runtimeda turli muammolarga sabab bo'lishi mumkin. Effect sistemalar esa manashunday muammolarni aynan compile timeda topishga dasturni eng boshidan xavfsiz side effectlar qila olishiga kerakli imkoniyatlarni taqdim qiladi.
Rasmda Algebraic Effect handlersni mainstream qilishdan motivivatsiya bayon qilingan.
❤2
LLMlar yo'q zamonda ko'p narsa qadirliroq edi.
1. Yozilgan kodning qadri. Masalan bir narsani yakunlash ham oson bo'lmas edi bazida. Bazi narsalarni tadbiq qilgani esa oylab vaqt ketar edi kerak bo'lsa.
2. Bilimning qadri. Kuchli bilimli odamlar qadri ancha baland edi va sezilib turar edi chatlarda ham uning kvalifikatsiyasi. Eslayman internet tanqis davrlarda torrentlardan ko'chirib Hard diskga tutorial yeg'ib o'tirar edik. Zeal kabi dasturlarni ishlatar edik manual o'qigani or apilarni qaragani chunki doyim ham online access bo'lmasligi mumkin edi.
3. Networking qadri ancha baland edi. Odamlar yangi hamkasblar bilan tanishish uchun ham turli forum, chatlarda o'tirishardi. Meetup, conferencelarda ham ancha saviyali mavzular bo'lgani uchun ham odamlar borar edi networking va bilim olgani.
4. Exchange expirence. Tajriba almashinuv ancha qadirli edi bazi momentlarda soatlab debatlar ham bo'lar edi. Tajriba almashar edik va yangi narsalarni ko'p o'rganar edik. Bunday momentlar o'ziga yarasha juda qiziq jarayon bo'lar edi sababi biror narsani soatlab gaplashib debat qilish, hulosalarni jamlab olish va vaqt o'tganida shu narsa amalda tadbiq qilinsa yana shu tajribani boshqalarga ulashish o'ziga yarasha kayf edi.
Bundan taxminan 3-4 yil oldincha dasturlash oddiy kasb bo'lib qolishini aytganimda. Yani qadirsizlanib ketishini aytganimda bu jarayon aynan manashunaqa ko'rinishda bo'lishi hayolimga ham kelmagandi. Shunchaki kuzatuvlarimda ko'rgan edimki odamlar mazza qilib ishlamayabti, ko'pchilik asosan pul topishga kelgan va getting shit done qiladi. Shundan tushungan edimki birkun kelib dasturchining ham qadri pasayib ketadi. Shu kunlarni ham yashayabmiz mana. Buyog'iga nima bo'lishi haqida ham hulosam yo'q. Ammo mani muhandislik bilimlarim farzandlarimga kerak bo'lmasa kerak degan taxminim ham bor. Huddi otamning muhandislik bilimlari manga kerak bo'lmagani kabi.
1. Yozilgan kodning qadri. Masalan bir narsani yakunlash ham oson bo'lmas edi bazida. Bazi narsalarni tadbiq qilgani esa oylab vaqt ketar edi kerak bo'lsa.
2. Bilimning qadri. Kuchli bilimli odamlar qadri ancha baland edi va sezilib turar edi chatlarda ham uning kvalifikatsiyasi. Eslayman internet tanqis davrlarda torrentlardan ko'chirib Hard diskga tutorial yeg'ib o'tirar edik. Zeal kabi dasturlarni ishlatar edik manual o'qigani or apilarni qaragani chunki doyim ham online access bo'lmasligi mumkin edi.
3. Networking qadri ancha baland edi. Odamlar yangi hamkasblar bilan tanishish uchun ham turli forum, chatlarda o'tirishardi. Meetup, conferencelarda ham ancha saviyali mavzular bo'lgani uchun ham odamlar borar edi networking va bilim olgani.
4. Exchange expirence. Tajriba almashinuv ancha qadirli edi bazi momentlarda soatlab debatlar ham bo'lar edi. Tajriba almashar edik va yangi narsalarni ko'p o'rganar edik. Bunday momentlar o'ziga yarasha juda qiziq jarayon bo'lar edi sababi biror narsani soatlab gaplashib debat qilish, hulosalarni jamlab olish va vaqt o'tganida shu narsa amalda tadbiq qilinsa yana shu tajribani boshqalarga ulashish o'ziga yarasha kayf edi.
Bundan taxminan 3-4 yil oldincha dasturlash oddiy kasb bo'lib qolishini aytganimda. Yani qadirsizlanib ketishini aytganimda bu jarayon aynan manashunaqa ko'rinishda bo'lishi hayolimga ham kelmagandi. Shunchaki kuzatuvlarimda ko'rgan edimki odamlar mazza qilib ishlamayabti, ko'pchilik asosan pul topishga kelgan va getting shit done qiladi. Shundan tushungan edimki birkun kelib dasturchining ham qadri pasayib ketadi. Shu kunlarni ham yashayabmiz mana. Buyog'iga nima bo'lishi haqida ham hulosam yo'q. Ammo mani muhandislik bilimlarim farzandlarimga kerak bo'lmasa kerak degan taxminim ham bor. Huddi otamning muhandislik bilimlari manga kerak bo'lmagani kabi.
😢14💯5❤1👏1
Juda qiziq video. Rust boshida ancha boshqacha bo'lgan ekan.
https://www.youtube.com/watch?v=79PSagCD_AY
https://www.youtube.com/watch?v=79PSagCD_AY
YouTube
The History of Rust
Author: Steve Klabnik
Abstract:
The Rust programming language recently celebrated its one year anniversary since 1.0. While that's not a long time, there were eight years of development before that, which saw radical changes in the language. In this talk…
Abstract:
The Rust programming language recently celebrated its one year anniversary since 1.0. While that's not a long time, there were eight years of development before that, which saw radical changes in the language. In this talk…
Nega bu kompaniyalar bunchalik qo'rqoq bo'lmasa-a ?
Blya vpn yoniqligida uzum ishlamas ekan, boshqa juda ko'p local servislaram ishlamaydi.
Blya vpn yoniqligida uzum ishlamas ekan, boshqa juda ko'p local servislaram ishlamaydi.
🤣8
Programming ∀
Yoshlar aynab bumble coffe ichlyabti mikkimauslar
Coffega shakar solishni o’zi jinoyatdir
🔥6💯5🤣1🤪1🗿1
Programming ∀
Haskell yoki Rustga o'xshagan tillarda optional tiplarga duch kelasiz. Imperativ tillardagi NULL o'rniga ko'proq manashunday abstraksiyalar ishlatilinadi. Haskell: Maybe Rust: Option Bu abstraksiyalar bizga optional valuelar bilan ishlagani kerak, imperativ…
Forgejo api bilan ishlaganda manashunday holatlarga duch kelyabmiz.
Muammo nimada ?
Masalan forgejo issue yasagani api bor deylik. Endi tabiyki Issue kimgadir yoki kimlargadir tayinlanishi mumkin.
Forgejoda shular special bo'lib qolgan. Agar siz faqat bir odamga tayinlamoqchi bo'lsangiz shu assigne qilasiz. Agar ko'pchilikga bo'lsa asigness ga berasiz. Bu holatda bunaqa bo'lishi mumkin.
Single.
Single holatida bu field o'zi nullable. Yani assignee qiymati null bo'lishi mumkin.
Multiple:
```
Bu holatda birnechta user bo'lishi mumkin.
Xop diffda ko'ryabsizki buyoqda
Buning sababi siz empty list of users bera olmaysiz sodda aytsak.
Endi nima confuse qilyabti ?
1. Agar man
2. Nega bizda 2ta empty case bor list uchun ? Yani bizda
Yechim.
Agar chiroyli design qilish kerak bo'lsa qanday qilgan bo'lar edik ?
Muammo nimada ?
Masalan forgejo issue yasagani api bor deylik. Endi tabiyki Issue kimgadir yoki kimlargadir tayinlanishi mumkin.
Forgejoda shular special bo'lib qolgan. Agar siz faqat bir odamga tayinlamoqchi bo'lsangiz shu assigne qilasiz. Agar ko'pchilikga bo'lsa asigness ga berasiz. Bu holatda bunaqa bo'lishi mumkin.
Single.
{
...
"assigneess": [User]
...
}Single holatida bu field o'zi nullable. Yani assignee qiymati null bo'lishi mumkin.
Multiple:
```
Bu holatda birnechta user bo'lishi mumkin.
Xop diffda ko'ryabsizki buyoqda
[User] tipi yana Maybega o'raldi. Buning sababi nima ?Buning sababi siz empty list of users bera olmaysiz sodda aytsak.
[] mumkin emas. Bu albatta null bo'lishi kerak.Endi nima confuse qilyabti ?
1. Agar man
assigneess qiymatiga 1ta itemlik user list bersam validmi ? Agar ha bo'lsa unda nega kerak bu assignee ?2. Nega bizda 2ta empty case bor list uchun ? Yani bizda
null bor va [] bor. Ammo api empty case deb faqat null ni qabul qiladi.Yechim.
Agar chiroyli design qilish kerak bo'lsa qanday qilgan bo'lar edik ?
assigneess qoldiramiz faqat agar [] bu issueni hechkimga tayinlanmaganini bildiradi, qolgan keyslarda esa list of users va hamma baxtli.😁1
Forwarded from bahrom04
nixpkgs reposiga oʻzingiz paket chiqarish boʻyicha qilinadigan ishlarni yozdim.
- Maintainer roʻyxatiga github noyobnomizni qoʻshish
- Yangi yoki mavjud paketga fix yuborishda kommit xabarga kalitsoʻz yozish
https://gist.github.com/bahrom04/167ece36a268855aaac5332b7e94d3f9
- Maintainer roʻyxatiga github noyobnomizni qoʻshish
- Yangi yoki mavjud paketga fix yuborishda kommit xabarga kalitsoʻz yozish
https://gist.github.com/bahrom04/167ece36a268855aaac5332b7e94d3f9
Gist
nixpkgs reposiga hissa qoʻshish
nixpkgs reposiga hissa qoʻshish. GitHub Gist: instantly share code, notes, and snippets.
Macosda low power modega qo'yib rossa kutibman buildni, blya rostdan ishlar ekan power save mode ))
🤣5🔥1