COMPΞZ 🧬
به به! آب هم قطع شد! 😄 البته باید یه احمق باشی عمق فاجعه رو نبینی و تو بازی حاشیه سازی اینا بیفتی! این بشر مگه همونی نبود که توهین به اسلام و آتیش زدن قرآن و نفر یک مملکت میکرد؟ بازی خوبیه آفریییم آفریم برکانا.
یکی از بهترین راهها برای کمکردن فشار از رأس فساد اینه که هزینهها و خسارتها رو تا جای ممکن بین کل جامعه توزیع کنی.
از سوخت و انرژی گرفته تا تورم، مالیات، خدمات و هر چیز دیگهای که بشه.
وقتی بار فشار بین میلیونها نفر تقسیم میشه، عامل اصلی کمتر مستقیم زیر فشار قرار میگیره و بیشتر دوام میاره.
اصل ماجرا خیلی سادهست:
هزینه رو عمومی کن، مسئولیت رو پنهان کن، خودت رو حفظ کن.
به همین راحتی. 😄
از سوخت و انرژی گرفته تا تورم، مالیات، خدمات و هر چیز دیگهای که بشه.
وقتی بار فشار بین میلیونها نفر تقسیم میشه، عامل اصلی کمتر مستقیم زیر فشار قرار میگیره و بیشتر دوام میاره.
اصل ماجرا خیلی سادهست:
هزینه رو عمومی کن، مسئولیت رو پنهان کن، خودت رو حفظ کن.
به همین راحتی. 😄
یه اصطلاح جالب توی دنیای نرمافزار هست که خیلی میبینیم: i18n.
این عبارت مخفف internationalization؛ یعنی آمادهکردن نرمافزار برای اینکه بتونه چندزبانه و چندمنطقهای باشه.
عدد ۱۸ هم از اینجا میاد که بین حرف اول و آخر کلمهی internationalization، دقیقاً ۱۸ حرف قرار گرفته! برای همین شده i18n.
اما یه اصطلاح دیگه هم کنارش داریم: l10n که مخفف localization.
فرقشون اینطوریه:
🔹 زیرساختی که باعث میشه برنامه اصولاً قابلیت چندزبانهشدن، تغییر جهت رابط، قالب تاریخ، زمان، اعداد و ارز رو داشته باشه، همون i18nهست.
🔹 وقتی این زیرساخت رو برای یک زبان یا منطقهٔ مشخص پیاده میکنیم، مثلاً فارسی، راستبهچپ، تقویم فرهنگی و رسمی، موقعیت زمانی تهران یا نمایش تومان، وارد مرحلهٔ l10n شدیم.
توی جنیکستر هم این بخش رو جدی طراحی میکنم؛ نه فقط ترجمهٔ چندتا متن، بلکه یه سیستم کامل برای زبان، راستبهچپ، تقویم، تاریخ، زمان، اعداد و واحد پول و تبدیلات.
جالبه که کلاینت متنباز فعلی فارکستر عملاً چنین زیرساخت نداره؛ ولی برای جنیکستر هدف اینه که محلیسازی واقعاً جزئی از معماری برنامه و ادغام شده با بلاکچین باشه، نه یه قابلیت افزونهای.
این عبارت مخفف internationalization؛ یعنی آمادهکردن نرمافزار برای اینکه بتونه چندزبانه و چندمنطقهای باشه.
عدد ۱۸ هم از اینجا میاد که بین حرف اول و آخر کلمهی internationalization، دقیقاً ۱۸ حرف قرار گرفته! برای همین شده i18n.
اما یه اصطلاح دیگه هم کنارش داریم: l10n که مخفف localization.
فرقشون اینطوریه:
🔹 زیرساختی که باعث میشه برنامه اصولاً قابلیت چندزبانهشدن، تغییر جهت رابط، قالب تاریخ، زمان، اعداد و ارز رو داشته باشه، همون i18nهست.
🔹 وقتی این زیرساخت رو برای یک زبان یا منطقهٔ مشخص پیاده میکنیم، مثلاً فارسی، راستبهچپ، تقویم فرهنگی و رسمی، موقعیت زمانی تهران یا نمایش تومان، وارد مرحلهٔ l10n شدیم.
توی جنیکستر هم این بخش رو جدی طراحی میکنم؛ نه فقط ترجمهٔ چندتا متن، بلکه یه سیستم کامل برای زبان، راستبهچپ، تقویم، تاریخ، زمان، اعداد و واحد پول و تبدیلات.
جالبه که کلاینت متنباز فعلی فارکستر عملاً چنین زیرساخت نداره؛ ولی برای جنیکستر هدف اینه که محلیسازی واقعاً جزئی از معماری برنامه و ادغام شده با بلاکچین باشه، نه یه قابلیت افزونهای.
COMPΞZ 🧬
خرزشی همچین چیزارو نمیفهمه عزیز! 🙂
خاکزاد رو سالهاست میشناسم! قشنگ میفهمم این حرفش رو چقدر سختی کشیده!
مثل من یه دهه شصتیه! استاد سی++ هست و یک آرتیست خفن که به تنهایی بازیهایی میسازه که هرکس میبینه میگه کار یه تیم ده نفرست نه یک نفر! یادمه بارها پشت سرش کلی مسخره بازی در آوردن تو گروهها... که نه نمیتونه نمیشه کار یه نفر نیست... شما اگه یه ذره حسادت نکنید میبینید که میشه و شده!
ما تو این مملکت کم از این جوونا نداریم که زیر اینهمه فشار چیزهایی میسازن که انجامش برای تک به تک خارجیهای مفت خور رویاست؛ شما قدرشونو نمیدونید... حالا به این فکر کن جلو پای ما اینهمه مانع نباشه چنان کارهایی میکردیم که ایلانماسک بوووغ بزنه پشت سرمون.
ولی خب چه کنیم با یه مشت نفهم بیشعور کثافت شدیم هموطن.
مثل من یه دهه شصتیه! استاد سی++ هست و یک آرتیست خفن که به تنهایی بازیهایی میسازه که هرکس میبینه میگه کار یه تیم ده نفرست نه یک نفر! یادمه بارها پشت سرش کلی مسخره بازی در آوردن تو گروهها... که نه نمیتونه نمیشه کار یه نفر نیست... شما اگه یه ذره حسادت نکنید میبینید که میشه و شده!
ما تو این مملکت کم از این جوونا نداریم که زیر اینهمه فشار چیزهایی میسازن که انجامش برای تک به تک خارجیهای مفت خور رویاست؛ شما قدرشونو نمیدونید... حالا به این فکر کن جلو پای ما اینهمه مانع نباشه چنان کارهایی میکردیم که ایلانماسک بوووغ بزنه پشت سرمون.
ولی خب چه کنیم با یه مشت نفهم بیشعور کثافت شدیم هموطن.
وقتی جنیکستر قرار است منفجر شود.
هستهٔ چند زبانه با سیستم سفارشیسازی محلی اجرا شد. 😪
https://farcaster.xyz/compez.eth/0x3ae283d0
هستهٔ چند زبانه با سیستم سفارشیسازی محلی اجرا شد. 😪
https://farcaster.xyz/compez.eth/0x3ae283d0
COMPΞZ 🧬
وقتی جنیکستر قرار است منفجر شود. هستهٔ چند زبانه با سیستم سفارشیسازی محلی اجرا شد. 😪 https://farcaster.xyz/compez.eth/0x3ae283d0
این طرف میدونی کیه دیگه؟ 😄 احتمال بسیار زیاد صاحاب جدید فارکستر! 😉 سازندهٔ هایپراسنپ، همون پروتکلی که گفتم میارمش ایران نود میزنم براش!
COMPΞZ 🧬
یه اصطلاح جالب توی دنیای نرمافزار هست که خیلی میبینیم: i18n. این عبارت مخفف internationalization؛ یعنی آمادهکردن نرمافزار برای اینکه بتونه چندزبانه و چندمنطقهای باشه. عدد ۱۸ هم از اینجا میاد که بین حرف اول و آخر کلمهی internationalization، دقیقاً ۱۸…
حتی فراتر! یعنی g11n 😎
به طور خلاصه اینو بدونید، استاندارد i18n یعنی:
آمادهکردن نرمافزار برای پشتیبانی از چند زبان/منطقه بدون تغییر معماری اصلی.
یعنی نرمافزار از پایه طوری طراحی شده که برای زبانها، کشورها و فرهنگهای مختلف بدون بههمریختگی کار کند.
به طور خلاصه اینو بدونید، استاندارد i18n یعنی:
آمادهکردن نرمافزار برای پشتیبانی از چند زبان/منطقه بدون تغییر معماری اصلی.
A fully globalized application (g11n)
یعنی نرمافزار از پایه طوری طراحی شده که برای زبانها، کشورها و فرهنگهای مختلف بدون بههمریختگی کار کند.
COMPΞZ 🧬
حتی فراتر! یعنی g11n 😎 به طور خلاصه اینو بدونید، استاندارد i18n یعنی: آمادهکردن نرمافزار برای پشتیبانی از چند زبان/منطقه بدون تغییر معماری اصلی. A fully globalized application (g11n) یعنی نرمافزار از پایه طوری طراحی شده که برای زبانها، کشورها و فرهنگهای…
عاشق این جزئیات توی معماریم! عاشششقشم تو چه میفهمی من چی میگم آخه فارمر. 😒
COMPΞZ 🧬
حتی فراتر! یعنی g11n 😎 به طور خلاصه اینو بدونید، استاندارد i18n یعنی: آمادهکردن نرمافزار برای پشتیبانی از چند زبان/منطقه بدون تغییر معماری اصلی. A fully globalized application (g11n) یعنی نرمافزار از پایه طوری طراحی شده که برای زبانها، کشورها و فرهنگهای…
در تصیور خلاصهٔ این مفهو فنی میشه این.
یعنی برنامت باید به فرهنگ، زبان، تاریخ و تقویمی که دلت میخواد همه چیرو تبدیل کنه.
به معای این نیست که سمت سرور این چیزارو مدیریت کنی؛ نرمافزار باید تبدیل کننده باشه.
عشقم میکشه تا ریزترین جزئیات از خواستهٔ مخاطب اهمیت بدم؛ حرفی هست خرزشی؟
یعنی برنامت باید به فرهنگ، زبان، تاریخ و تقویمی که دلت میخواد همه چیرو تبدیل کنه.
به معای این نیست که سمت سرور این چیزارو مدیریت کنی؛ نرمافزار باید تبدیل کننده باشه.
عشقم میکشه تا ریزترین جزئیات از خواستهٔ مخاطب اهمیت بدم؛ حرفی هست خرزشی؟
COMPΞZ 🧬
در تصیور خلاصهٔ این مفهو فنی میشه این. یعنی برنامت باید به فرهنگ، زبان، تاریخ و تقویمی که دلت میخواد همه چیرو تبدیل کنه. به معای این نیست که سمت سرور این چیزارو مدیریت کنی؛ نرمافزار باید تبدیل کننده باشه. عشقم میکشه تا ریزترین جزئیات از خواستهٔ مخاطب…
انقدر سریع و روان هست این نسخه از شبکه اجتماعی که هیجان زدم سریع بدمش بیرون! ولی کلی کار داره هنوز؛ حسابی هم قراره GENY بشه قلب تپندش. 😌 مجبور شدم یه SDK از صفر بنویسم برای تعامل با فارکستر لامصبا همه چیرو برداشتن با TS نوشتن! خاک بر سرتون کنم.
عجب بارونی میباره... بابا ایول؛ ببار ببار ای آسمان! 😌 صدای نم نمش از اثر چایی بهتره 😪😌💦
بهخاطر توسعهٔ Genycaster، عملاً مجبور شدم یک SDK بومی برای Quilibrium بنویسم.
ابزارها و SDKهایی که الان در مخازن Quilibrium وجود دارند، بیشتر برای اکوسیستمها و زبانهای مشخص طراحی شدهاند و یک رابط native و یکپارچه برای CPP و سایر محیطها وجود نداشت.
این SDK با C++23 نوشته شده و طوری طراحی شده که هستهٔ اصلی فقط یکبار پیادهسازی شود، اما از طریق binding و C ABI در اکثر زبانهای برنامهنویسی مثل Python، Rust، Node.js، .NET و محیطهای native قابل استفاده باشد.
در حال حاضر HyperSnap، QStorage، QKMS، بخشهایی از Native Protocol RPC، multi-peer routing و چند قابلیت دیگر را پوشش میدهد.
احتمالاً در آینده برای پروژههای دیگری غیر از Genycaster هم مفید خواهد بود.
اگر قابلیت، سرویس یا API خاصی از Quilibrium هست که فکر میکنید بهتر است به SDK اضافه شود، خوشحال میشوم اطلاع بدهید تا به آن اضافه کنم.
https://github.com/thecompez/Quilibrium-SDK
#Quilibrium #CPP #Farcaster #NativeSDK #Rust #DotNet #Python #NodeJS #RPC
ابزارها و SDKهایی که الان در مخازن Quilibrium وجود دارند، بیشتر برای اکوسیستمها و زبانهای مشخص طراحی شدهاند و یک رابط native و یکپارچه برای CPP و سایر محیطها وجود نداشت.
این SDK با C++23 نوشته شده و طوری طراحی شده که هستهٔ اصلی فقط یکبار پیادهسازی شود، اما از طریق binding و C ABI در اکثر زبانهای برنامهنویسی مثل Python، Rust، Node.js، .NET و محیطهای native قابل استفاده باشد.
در حال حاضر HyperSnap، QStorage، QKMS، بخشهایی از Native Protocol RPC، multi-peer routing و چند قابلیت دیگر را پوشش میدهد.
احتمالاً در آینده برای پروژههای دیگری غیر از Genycaster هم مفید خواهد بود.
اگر قابلیت، سرویس یا API خاصی از Quilibrium هست که فکر میکنید بهتر است به SDK اضافه شود، خوشحال میشوم اطلاع بدهید تا به آن اضافه کنم.
https://github.com/thecompez/Quilibrium-SDK
#Quilibrium #CPP #Farcaster #NativeSDK #Rust #DotNet #Python #NodeJS #RPC
COMPΞZ 🧬
بهخاطر توسعهٔ Genycaster، عملاً مجبور شدم یک SDK بومی برای Quilibrium بنویسم. ابزارها و SDKهایی که الان در مخازن Quilibrium وجود دارند، بیشتر برای اکوسیستمها و زبانهای مشخص طراحی شدهاند و یک رابط native و یکپارچه برای CPP و سایر محیطها وجود نداشت. این…
ارزش C ABI همیشه و همهجا... بعد بگین سی بده سی خیخه! بابا سی نباشه همه زبانها آوارن. 😄
COMPΞZ 🧬
بهخاطر توسعهٔ Genycaster، عملاً مجبور شدم یک SDK بومی برای Quilibrium بنویسم. ابزارها و SDKهایی که الان در مخازن Quilibrium وجود دارند، بیشتر برای اکوسیستمها و زبانهای مشخص طراحی شدهاند و یک رابط native و یکپارچه برای CPP و سایر محیطها وجود نداشت. این…
میدونم الآن خیلیها میگن بابا این دیگه چی میگه برا خودش... ما که سر در نمیاریم! اصلاً این چیه؟ رنگش چرا صورتیه؟ 😂 رنگش برا این صورتیه چون سازندهٔ پروتکل یه دختره طرحش همون بود منم همونو زدم! 😝 یاد بگیرید دخترا پروتکل میسازن بعد شما سیبیلو خپلا با پروفایل دختر میرید فارم میکنید.😏
COMPΞZ 🧬
عجب بارونی میباره... بابا ایول؛ ببار ببار ای آسمان! 😌 صدای نم نمش از اثر چایی بهتره 😪😌💦
وقتی شهری جذابه همیشه، ولی باغ رو ویران گذاشته. چند تا درخت شکونده! گلارو خراب کرده، همه چیزو ویران کرده! چه خبر بوده امروز خبر نداشتم من!😒
نشد دیگه، درستش اینه که بگی، به ما سر بزنید تا:
- در مورد دزدیها و گرون فروشیها و بی پدر مادر بودنمون بیشتر بدانید.
- با فرصتهای تازهٔ دزدی بیشتر آشنا شوید.
- مسیرهای متنوع همکاری در دزدی را بهتر بشناسید.
بیهمه چیز بیشرفهای دزد! مگه من یادم میره ۸۰ روز قطعی چطور داشتین دزدی میکردین که هنوزه تیکتای ملت باز مونده و جوابی نگرفتن.
- در مورد دزدیها و گرون فروشیها و بی پدر مادر بودنمون بیشتر بدانید.
- با فرصتهای تازهٔ دزدی بیشتر آشنا شوید.
- مسیرهای متنوع همکاری در دزدی را بهتر بشناسید.
بیهمه چیز بیشرفهای دزد! مگه من یادم میره ۸۰ روز قطعی چطور داشتین دزدی میکردین که هنوزه تیکتای ملت باز مونده و جوابی نگرفتن.
این خوبه که سازندهٔ محتوا خودش بگه منظورش بیشتر دربارهٔ چیه:
هنر / توسعه / گفتگو / بازار / سایر
نه بهعنوان یک برچسب قطعی، فقط بهعنوان یک سیگنال.
سازنده نیتش را مشخص میکند و جنیکستر همچنان میتواند تشخیص بدهد محتوا واقعاً کجا بهتر قرار میگیرد.
وقتی پروتکل همهچیز را بهصورت خام در اختیار تو قرار میدهد، این دیگر تصمیم توست که با آن محتوای خام چه کار کنی.
بنابراین یک UX بهتر مشخص میکند تعاملها چطور باید شکل بگیرند.
هدف از تعامل باید مشخص باشد و محتوا بر اساس همان هدف به مسیر درست هدایت شود. اینطوری تجربه هم مفیدتر میشود، هم مرتبطتر و هم جذابتر.
هنر / توسعه / گفتگو / بازار / سایر
نه بهعنوان یک برچسب قطعی، فقط بهعنوان یک سیگنال.
سازنده نیتش را مشخص میکند و جنیکستر همچنان میتواند تشخیص بدهد محتوا واقعاً کجا بهتر قرار میگیرد.
وقتی پروتکل همهچیز را بهصورت خام در اختیار تو قرار میدهد، این دیگر تصمیم توست که با آن محتوای خام چه کار کنی.
بنابراین یک UX بهتر مشخص میکند تعاملها چطور باید شکل بگیرند.
هدف از تعامل باید مشخص باشد و محتوا بر اساس همان هدف به مسیر درست هدایت شود. اینطوری تجربه هم مفیدتر میشود، هم مرتبطتر و هم جذابتر.
به خاطر این فیلترنت به درد نخور ریموت به سرور و کار کردن با ssh اعصابمو خورد میکنه! هی قطع هی قطع عصبیم میکنه همش کار این ستاره بیمصرفه 😐
برای حلش یه راه پیدا کردم، روی سرور حتماً
سمت سرور هم SSH timeout را مقاومتر کنید:
و مقادیرش اینطوری باید باشه:
بعد راهاندازی مجدد:
و تمام! حالا دیگه مجبور نمیشی مدام ورود بزنی خودش اتصال رو سعی میکنه حفظ کنه.
برای حلش یه راه پیدا کردم، روی سرور حتماً
tmux استفاده کنید. این باعث میشود حتی اگر SSH صدبار قطع شود، build، log، editor یا process تو سر جایش بماند:apt update
apt install -y tmux
tmux new -s myvps
tmux attach -t myvpsسمت سرور هم SSH timeout را مقاومتر کنید:
nano /etc/ssh/sshd_configو مقادیرش اینطوری باید باشه:
ClientAliveInterval 30
ClientAliveCountMax 10
TCPKeepAlive yes
بعد راهاندازی مجدد:
sshd -t && systemctl restart sshو تمام! حالا دیگه مجبور نمیشی مدام ورود بزنی خودش اتصال رو سعی میکنه حفظ کنه.
من آخرش یه ابزار ssh هم از اول میسازم خودم! یعنی این کثافتا کاری کردن من تو این مملکت بشینم همش از صفر همه چیرو با شرایط شخمی اینجا بسازم که فقط بتونم مثل بقیه دسترسی داشه باشم! بعد میگن چرا چرخ رو دوباره اختراع کردی.
عوضیا ما دیوانه نیستیم که شما کثافتا چارهای نمیذاری واسه آدم. 😐
عوضیا ما دیوانه نیستیم که شما کثافتا چارهای نمیذاری واسه آدم. 😐