TGViewer
Channel Public Channel
نوشته‌های ترمینالی

نوشته‌های ترمینالی

@terminal_stuff

virgool.io/@rsharifnasab
github.com/rsharifnasab
Subscribers
3.52K
Photos
434
Videos
12
Links
2.4K

Showing posts older than #2850 · Back to latest

Older Posts 20 shown
Post #2847 1.84K

Forwarded from @yegor256 news (yegor256)

I just got access to OverflowAI Search. This is how it works: I typed in a question, clicked the button, and immediately got an answer. This will demotivate people to post questions and answers, or maybe not?
  • ⚡ 4
Post #2845 2.14K

Forwarded from Woland's Linux Journal (Woland)

💠دیواری از لامپ لاوا در کلادفلر💡

این دیوار در یکی از اتاق‌های ساختمان اصلی کلادفلر در سان فرانسیسکو نصب شده است.

کلادفلر برای رمزگذاری اینترنت از این لامپ‌ها برای ایجاد شماره‌های رندوم و انتروپی استفاده می‌کند.

دوربین‌هایی به سمت این دیوار نصب شده‌اند که هنگام غوطه خوردن ماده‌ی شناور لامپ لاوا، به هر پیکسل یک عدد اتفاقی اختصاص می‌دهند.

به این ترتیب کلادفلر به میزان انتروپی لازم برای تولید رمزگذاری و رندومنِس دست پیدا می‌کند.

ایده‌ی استفاده از لامپ لاوا برای رندومنِس اولین برای توسط Silicone Graphics در سال ۱۹۹۰ اجرا شد و امروزه کلادفلر از آن استفاده می‌کند.

الگوریتم LavaRand امروزه یکی از موثر ترین روش‌های تولید رندومنِس در کامپیوتر‌ها است.

مبحث رندومنِس در علوم کامپیوتر واقعا مبحث جذابیه

👉🔗 Link-1
👉🔗 Link-2
#نکته
  • 👍 15
  • 🔥 8
  • 🆒 1
Post #2844 2.79K
Post #2843 2.55K
نوشته‌های ترمینالی امروز یاد گرفتم که استفاده از قابلیت‌های خفن‌تر تاچ‌پد توی لینوکس هم ممکنه. یعنی می‌تونید تنظیم کنید هر gestureی که با تاچ‌پد انجام می‌دید می‌تونه یه کامند اجرا بشه. جالا می‌تونه مستقیم کامند شل باشه می‌تونه هم با کمک ابزارهایی مثل xdotool وارد شدن کلید‌های…
با کمک ابزار fusuma با یه yaml ساده کانفیگ‌ها انجام می‌شه. این ویدیوی آموزشی رو توصیه میکنم:
https://www.youtube.com/watch?v=bn11Iwvf29I

و لینک ریپوزیتوریشون:
https://github.com/iberianpig/fusuma
YouTube Multitouch Touchpad Gestures in Linux with Fusuma This is a follow-up video to one I made a while ago about using libinput-gestures for multitouch gestures in Linux. That option still works but, since then, I have been using a different option that I wanted to share. Fusuma is a multitouch gesture recognizer.…
  • ❤ 2
  • 👍 1
Post #2842 2.21K
امروز یاد گرفتم که استفاده از قابلیت‌های خفن‌تر تاچ‌پد توی لینوکس هم ممکنه. یعنی می‌تونید تنظیم کنید هر gestureی که با تاچ‌پد انجام می‌دید می‌تونه یه کامند اجرا بشه. جالا می‌تونه مستقیم کامند شل باشه می‌تونه هم با کمک ابزارهایی مثل xdotool وارد شدن کلید‌های دیگه رو شبیه‌سازی کنید.
  • 🔥 1
Post #2841 2.5K
نوشته‌های ترمینالی شما نظرتون چیه؟ چطوری شروع میکنید فکر کردن و سر نخ پیدا کردن؟
https://jvns.ca/blog/2022/12/08/a-debugging-manifesto/

اینجا یه سری راهکار و راهنمایی برای دیباگ آورده شده،
مثل بقیه کامیک های این سایت، قشنگ و روون توضیح داده و حتما توصیه میشه.
Julia Evans A debugging manifesto Hello! I’ve been working on a zine about debugging for the last 6 months with my friend Marie, and one of the problems we ran into was figuring out how to explain the right attitude to take when debugging.
  • ❤ 2
Post #2840 2.28K
بهترین های لینوکس سابق یه سوال خیلی جالب بود برام توی یکی از مصاحبه ها ( تاحالا ازم نپرسیده بودن ) اگر به باگ بربخورید چطوری رفعش میکنید؟ این سوال رو بنظرم نیاز روزی هزار بار از خودمون بپرسیم چون نه تنها تو زندگی مون توی همه جا بدردمون میخوره زندگی تون بی باگ و اوقات تون زیبا
شما نظرتون چیه؟ چطوری شروع میکنید فکر کردن و سر نخ پیدا کردن؟
  • 😁 2
Post #2839 2.07K

Forwarded from بهترین های لینوکس سابق

یه سوال خیلی جالب بود برام توی یکی از مصاحبه ها ( تاحالا ازم نپرسیده بودن )

اگر به باگ بربخورید چطوری رفعش میکنید؟
این سوال رو بنظرم نیاز روزی هزار بار از خودمون بپرسیم
چون نه تنها تو زندگی مون توی همه جا بدردمون میخوره
زندگی تون بی باگ و اوقات تون زیبا
  • 👍 10
  • ❤ 1
Post #2838 2.48K

Forwarded from a pessimistic researcher (Kc)

"آن چاقوی سوئیسی دیگر نمی‌بُرَد"
با احترام، تقدیم به خدای باستانِ زبان‌های برنامه‌نویسی، مرحوم Niklaus Wirth
————————————————————

تنها سه روز از سال نوی میلادی جدید سپری شده و هنوز برای قضاوت خوش یا بد یُمن بودن آن زود است، اما یکم ژانویه‌ی ۲۰۲۴، یقینا یکی از سیاه‌ترین روزهای تاریخ جامعه‌ی آکادمیک مهندسی نرم‌افزار خواهد بود. امروز حدود ۳ ساعت پیش، آقای Bertrand Meyer در یک توئیت اعلام کردند که یکی از ستارگان زبان‌های برنامه‌نویسی، متدولوژی برنامه‌نویسی، مهندسی نرم‌افزار و طراحی سخت‌افزار افول کرد. آقای Niklaus Wirth، با کوهی از افتخارات، برنده‌ی جایزه‌ی تورینگ اوارد، در سن ۸۹ سالی به تاریخ یکم ژانویه‌ی ۲۰۲۴ چشم از جهان فرو بستند.

آقای Wirth در شهر Winterthur سوئیس بدنیا آمد و تحصیلات آکادمیک خود را در ETH زوریخ آغاز کرد. برای آغاز تحصیلات تکمیلی به دانشگاه Laval در کانادا رفت و بعد از آن رساله‌ی دکتری خود را در دانشگاه برکلی کالیفرنیا، به سرپرستی Harry Huskey، از پیشرویان پیدایش کامپیوتر، با عنوان A Generalization of ALGOL به سرانجام رساند. سپس به عضویت هیئت علمی دانشگاه استنفورد درآمد و بعد از آن به ETH بازگشت و در آنجا تا بازنشستگی خود به کارش ادامه داد.

از جمله دست‌آوردهای مهم ایشان طراحی زبان‌های برنامه‌نویسی Pascal و ALGOL بود. علاقه‌ی آقای Wirth به زبان ALGOL آنقدر زیاد بود که زبان‌های متعددی مانند Euler و Modula و Oberon را بر پایه‌ی آن طراحی کردند. ایشان در طراحی و پیاده‌سازی سیستم‌عامل‌های Medos-2 و Oberon System نقش کلیدی داشتند. در حوزه‌ی معماری کامپیوتر، یک زبان HDL به نام Lola را طراحی و پیاده‌سازی کردند. سال ۱۹۸۴ به پاس دست‌آوردهای کلیدی و مهم ایشان در حوزه‌ی زبان‌های برنامه‌نویسی، برنده‌ی جایزه Turing Award شدند.

علاوه بر پژوهش‌های پیشرو، دانشمندان به‌نامی مانند Martin Odersky، خالق زبان Scala و Generics در Java و Michael Franz، مبدع Just-in-time Compilation and Optimization را تربیت کردند. ایشان کتاب‌های مهم و تأثیرگذاری در طی فعالیت خود به چاپ رساندند که می‌توان از میان آن‌ها کتاب‌های مهمی چون Algorithms + Data Structures = Programs و Systematic Programming: An Introduction و Compiler construction را نام برد. کتاب اول را یکی از تأثیرگذارترین کتاب‌های نوشته شده در حوزه‌ی CS در طول تاریخ قلم‌داد می‌کنند. کتاب دوم مختص ریاضی‌دانانی نوشته شده بود که تمایل به درک ماهیت‌ برنامه‌نویسی و یادگیری نوشتن الگوریتم دارند. کتاب سوم با دید کاربردی نوشته شده که در آن زمان که تمام کتاب‌های حوزه‌ی کامپایلر با دید تئوری نوشته می‌شدند، کاری منحصر به فرد محسوب می‌شد.

در علم کامپیوتر یک ضرب‌المثلی وجود دارد که منسوب به آقای Wirth است و آن این است که :
"Software is getting slower more rapidly than hardware becomes faster"
از این روی به این عبارت Wirth's law گفته می‌شود.

گرچه ممکن است نام هیچ یک از کارهای آقای Wirth برای یک دانشجوی CS آشنا نباشد، اما گفتنی‌ست که امروزه اکثر زبان‌های برنامه‌نویسی، کامپایلرها، متدولوژی‌های تولید نرم‌افزار و حتی سیستم‌‌عامل‌ها، بیش از آنچه که فکر کنید وامدار پژوهش‌ها و دست‌آوردهای آقای Wirth می‌باشند.
  • ❤ 10
  • 👏 2
  • 💔 2
Post #2837 1.94K

Forwarded from Bit Orbit 🪐 (Arya Shabane)

تا حالا گول این کامند رو توی فروم ها خوردین؟

:(){ :|:& };:
خب راستش یه تایمی من چون دوست داشتم لینوکس یاد بگیرم و هیچی نمی‌دونستم ازش، هر کامندی توی اینترنت پیدا می‌کردم رو اجرا می‌کردم که بفهمم چه کار می‌کنه. این کامند هم یکی از اون ها بود. فورک بمب اینقدر خودش رو اجرا می‌کنه که بعد یک دقیقه مجبور می‌شین سیستم رو ری‌بوت کنید. بیایید باهم تا عمق این کامند برسی کنیم که این کامند چیه و چطوری کار می‌کنه.


https://www.wiregeek.ir/p/%D9%81%D9%88%D8%B1%DA%A9-%D8%A8%D9%85%D8%A8-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D8%B7%D9%88%D8%B1-%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C%DA%A9%D9%86%D8%AF/
bit-orbit فورک بمب چیست و چطور کار می\u200cکند؟ اوایل که لینوکس نصب کرده بودم کامند هایی که توی فروم های مختلف می\u200cدیدم و برای من جدید بود را دوست داشتم یاد بگیرم و بدانم کار آنها چی هست، برای همین هر کامندی را که می\u200cدیدم در اولین فرصت داخل سیستم خودم اجرا می\u200cکردم. که خب کور کورانه اجرای…
  • 🔥 12
  • 👍 2
Post #2836
نوشته‌های ترمینالی pinned «خطا داریم؟ همینه که هست! یه مثال دیدم که می‌گفت شما وقتی ماشینتون پنچر میشه صبر می‌کنید تا تعمیرکار بیاد درستش کنه، یا با همون چرخ های پنجر با سرعت کم ادامه میدین تا به مقصد برسید؟ به نظرم همین توی برنامه‌نویسی هم مصداق داره، وقتی برنامه‌مون به ارور میخوره…»
Post #2835 2.3K

Forwarded from a pessimistic researcher (Kc)

یه لینکی همینطوری پیدا کردم، یه بنده خدایی اومده سعی کرده SAT رو با پیاده‌سازی یه SAT solver ساده به زبان پایتون توضیح بده. من خودم پایتون هیچی بلد نیستم ولی متنش رو که می‌خوندم خیلی خوب و روون بود. خلاصه می‌ذاریم اینجا بمونه.

https://sahandsaba.com/understanding-sat-by-implementing-a-simple-sat-solver-in-python.html
Sahandsaba Understanding SAT by Implementing a Simple SAT Solver in Python SAT is often described as the "mother of all NP-complete problems." This post goes over what SAT is and why it is considered to be so important. A simple SAT solver is implemented using Python in the process. Coding, mathematics, and problem solving by Sahand…
  • 👍 5
Post #2834 5.45K
خطا داریم؟ همینه که هست!

یه مثال دیدم که می‌گفت شما وقتی ماشینتون پنچر میشه صبر می‌کنید تا تعمیرکار بیاد درستش کنه، یا با همون چرخ های پنجر با سرعت کم ادامه میدین تا به مقصد برسید؟

به نظرم همین توی برنامه‌نویسی هم مصداق داره، وقتی برنامه‌مون به ارور میخوره چطوری مدیریتش می‌کنیم؟ حالا این ارور خیلی وقت ها exceptionه توی زبون های برنامه نویسی، ولی یکم سطح بالاتر ببینیم،
مثلا به یه سرویس خارجی درخواست دادیم و نیست، خب چیکار کنیم؟
یه فایل کانفیگ رو میخوایم لود کنیم ولی نیست.
دیتایی که از سمت کاربر اومده معتبر نیست.

در یک برنامه معمولی جوابِ (احتمالا) درست به خیلی از این سوالا اینه که خب کارکرد برنامه رو متوقف کن و بگو نمیتونم. برنامه کار نکنه تا دوباره با برطرف شدن مشکلات یکی از اول اجراش کنه،
ولی اگر برنامه ما قراره توی یکسری از محیط‌ها اجرا بشه دیگه خبری از «من کار نمیکنم تا شرایط درست بشه» نیست. چه محیط‌هایی؟ محیط‌هایی که availability بالا مهمه مثلا سیستم های امبدد یا بک‌اند.
مثلا قراره ما مسیریابی یک هواپیما رو انجام بدیم و سیگنال GPS دریافت نمی‌کنیم، خب به هواپیما بگیم فعلا من کار نمیکنم؟! یعنی چی که کار نمیکنم، با سرعت زیاد داره میره :)))
یا مثلاً توی کلود اگر ارور بدیم و برنامه کرش کنه کنیم چی میشه؟ کوبرنتیز دوباره برنامه رو اجرا می‌کنه و دوباره با مشکل درگیریم!

پس در این شرایط نمیشه ارور داد و بیخیال شد، بلکه باید با همون چرخ پنچر ادامه داد، برای هر روش هم با خلاقیت خودمون یا با کمک روش های پیشنهاد شده باید یه پلن بی داشته باشیم،
پیاده سازی و تست خود برنامه در کنار اینکه هر قسمتی ممکنه کار نکنه و سناریوهای مختلفش، کار سختیه ولی هزینه‌ی داشتن یه نرم افزار قابل اعتماده.

مثلا چه مشکلاتی؟
مثلاً اگه قراره کانفیگ فایل رو از بیرون لود کنیم, آمادگی نبودنش رو هم داشته باشیم، مثلا یه کانفیگ پیشفرض داشته باشیم (البته کانفیگ چون موقع اولین اجرای برنامه خودش رو نشون میده شاید نیازی هم نباشه)
مثلا اگر داده gps به ما نرسید، با کمک داده های قبلی که ذخیره کردیم و یا ترکیبش با سرعت و شتاب و ... مشکل رو موقتا و حتی نادقیق حل کنیم
یا مثلاً اگر به سرور خارجی درخواست می‌زنیم و نیست، آمادگی نبودنش رو داشته باشیم، اینجا یکسری پترن که تو صنعت استفاده میشه داریم
مثلا چه پترنهایی؟
+ دوباره درخواست بده: retry pattern
+ به یکی دیگه درخواست بده: fallback
+ اگر خرابه تا یه مدت بهش درخواست نده تا ارور الکی نگیری: circuit breaker
+ اگه سرور خارجی کنده، خیلی صبر نکن تا response time خودت هم بالا نره
+ اگر سرور خارجی دیتا قراره بهت بده، دیتای قبلی رو کش کن.

اینها در سطح کد بودن، در سطح معماری هم میشه از قبل روش‌هایی رو تدارک دید مثلاً خود دیتابیس رو چطوری High available کنیم، یا روش‌هایی که بیشتر تو سیستم های امبدد استفاده میشه مثل اینکه یه برنامه رو با چند تا پیاده سازی همزمان اجرا کنیم تا اگر یکیش خراب شد اون یکی‌ها باشن!

منابع:
https://opensource.com/article/19/9/transient-faults-devops

https://www.jrebel.com/blog/microservices-resilience-patterns

https://learn.microsoft.com/en-us/azure/architecture/best-practices/transient-faults

https://learn.microsoft.com/en-us/dotnet/architecture/cloud-native/application-resiliency-patterns

@terminal_stuff
Opensource.com 3 ways to handle transient faults for DevOps In electrical engineering, a transient fault is defined as an error condition that vanishes after the power is disconnected and restored.
  • 👍 20
  • ❤ 2
Post #2833 1.64K
Thank you for supporting us. 💥💥💥💥💥💥
1️⃣🔠
  • ❤ 31
  • 🔥 9
  • ❤‍🔥 1
Post #2832 1.92K
چطوری از vendor lock-in جلوگیری کنیم؟
یعنی چطوری مواظب باشیم که سازمانمون درگیر یه شرکت خارجی بشه که نتونه دیگه قراردادشو تمدید نکنه و اون شرکت رو با شرکت دیگری جایگزین کرد؟
https://vrgl.ir/I9iMn
  • 👌 2
Post #2831 2.6K
نوشته‌های ترمینالی دوست دارید curl رو از پایین تا بالا یاد بگیرید؟ این کتاب آنلاین و رایگان برای شماست https://everything.curl.dev/
بحث شد تو گروه که اصلا چرا لازمه curl رو یاد بگیریم؟
میتونیم از جایگزین‌های خیلی ساده‌تر استفاده کنیم.
اول اینکه بله میتونیم، من خودم httpie رو توی گزینه های cli دوست دارم و postman و insomnia هم گزینه های مطرح GUIی هستند، همشونم قابلیت‌های خوبی دارن، اتفاقا با اینا هم خوبه بلد باشیم کار کنیم و کارمون ساده‌تر و سریعتر میشه خیلی وقت ها. پس کسی نگفت یکیشو فقط بلد باشید.

دوم اینکه خیلی جاها فقط curl نصبه و باید یه حداقلی بلد باشیم که با کمی سرچ بتونیم مشکلمون رو حل کنیم.

سوم و از همه مهم‌تر اینه که curl خیلی اوقات به شکل یک زبون استاندارد برای ارسال درخواست http وجود داره، مثل زبان انگلیسی بین زبون‌ها. حالا شاید شما با دوستت به زبون دیگری هم صحبت کنی ولی اکثر آدما با انگلیسی منظور شما رو متوجه می‌شن. مثلا چی؟ مثلا همون postman یا دوستان می‌تونن به شما درخواست curl بدن. یا مرورگر امکان اینو می‌ده درخواستت رو به عنوان یه اجرای curl کپی کنی (البته چند تا گزینه‌ی دیگه هم داره معمولا) یا مثلا تو شرکت می‌خوان بگن چطوری درخواست بزنم، میگن curlشو بهم بده. و خب حالا شاید شما مجبور نباشید از اول اون curl رو بنویسید ولی خوندن و فهمیدنش و گاهی عوض کردنش به نظر من مهارت واجبیه.
  • 👍 12
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →