نوشته‌های ترمینالی
2.63K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
برای اینکه توی ترمینال، یه فایل رو ادیت کنید که برای ادیتش دسترسی sudo میخواد چه کنیم؟

راه ساده اینه که بزنیم:
sudo vim /path/to/file
اما مشکلش اینه که تنظیمات ادیتورمون رو از دست میدیم و با تنظیمات پیش‌فرض باز میشه.
برای حلش چند تا کار میشه کرد:

۱- فایل vimrc و هر تنظیمی که برای ادیتور لازمه رو برای اکانت root هم جدا انجام بدیم.

۲- پوشه تنظیمات (یا فایل تنظیمات) روت رو به تنظیمات فعلی soft link کنیم.

۳- (بهترین راه) متغیر محلی $EDITOR رو تنظیم کنید به ویم (اگر نیست) و بعد از sudoedit استفاده کنید. مثلا:
sudoedit /path/to/file
یا به شکل کوتاه تر
sudo -e /path/to/file
(به کوچک بودن e دقت کنید.)

منبع:
https://stackoverflow.com/questions/21488357/use-sudo-with-vimrc
برای کامپایل برنامه گو از لینوکس به مقصد ویندوز
GOOS=windows GOARCH=amd64 go build

(دقت کنید همش تو یه خط باشه)

مطالعه بیشتر:
https://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5
توی برنامه‌نویسی کپی‌پیست نکنید.
اگر دارید کپی‌پیست می‌کنید یه مشکلی هست.
دستگاه Duff:
تکنیکی برای راحت تر کردن loop unroll وقتی که تعداد چرخش به تعداد unfold کردن بخش پذیر نیست.

کد اولیه:
send(to, from, count)
register short *to, *from;
register count;
{
do { /* count > 0 assumed */
*to = *from++;
} while (--count > 0);
}



کد unfold شده معمولی:

send(to, from, count)
register short *to, *from;
register count;
{
register n = count / 8;
do {
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
} while (--n > 0);
}


کد Duff machine (که هر تعداد n رو ساپورت می‌کنه)
send(to, from, count)
register short *to, *from;
register count;
{
register n = (count + 7) / 8;
switch (count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}
}



https://en.wikipedia.org/wiki/Duff%27s_device
این دنیا هی عجیب تر میشه.
یه زبان بوده به اسم Go! قبل از go که مال گوگله.
طرف اسم کتاب اموزشیشم گذاشته let's go
https://www.lulu.com/content/paperback-book/lets-go/641689

حالا گوگل میاد و زبانش رو به اسم go میده (بدون !)

اینم ایشوی خالق Go! روی go که جزو غمگین‌ترین ایشوهایی بود که دیده بودم.

https://github.com/golang/go/issues/9


حالا این وسط کاربرا میگفتن به گوگل که اسم زبانش رو بذاره issue9 (سر اینکه شماره این ایشو، ۹ بوده)

آخرم گوگل کاری نکرد! بعد ۲ سال و ۱۲۰۰ تا دیالوگ توی issue، اون ایشو رو بست و تگ unfortunate زدن بهش.

به جز خود issue می‌تونید اینجا هم یه سری چیز در مورد داستان بخونید
https://news.ycombinator.com/item?id=935674
اره برای منم pretty clear بود. :))
Forwarded from memealloc
Dealing with open source issues be like...

@memealloc