անդրէ շտալցը շատ հետաքրքիր գրառում ա արել (նոր չի արել, ես եմ նոր կարդացել) այն մասին, ինչպէս էր փորձում իր js
֊ով գրուած secure scuttlebutt
֊ի յաւելուածի՝ manyverse
֊ի, կոդի հատուածները թարգմանել rust
֊ի։
ահա՝ https://staltz.com/rust-for-mobile-not-yet.html
հիմնականում լաւ նորութիւններն էին՝
js
֊ից rust
բարդ չէր, ահագին հեշտ թարգմանւում էր։չնայած նա գոհ էր, եւ աւելի շատ էի սպասում։
ինչը չի չափել, ու ինչն ինձ հետաքրքիր ա՝ օպերատիւ յիշողութեան օգտագործումը։ ինձ թւում ա՝ պիտի շաաատ աւելի քիչ լինէր։
իսկ վատ նորութիւնները, ինչի համար էլ հետարկեց իր փոփոխութիւնները՝
ասում ա՝ 3 րոպէ էր rust
քոմփայլերին պահանջւում մի պարզ գրադարան շինելու համար։
իսկ ամէն գրադարանը պէտք ա հաւաքէր մի քանի պրոցեսորի համար։ ու պարզւում ա որ պէտք ա երկար սպասել, որ ստանաս ու փորձարկես արդիւնքը։ սա յայտնի խնդիր ա, ու կան լուծումներ՝ տեսականօրէն rust
֊ը կարողանում ա «քեշ» անել շինելու արդիւնքները, բայց շտալցին չյաջողուեց այդ «քեշաւորումն» օգտագործել մոբայլ գործիքների հետ՝ nodejs-mobile
, Android Gradle
, ու դէ XCode
֊ի։
ասում ա՝ մեծ էր։
ասում ա, ստացւում էր, որ 100մբ֊ից մեծ apk
ա լինելու manyverse
֊ի մօտ, եթէ ամէնը rust
֊ի թարգմանեմ։
էստեղ ես չգիտեմ։ մի կողմից՝ 100մբ֊ն, հա, շատ ա։ ու էդ ամէնը օպերատիւ յիշողութեան մէջ ա լինելու։ միւս կողմից՝ js
կոդը չնայած փոքր ա աւելի՝ դէ տեքստ ա, բայց եւ ինտերպրետացիան անհամեմատ, իթ, աւելի շատ օպերատիւ յիշողութիւն ա պահանջելու։
էստեղ կարելի ա ասել, որ երեւի թէ, եթէ rust
չլինէր, այլ կներէք, «նորմալ» նատիւ կոդ գեներացնող լեզու, ամէն դէպքում էդքան մեծ կոդ չէր գեներացնի։ ու էդ խնդիրը չէր զգայ։
նաեւ, երկար չէր տեւի դա։
պլիւս դրան իր մօտ ստացւում էր, որ ամէն իր ռասթ մոդուլը պէտք ա ունենար նոյն կախուածութիւնները՝ «base64, byteorder, cfg-if, libc, memchr, rand, serde, thread_local» ու իր մօտ չէր ստացւում որ դրանք մէկ անգամ լինեն, այլ ոչ ամէն ռասթ մոդուլի համար։
ասում ա՝ գուցէ հնարաւոր ա որպէս դինամիկ գրադարան դրանք աւելացնել, բայց էլի՝ գաղափար չունեմ ինչպէս։
էստեղ կասեմ՝ գուցէ էլի ռասթից ա, որ յարմար միջոցներ չի տալիս դրա համար։
օրինակ, չնայած ես դա չեմ սիրում, բայց պասկալում շաաաատ հեշտացուած ա կրոսպլատֆորմ գրադարաններ գեներացնելը՝ մոդուլի վերնագիրը դնում ես ոչ թէ unit
այլ library
եւ քոմփայլերը գեներացնում ա քեզ so
, dll
կամ dylib
։
էստեղ էլ այլ խնդիր՝ apple
֊ի հետ կապուած, իրենք sdk
֊ից հանել են բոլոր dylib
֊երը, ու փոխարինել tbd
֊ներով։
եւ շաատ կարեւոր պահ՝ իր rust
֊ով գեներացուած բինարները չեն աշխատում՝ պայթում են android 5
֊ի տակ։ իսկ ի պատիւ իրան, նա մտածում ա այն մասին, որ հին անդրոիդների վրայ իր յաւելուածն աշխատի՝ զի մտահոգուած ա մեանմայի օգտատէրերի մասին։ իսկ իրենց զգալի մասը՝ անդրոիդ հինգի վրայ են։
բնօրինակն ունէք, թէ էլի մանրամասներ են հետաքրքրում։
ընդհանուր առմամբ, ինձ թւում ա, ռասթի մոլորեցնող հմայքը ստիպեց անդրէին այն փորձել, եւ հիասթափուել։ բայց եթէ նա նոյնը փորձէր անել ոչ էդքան մարկէտ արուած լեզուով, բայց նատիւ կոդ գեներացնող լեզուով՝ շատ հաւանական ա, աւելի լաւ արդիւնք ունենար։
ի դէպ, հէնց հիմա ռասթ ա շինում մեքենաս։ գիշերը թարմացումը չեղաւ, զի 13գբ տեղ չմնաց այն շինելու համար։ իսկ փայնբուքի վրայ լաւ զգում եմ՝ թէ ուզում եմ ֆայրֆոքս, պիտի շինեմ նաեւ ռասթ, իսկ այ դա տեւում ա աւելի երկար, քան ֆայրֆոքս շինելը՝ մի երկու֊երեք օր։
եւ այդպէս։
#անդրոիդ #այօս #սքաթլբաթ #յաւելուած #ծրագրաւորում #կազմարկիչ #կոմպիլեատոր #քոմփայլեր #ռասթ #ջս #մենիվերս #էփլ #պատմութիւն
գիշերը վերջապէս աշխատեցրի գօ֊ով գրուած ssb
փաբը։
նախկիում ssb.spyurk.am
֊ը հիմնականում անջատած էի պահում, զի ջս֊ով գրուած կոդն էր։ ամէն անգամ թարմացնում ես գիտ֊ից, ասում ա, էսքան խոցելիութիւն կայ։ ու կարծես տասնեակներ։ եթէ ֆիքսում ես՝ չի աշխատում։ չես ֆիքսում՝ վախենում ես էդպէս աշխատեցնել։
ինչեւէ։
հիմա գօ֊ով կոդն աշխատեցրի։ բաւական արագ շինուեց, շատ թեթեւ ա աշխատում։
այնպէս որ կարող եմ տալ հրաւէր, չգիտեմ հին հրաւէրները կաշխատե՞ն թէ չէ, կամ կը տեսնէ՞ք որ սերուերն օնլայն ա։
չգիտեմ։
ու տէնց։
#շշուկ #բամբասանք #սքաթլբաթ #սփիւռք #անկապ
ինչու ա ինձ գրաւում scuttlebutt հաղորդակարգը՝
հէնց այդ պատճառով ա որ մարդիկ շատ չեն սիրի, ու այնքան էլ ժողովրդական չի՝ յաւելուած ունենալը, եւ տուեալներ պահելը սպասարկչում աւելի յարմար ա, գոնէ այսօր, երեւի։ կամ այսօրուայ հեռախօսների ռեսուրսները հաշուի առնելով։ բայց ռեսուրսները միշտ են պակաս՝ վաղուայ հեռախօսների ռեսուրսները աւելի ագահօրէն կը սպառուեն նոր յաւելուածներով (տես վիրտի֊ռայզերի օրէնքը)։
սա նաեւ ինձ կը ստիպի աւելի խելացի կառավարել ռեսուրսները։ գուցէ աւելի քիչ մարդու հետեւէի, երբ գիտեմ որ տարածքով եմ վճարում։ եւ աւելի քիչ՝ յաճախ փոստող մարդու։
(ամէն անգամ գրում եմ՝ մարդ, ու մտածում որ ով ասես կարող ա օգտուի տեքնոլոգիայով, ինչո՞ւ հէնց մարդ)
ի դէպ, կան այսպէս կոչուած pub եւ room սպասարկիչներ։ pub֊ը պահում ա տեղեկատւութիւն, ու եթէ դու կպել ես փաբի, թարմացումներդ ստացել ա, իսկ յետոյ դու չկաս, բայց ես եմ կպել՝ քո նորութիւնները կը ստանամ։
room֊ի դէպքում յիշողութիւն չի օգտագործւում՝ պիտի երկուսս կպած լինենք որ տեղեկատւութեան փոխանակութիւնը տեղի ունենայ։ room֊ն ինձ աւելի հետաքրքիր ու հոգեհարազատ ա թւում։ ես նման պատճառով չէի ուզում ջաբերի՝ տարբեր կլիենտների մէջ սինքը միացնել՝ որ չպահեմ, գոնէ մի քանի օր, օգտուողների չաթերի պատմութիւնը։
սարքդ, իհարկէ, կարող են գողանալ, կամ կարող ես կորցնել՝ բայց ապա ընդամէնը պէտք ա պահած լինել private key֊ը մի տեղ։
կրիպտաւորուած ա, ի տարբերութիւն դիասպորա կամ մաստոդոն հանգոյցների, ուր հանգոյցի տէրը կարող ա տուեալների բազայից տեսնել անձնական փակ նամակները։
դու ներկայանում ես որպէս դու՝ եւ քեզ պէտք չի որեւէ հաստատում երրորդ անձից որ դու դու ես։ դու ունես քո private key֊ը որը հաստատում ա ինքնութիւնդ։ դու չպէտք ա ներկայանաս որպէս թութ.հայ֊ի էսինչը, կամ spyurk.am֊ի էս ինչը։
դու դու ես, եւ վերջ։ (:
ի տարբերութիւն, դաշնեզերքի պարագայում՝ քո հանգոյցը սկսում ա ստանալ օտար հաշուից թարմացումներ միայն նրանից յետոյ, երբ քո հանգոյցից որեւէ մէկը այդ հաշուին սկսի հետեւել։ կամ եթէ ոչ մէկ չի հետեւում՝ հանգոյցը կիմանայ այդ օտար հաշուի այն գրառումների մասին, որ տարածել են այլ, հանգոյցին յայտնի մարդիկ։
այդ պատճառով ա լինում որ մարդուն գտնում ես, իսկ իր հոսքը դատարկ ա, կամ կայ ընդամէնը մէկ կամ մի քանի գրառում՝ այն գրառումներն են որ քո հանգոյցին յայտնի մէկը տարածել ա։
սքաթլբաթի դէպքում՝ եթէ հետեւեցիր՝ ամբողջը ստանալու ես։
ու տէնց։
#շշուկ #բամբասանք #սքաթլբաթ #scuttlebutt (թող ներէն ինձ այդ պիտակին հետեւողները որ հայերէն չեն կարդում իրենց հոսքում աղմկելու համար) #բաշխուած #ցանց #համացանց