نوشته‌های ترمینالی – 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
http://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