نوشته‌های ترمینالی
2.62K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
وقتی چیزی را توضیح می‌دهیم، لیستی از کارها که باعث می‌شود که مخاطب متوجه نشود:
https://jvns.ca/blog/confusing-explanations/
اگه یاد گرفتن lua نمی‌ترسید ولی دوست دارید یه IDE کانفیگ شده بر پایه neovim برای همه‌ی زبون ها داشته باشید، lunarvim برای شماست.
https://github.com/LunarVim/LunarVim
اینجا هم می‌تونین چند نمونه از کانفیگ‌فایل‌هایی که روی lunavim ساخته شده رو پیدا کنید.
https://www.lunarvim.org/community/faq.html#where-can-i-find-some-example-configs
پلاگین which key vim : بهتون key bindingهاتون رو نشون میده
مشابهش رو توی doom از کانفیگ های آماده‌ی emacs دیده بودم.
https://github.com/liuchengxu/vim-which-key
مثال‌های خوب از C و Cpp و bash و make و gdb ..
https://cppcheatsheet.readthedocs.io/en/latest/
From: [email protected] (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID:
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki


Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)

Linus ([email protected])

PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.
نوشته‌های ترمینالی
From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: Date: 25 Aug 91 20:57:08 GMT Organization: University…
نمی‌دونم این ایمیل رو می‌شه تولد لینوکس در نظر گرفت یا نه، اما ازش ۳۰ سال می‌گذره.
از ۲۵ آگوست ۱۹۹۱ که لینوس به چند نفر ایمیل زد و گفت یه hobby project نوشته.
این تصویر هم دوست دارم از تولد لینوکس
"کتاب سیندرلا"

یکی از قدیمی ترین، پایه ای ترین و مهم ترین مباحثی که در تئوری علم کامپیوتر مطرح شده، Automata Theory نام داره. در این علم سعی میکنیم ماشین هایی که توان محاسبه ای دارن رو خیلی Abstract در نظر بگیریم و از جزئیاتی که دارن صرف نظر کنیم. همیشه هم از ساده ترین ماشین ها شروع میکنیم به طور مثال ماشین بدون حافظه ی محدود و قطعی. محدود یعنی ماشین ما تعداد حالت های مختلفی که میتونه به ازای هر نوع ورودی داشته باشه محدوده و منظورمون از قطعی اینه که به ازای هر ورودی تنها به یک حالت دیگه میره. البته ورودی هم باید محدود باشه. حالا بگذریم. شاید به خودتون بگید چرا انقدر ماشین مون ساده و محدود شده است؟ چون اگر بتونیم با این ماشین مسئله های زیادی رو حل کنیم، خوبیش اینه که بخاطر ساده بودن ماشین تمام قضایا و لم هایی که مطرح میشه روی مسئله هایی که با این ماشین حل میشه، به راحتی اثبات میشه. یه جورایی کارمون راحت تره. حالا اگر این ماشین نتونه مسئله هایی رو حل کنه اونوقت باید بریم سراغ ماشین هایی که محدودیت کمتری دارن و در نتیجه قدرت محاسباتی بیشتری دارن ولی خب حسابی کار ما رو سخت و پیچیده میکنن. Automata Theory درباره همین ماشین ها و مسائلی که میتونن حل کنن صحبت میکنه.
کاربردهای زیادی این علم داره. یکی از کاربردهاش ساخت زبان های برنامه نویسی و Compiler ها و Interpreter هاست. یکی دیگر از کاربردهای اساسی اش در علم Formal Verification و Concurrency Theory نمود پیدا میکنه. حتی توی علم Bioinformatic هم ردپایش دیده میشه اگر Cellular Automata و Game of Life رو سرچ کنید بیشتر باهاش آشنا میشید.

این حرفا رو گفتم تا بهتون بهترین کتابی رو که برای این علم نوشته شده و خیلی ها این کتاب رو هم تراز با کتاب های معروف Knuth میدونن، معرفی کنم.

کتاب "Introduction to Automata Theory, Languages, and Computation" که اکثرا با نام مستعار "Cinderella Book" میشناسنش. این کتاب توسط برندگان جایزه Turing یا همون نوبل محاسبات یعنی آقایان Jeffrey Ullman و John Hopcroft نوشته شده.
دلیل اینکه به این کتاب Cinderella Book میگن اینه که روی جلد اولین ویرایش کتاب عکس یک دختر خانمی رو کشیده که داره با کمک یه ماشین ( شبیه ماشین هایی که تام برای به دام انداختن جری می ساخت :))) ) بند کفش هاش رو میبنده و یا باز میکنه.

در ویرایش دوم کتاب، آقای Rajeev Motwani به جمع نویسنده های کتاب اضافه میشن و کتاب به شدت دچار تغییر میشه و خیلی از دانشمندا از این تغییر انتقاد کردن. توی ویرایش دوم به بعد خیلی از مباحث پیشرفته حذف شد و به جاش سعی کردن تعداد مثال ها و مسائل رو افزایش بدن.
به طور مثال آقای Jeffrey Shallit که یکی از دانشمندان خبره علوم کامیپوتر هستش، سال ۲۰۰۸ درباره کتاب سیندرلا گفت :
"they have removed all good parts"

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

خود بنده پیشنهادم ویرایش اول این کتاب هستش. از وقتی عکس خانم سیندرلا از روی این کتاب پاک شد برکت از این کتاب رفت :))))

ویراست سوم و اول کتاب روی کانال @debrary قرار داره.
این هم وبسایت کتاب هستش:
https://infolab.stanford.edu/~ullman/ialc.html

آقای Ullman که یکی از نویسنده های کتاب هستش، سال ۲۰۱۲ یک سری فیلم با استناد به ویرایش سوم کتاب ضبط کردند که میتونید از طریف لینک زیر به طور رایگان ثبت نام کنید و ازشون استفاده کنید :
https://online.stanford.edu/courses/soe-ycsautomata-automata-theory
💯1
تا حالا اینجا terminal emulator معرفی نکردم اما جدا از gnome-terminal و xfce4-terminal که گزینه‌های معقول و خوبین، kitty هم جالب به نظر میاد. قابل کانفیگه و خودش کلی ابزار جالب داره. مثلا diff دو تا فایل رو با استایل شبیه github میگه، یا مثلا می‌تونه یه عکس رو تو خود ترمینال چاپ کنه!
https://sw.kovidgoyal.net/kitty/#kittens

kitty is designed for power keyboard users. To that end all its controls work with the keyboard (although it fully supports mouse interactions as well). Its configuration is a simple, human editable, single file for easy reproducibility (I like to store configuration in source control).

The code in kitty is designed to be simple, modular and hackable
چند تا کانفیگ خوب ازش رو می‌تونید اینجا پیدا کنید:

https://gist.github.com/sts10/56ffa75c87e1cc2af9a9309d5baeb2ff
و
https://gist.github.com/cleanunicorn/ddca136f9cdf8a9c9c0529c0373dd19a

و اینم کانفیگ sample پیشنهادی خودشون
https://sw.kovidgoyal.net/kitty/_downloads/433dadebd0bf504f8b008985378086ce/kitty.conf

دقت کنید که فایل رو باید تو این مسیر بذارید:
~/.config/kitty/kitty.conf