Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
3089 - Telegram Web
Telegram Web
من بلاخره از منطقه امنم خارج شدم و کانفیگ zsh رو به سری تغییرات دادم.

یکی از بهترین چیزایی که کار کردم، atuin بود. این ابزار به جای نگهداری تاریخچه command history تون در قالب فایل متنی، از SQLite استفاده می‌کنه. در عین حال یه سری meta data و امکان fuzzy search هم میده (که البته با fzf هم خیلی از این کارا رو میشه کرد).
چیزی که برا من جالب بود این بود که بر خلاف fzf که خیلی عمومی بود، این مخصوص همین تاریخچه کامند های شل نوشته شده و متادیتای خوبی داره مثلا این که اون کامند با چه وضعیتی تموم شده.

به نظرم بهترین ویژگیش هم اینه که هیستوری رو می‌تونه بین دستگاه هاتون سینک کنه که قول داده encrypted هست. (من کدشو نخوندم)

https://github.com/atuinsh/atuin
بچه ها، یه سوال دارم ازتون :)))
امروز تو جشنواره لینوکس امیرکبیر یه نفر که تجربه کاری زیادی تو DevOps داشت گفت که هیچکس نمیتونه DevOps باشه و work life balance خوبی داشته باشه.

کلی تر از DevOps، فکر میکنم منظورش شغل هایی بود که انکالی دارن و هر ساعت از شبانه روز باید حواسشون به uptime سیستم باشه. به نظرم شامل SRE یا خود backend developer هم می‌تونه باشه.

شما میشه تجربیاتتون رو بگید؟
هم برای کسی که میخواد شروع کنه و وارد این فیلد بشه می‌تونه مفید باشه، هم برای منی که اوایل این مسیرم می‌تونه جالب باشه که در ادامه چه خبره.
یه ابزار zsh جدیدی که باهاش کار کردم، zinitئه که در واقع یه پلاگین منیجر برای zsh محسوب میشه.
من بعد از نصبش دیگه متوجه شدم نیاز نیست تک تک پلاگین هایی که نیاز دارم رو با مصیبت git clone کنم و خودش کارشو انجام میده. همچنین اگه چیز خاصی از پلاگین oh my zsh هست که میخواهید استفاده کنید، لازم نیست کل oh my zsh رو نگه دارید بلکه کافیه migration guide رو بخونید و ببینید چطوری میشه از پلاگین های اون استفاده کنید.

https://github.com/zdharma-continuum/zinit

قسمت migration
https://github.com/zdharma-continuum/zinit?tab=readme-ov-file#migration


این هم مثال خوبیه:
https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/
The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.

- Edsger W. Dijkstra
یه آموزش کامل و ساده و دوست داشتنی برای design pattern ها به همراه تکه‌کدهایی برای زبون‌های برنامه‌نویسی مختلف

نسخه اصلی:
https://github.com/kamranahmedse/design-patterns-for-humans

نسخه ترجمه شده:
https://github.com/3lf/design-patterns-for-humans
متاسفانه توزیع دوست داشتنی Arco Linux که من سالها ازش استفاده میکردم، بعد از ۸ سال توسعه‌ش متوقف میشه.

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

لینک خبر:
https://news.itsfoss.com/arcolinux-discontinued/
اگه تو ویم متن نوشته باشید احتمالا به این مشکل خوردید که خط ها طولانی میشه و سخته باهاشون کار کرد.
یه کاری که میشه کرد wrap کردن خط‌هاست که میاد خط های طولانی رو در دو خط نشون میده. در حالت پیشفرض از وسط کلمه هم ممکنه بشکونه ولی میتونید تنظیم کنید فقط از whitespace ها برک بده.

حالا تو این حالت مشکلی که هست اینه که j/k خیلی جالب کار نمیکنن چون کل اون خط که ما چند خط می‌بینیم رو یه خط می‌بینیم!

این ویدیو چند تا شورتکات خوب گفته با کلید g که مشکل رو حل میکنن‌.
https://youtu.be/t9FWr7cajV4?si=XeS61yU20w0P6F5g

البته g کلا کارهای خیلی جالبی می‌کنه مثلا تبدیل lowercase به uppercase هم انجام میده.
https://learnbyexample.github.io/tips/vim-tip-7/
یکی از بهترین ابزارهایی که کاربران پایتون یا حتی کاربرانی که ابزارهای پایتونی دارن می‌تونن نصب کنن uvئه به نظرم. یه جایگزینه برای بسیاری از ابزارهای مدیریت پکیج و غیره پایتونه (مثل pip و pipx و pyenv و virtualenv) که با rust نوشته شده و بسیار بسیار سریعه. اینقدر سریع پکیج‌ها رو دانلود می‌کنه که من باورم نمیشه با pip یه کار مشترک رو انجام بدن!
https://docs.astral.sh/uv/


چیزی که امروز باهاش آشنا شدم قابلیت toolsش هست. به این صورته که شما فقط می‌نویسید uvx pycowsay (برای نصب ابزار pycowsay) و همین! خودش اگه اون نصب باشه اجراش میکنه و اگه نصب نباشه اول نصبش میکنه و بعد اجراش میکنه! همچنین می‌شه ابزار رو جوری نصب کرد که به path اضافه بشه.
https://docs.astral.sh/uv/concepts/tools/


به عنوان نکته مثبت اضافه، اگه دوست ندارید کامند های خودش رو هم یاد بگیرید کافیه به جای pip install ... بزنید uv pip install و خودش اکثر ساب‌کامند‌های پیپ رو پشتیبانی می‌کنه و می‌تونید از سرعت زیادش لذت ببرید.
یه کتاب‌خونه‌ و ابزار جدیدی که پیدا کردم اسمش llm ئه و بهتون اجازه میده تو ترمینال و یا به عنوان کتابخونه پایتونی با llmهاتون ارتباط بگیرید.
جدا از این که محبوبه و داک خوبی داره، چیزی که برای من جالب بود قابلیت پلاگین‌هاش بود که مثلا می‌شه با یه پلاگین پشتیبانی از مدل‌های لوکال یا مدل‌های openrouter رو هم بهش اضافه کرد.
همچنین قابلیت کار با عکس یا خروجی structured هم داره که من تو ابزارهای دیگه ندیده بودم به این راحتی و رایگان بشه استفاده کرد.

لینک گیتهاب:
https://github.com/simonw/llm

لینک داکیومنت (قسمت schema به عنوان مثال)
https://llm.datasette.io/en/stable/schemas.html


یک نمونه پلاگین:
https://github.com/simonw/llm-openrouter

برای نصبش هم پیشنهادم استفاده از uvئه که به راحتی با uv tool install llm می‌تونید نصبش کنید.
کد زیبا چه کدیه؟ کدیه که به اندازه باشه نه بیشتر نه کمتر. قابل فهم باشه و ...
در این مطلب یه کد زیبا که برای match کردن regex ها استفاده می‌شه توضیح داده شده! به نظرم مهم تر از خود اون کد، دیدی که به برنامه‌نویسی و کد تمیز داره جالبه.
https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html
Forwarded from Geek Alerts
اسکایپ امروز بعد از ۲۲ سال برای همیشه خاموش می‌شه و کاربران برای استفاده از ویژگی‌های مشابه باید به مایکروسافت تیمز برن.

hadi @geekalerts
چرا داشتن فقط یک مانیتور برای بهره‌وری بهتر است؟
این ویدیو توضیح می‌ده که چطوری با تمرکز بر فقط همون یک مانیتور حس بهتری داره و خستگی کمتری رو تجربه می‌کنه.

https://m.youtube.com/watch?v=8rWtKKeBMm8
ادیتور zed اخیرا ویژگی agentic edit رو معرفی کرده. قضیه به این صورته که شما قبلا می‌تونستین api key مربوط به LLM رو وارد کنید (انواع مختلفی رو هم ساپورت میکرد) و کنار کد و با کانتکست هر فایلی که بهش بگید، بتونید با مدلتون چت کنید.
الان علاوه بر اون قابلیت ادیت هم اضافه کرده، یعنی خود ادیتور میاد بر اساس پرامپت شما و چندین کال زدن به LLM، ادیت می‌کنه کد رو و حتی توی کد سرچ می‌کنه و فایل های مرتبط و مورد نیاز رو به کانتکست اضافه می‌کنه. در نهایت هم diff رو به شما نشون میده و شما تایید یا رد می‌کنید و خلاصه بدون اجازه شما کد رو دست نمیزنه. (البته قطعا ایده خوبیه که از ورژن کنترل استفاده کنید و کپی‌ای چیزی داشته باشید از کد)

https://zed.dev/agentic


در کل من ادیتور Zed رو دوست دارم خیلی. هم vim mode خوبی داره هم پشتیبانی نسبتا خوبی از زبان های مختلف بدون نیاز به پلاگین خاصی داره. البته برخلاف تبلیغشون که خیلی سریعه، از کانفیگ neovim من با ده ها پلاگین سریع‌تر نیست، اما باز هم تجربه لذت بخشی ارائه می‌ده.
2025/06/29 04:16:21
Back to Top
HTML Embed Code: