نوشته‌های ترمینالی
2.62K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
اگه از zsh استفاده می‌کنید و کلی پلاگین و کانفیگ بهش اضافه کردید و دیر میاد بالا، می‌تونید profileش کنید تا ببینید چی بیشتر از همه زمان مصرف می‌کنه موقع باز شدن.

این دو تا لینک دو تا روش مختلف گفته بودن:

این روشش سرراست تره:
https://stevenvanbael.com/profiling-zsh-startup

این روشش یه مقدار سرراست نیست ولی اگه خودتون دست به کد باشید می‌تونید دیتای جالب ازش بکشید بیرون:
https://esham.io/2018/02/zsh-profiling
👍7
چرا همه چیز بد است؟
این ویدیو کلا با همه چی سر ناسازگاری داره، از ویم تا کد تمیز، از پرفورمنس تا خود عمو باب.
https://youtu.be/-_o4YFFD6is?feature=shared


سیزده به درتون مبارک 🥗🥳🎊🎉🎉🎉🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍1🔥1
Forwarded from Singular Thinker
Can LLMs Separate Instructions From Data? And What Do We Even Mean By That?

I saw this thread on X and get excited.
I didn't go through the paper, but I liked the way of thinking and modeling the problem with information theory. It was inspirational. In addition, imo the main problem is very related to the Godel Incompleteness theorem and/or the halting problem. In a nutshell, the system could interpret a sentence both as an instruction and data, which is the underlying cause of many self-referential paradoxes.

#paper
@SingularThinker
👍2
Forwarded from It's FOSS
Cheers to 19 years of Git! 🎉 Linus Torvalds' genius creation still fuels seamless collaboration in tech today. 🚀 #Git #LinusTorvalds
🎉134
مسئله‌ی ۲ ژنرال:
چطور دو تا سیستم کامپیوتری مستقل از طریق یه شبکه که تضمینی بابت رسیدن بسته نمی‌ده، می‌تونن مطمئن بشن پیامشون رسیده؟
https://www.youtube.com/watch?v=IP-rGJKSZ3s
😁3
اگه با کامندلاین لینوکس کار کرده باشید احتمالا با cat و head و tail آشنا هستین. اما چندین دستور دیگه هم داریم که کار text manipulation رو انجام میدن. مثلا ممکنه با sort/uniq و wc هم آشنا باشید.
اگه دوست دارید یه کتابچه‌ی کامل در این مورد ببینید این کتاب رو پیشنهاد می‌کنم:

https://learnbyexample.github.io/cli_text_processing_coreutils/preface.html
👍64
اگه یادتون باشه کتاب text manipulation با کمک ابزارهای gnuیی رو با هم دیدیم. از همون نویسنده چند تا کتاب قشنگ دیگه هم هست که می‌تونید رایگان و آزاد بخونید:
آموزش بش‌اسکریپت، شامل دستورهای اولیه، انواع quote کردن و expansionها و redirect و کلی قابلیت‌های جالب‌تر
https://learnbyexample.github.io/cli-computing/preface.html
(خیلی توصیه میشه)

آموزش grep
https://learnbyexample.github.io/learn_gnugrep_ripgrep/preface.html

آموزش sed
https://learnbyexample.github.io/learn_gnused/

آموزش awk
https://learnbyexample.github.io/learn_gnuawk/


آموزش ویم: کتاب خوبی بود و مطالب intermediate خوبی داشت ولی برای شروع توصیه نمی‌کنم. اگه یه مقدار استفاده کردین، برای یه جمع‌بندی و یادآوری می‌تونه خوب باشه به نظرم.
https://learnbyexample.github.io/vim_reference/preface.html
6👍2
یه مشکلی که alias ها توی شل‌هامون دارن، اینه که گاهی یادمون میره بعد یه مدت که دستور اصلی چی بود، هم اینکه تاریخچه کامند‌هامون نامرتبه و دیگه قابلیت سرچ رو به راحتی نداره.
پلاگین abbr برای zsh کار خلاقانه‌ای که انجام میده اینه که میگه بیا alias‌ها رو بده به من، حالا هر موقع وارد کردی و خواستی دستور را اجرا کنی، من expandش می‌کنم به دستور اصلی.
به نظرم خلاقانه بود و مدلی که توش abbrها تعریف می‌شن هم زیباست. مخصوصا برای دوستان تازه‌کار تر که حوصله ادیت کردن zshrc رو ندارن شاید جالب باشه.
https://zsh-abbr.olets.dev/
👍11🔥3
در زمانه‌‌ی عجیبی از اوپن‌سورس هستیم. وضعیت جوریه که اپل و مایکروسافت کد اوپن سورس می‌کنن. (هرچند MS-DOS نسخه ۴ باشه)
https://github.com/apple/corenet
https://github.com/microsoft/MS-DOS
ولی از طرف دیگه، ردیس داره لایسنسش عوض می‌شه. CentOS رو از دست دادیم و IBM هم HashiCorp رو به زودی می‌خره.
برای کسایی که در جریان نیستن، HashiCorp شرکتیه که پشت Consul و Vault و Nomad و Terraform و Vagrant هست.
https://newsroom.ibm.com/2024-04-24-IBM-to-Acquire-HashiCorp-Inc-Creating-a-Comprehensive-End-to-End-Hybrid-Cloud-Platform
🥰5😱2👍1😁1
Forwarded from Programming Resources via @like
50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
۵۰ نکته و مورد جالب برای کسانی که به تازگی قصد یادگیری زبان برنامه‌نویسی Go را دارند.

#golang #go #gotcha #tip #tips #traps #mistake #list #awesome
@pythony

https://golang50shad.es
👍5
😁24👌3🔥1
با توجه به اینکه قبلا کاربر و طرفدار atom بودم تصمیم گرفتم که zed رو امتحان کنم. ادیتور جالبیه. با rust نوشته شده و به نظر سبک و سریع میاد.
داخل خودش امکان مشاهده فایل‌ها و جا به جا شدن بینشون و پشتیبانی از autocomplete داره (بدون کانفیگ و پلاگین خاصی) که خیلی جالبه.

متاسفانه ولی چند تا ایراد عمده داره که باعث می‌شه فعلا نشه ازش استفاده کرد.
اول اینکه فقط برای macOS در دسترسه. دوم اینکه باگ هم کم نداره مخصوصا از قابلیات‌ها یپیچیده‌ش مثل همین autocomplete بخواید استفاده کنید. مثلا با اینکه من gopls رو نصب داشتم و تو یه پروژه ی معتبر گولنگی بودم ولی موتور اتوکامپلیتش قاطی کرد. دیدم ایشو‌ی مرتبطش هم باز هست تو گیتهاب. یا مثلا اگه فایل زیپ رو دستتون بخوره باز کنید باهاش ارورهای عجیب میده که فایل utf-8 نیست. مشکلات دیگه مثل مصرف زیاد حافظه برای فایل‌های بزرگ هم داره که همه‌ی تبلیغاتش که با rust نوشته شده و سریع و سبکه رو زیر سوال می‌بره.

در کل به نظرم ایده‌های خوبی رو داره دنبال می‌کنه و برای کسایی که نمی‌خوان IDE هر زبون خاص رو نصب کنن و الان مثلا از VSCode استفاده می‌کنن شاید بعدا که استیبل شد گزینه‌ی خوبی باشه ولی در حال حاضر نه.

راستی فیچر‌های خیلی باحالی هم نوید می‌ده مثل اینکه با همکاراتون روی یک فایل کار کنید ولی با توجه به اینکه سیستم‌عامل قابل استفاده‌ش محدوده من نتونستم خودم تست کنم.

یه لینک که در موردش نوشته و سایت رسمی‌ش هم براتون می‌ذارم اگه خواستید بیش‌تر بخونید:

https://www.infoq.com/news/2024/02/zed-code-editor-open-sourced/

https://zed.dev/
👍53🔥2🤣1
من میخواستم یه مطلب مشابه همین بنویسم ولی این رو پیدا کردم و فقط توضیحات تکمیلی می‌دم.
ابزار ollama ربطی به llama3 نداره و میشه باهاش از marketplaceی که داره هر مدل اوپن‌سورسی رو مثل mistal رو پول کرد و اجرا کرد. رابط خوش دستی هم داره فقط تنها ایرادش اینه که سرورش ما رو تحریم کرده و برا پول کردن باید یه فکری بکنید.

برای فرانت‌اند هم میشه از چندین روش استفاده کرد. یکیش همین چت خودشه که تو ترمیناله و تو گیف مشاهده می‌کنید. حتی میشه بهش دستور pipe کرد ولی شاید بهترین تجربه کاربری نباشه.
می‌تونید هم از frontendهای دیگه استفاده کنید. ollama در اصل در حالت سرور با دستور ollama serve اجرا می‌شه و بعد می‌تونید frontendهای مختلف مثل cli خودش یا open-webui رو بهش متصل کنید.
حالا apiی که ارائه میده یه چیزی مختص خودشه، ولی پشتیبانی آزمایشی از api استاندارد open ai هم داره که در نتیجه می‌شه بهش ابزارهایی که در اصل برا chat gpt توسعه داده شدن رو هم بهش متصل کرد. من مثلا mods رو بهش متصل کردم برا استفاده تو ترمینال.

یه نکته پرفورمنسی هم اینکه اگر کارت گرافیک ندارید احتمالا خیلی پردازنده‌تون داغ و اذیت بشه و تولید نتیجه کند باشه (مگر اینکه خیلی قوی باشه که بعیده چنین سیستمی) اما شدنیه. اگر هم کارت گرافیک دارید نسخه‌ی مخصوص ollama رو می‌تونید نصب کنید مثلا من که nvidia بود کارت گرافیکم، از aur پکیج ollama cuda رو نصب کردم و بدون دردسر خاصی کار کرد و لود رو انداخت رو gpu. داک‌های خودشون هم برا gpu لینکش رو می‌گذارم.
https://github.com/ollama/ollama/blob/main/docs/linux.md
https://github.com/ollama/ollama/blob/main/docs/gpu.md

قبلا lm-studio رو معرفی کرده بودم که اون یه gui مرتب داره و می‌تونید همونجا چت کنید و مدل دانلود کنید و کامله و کار باهاش راحت تره ولی apiش گویا مطابق با open ai نیست. یه مشکل دیگه هم که داره اینه که در ان واحد یه مدل رو می‌تونه لود کنه و رو اون کار کنه در حالی که ollama اصلا مدل رو لود نمی‌کنه و وقتی serveش رو اجرا می‌کنید مموری خیلی کمی مصرف می‌کنه و بعد به تناسب api callی که دریافت می‌کنه از مدل استفاده می‌کنه. (که نمیدونم چرا ولی سریعه و خوبه!)

دو تا تجربه هم که داشتم می‌نویسم براتون.
اول اینکه لزومی نداره حتما ollama یا هر فرانت‌اندی به بک‌اند روی همون سیستم وصل بشه. اگه موقع زدن ollama serve تنظیمات لازم رو انجام بدید از هر سیستمی می‌شه بهش متصل شد، مثلا میشه مدل رو روی سرور بیارید بالا ولی ollama محلی رو تنظیم کنید که به سرور وصل بشه. من روی سیستمی که gpu و رم مناسبی داشت ران کردم و از لپتاپ بهش متصل شدم.
این ایشو رو ببینید:
https://github.com/ollama/ollama/issues/703

دوم اینکه open-webui حجم زیادی داره که برا یه gui خیلی منطقی نیست. ایمج داکرش حدود یک گیگابایت می‌شه! ولی امکانات جالبی هم اضافه می‌کنه مثلا قابلیت اکانت‌های مختلف رو داره و اولین اکانت ادمینه و باید sign up بقیه رو تایید کنه. می‌تونید این رو هم روی سرور بیارید بالا و اکانت بسازید برای آدما و بهشون خدمت llm ارائه بدید. در واقع یه frontend و یه backend خودش داره که backendش به بک‌اند‌های مختلفی از جمله ollama متصل می‌تونه بشه. در کل می‌شه گفت که برای استفاده شخصی رو یه سیستم داشتن ollama در کنار open-webui یه مقدار over engineer هست ولی با توجه به رابط کاربری مرتب و کم باگ open-webui به نظرم می‌شه بهش فکر کرد.
👍4