From: Amin Bandali Date: Fri, 22 Oct 2021 03:15:08 +0000 (-0400) Subject: txt2pre: implement generation of atom and rss feeds X-Git-Url: https://git.shemshak.org/~bandali/bndl.org/commitdiff_plain/324698012e075437f9ed936c99f47ad60ee8438e?ds=inline txt2pre: implement generation of atom and rss feeds and remove the {,fa/}notes.{atom,rss} feed files from the repo --- diff --git a/.gitignore b/.gitignore index 2d19fc7..d872455 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ *.html +*.atom +*.rss diff --git a/GNUmakefile b/GNUmakefile index ae9eab7..44270e7 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -8,26 +8,45 @@ # without any warranty. -gen-html = perl txt2pre $(1) < $< > $@ +gen = perl txt2pre $(1) < $< > $@ port := $(if $(port),$(port),8000) TXT := $(filter-out bandali-pubkey.txt bandali.txt,$(wildcard *.txt)) OUT := $(patsubst %.txt,%.html,$(TXT)) OUT := $(patsubst bandali-%.html,%.html,$(OUT)) +FEEDS := $(wildcard *.atom) $(wildcard *.rss) +NOTES := $\ +libreplanet-2021.txt $\ +fsf-internship-beyond.txt $\ +fsf-internship-intro.txt $\ +bandali-computing.txt $\ TXT_FA := $(filter-out fa/bandali.fa.txt,$(wildcard fa/*.fa.txt)) OUT_FA := $(patsubst fa/%.fa.txt,fa/%.html,$(TXT_FA)) OUT_FA := $(patsubst fa/bandali-%.html,fa/%.html,$(OUT_FA)) - -all: $(OUT) $(OUT_FA) index.html fa/index.html - -%.html: bandali-%.txt; $(gen-html) -%.html: %.txt; $(gen-html) -index.html: bandali.txt; $(call gen-html,--index) - -fa/%.html: fa/bandali-%.fa.txt; $(call gen-html,--lang='fa') -fa/%.html: fa/%.fa.txt; $(call gen-html,--lang='fa') -fa/index.html: fa/bandali.fa.txt; $(call gen-html,--lang='fa' --index) +FEEDS_FA := $(wildcard fa/*.atom) $(wildcard fa/*.rss) +NOTES_FA := $\ +fa/fsf-internship-beyond.fa.txt $\ +fa/fsf-internship-intro.fa.txt $\ +fa/bandali-computing.fa.txt $\ + +all: $(OUT) $(FEEDS) index.html $(OUT_FA) $(FEEDS_FA) fa/index.html + +%.html: bandali-%.txt txt2pre; $(gen) +%.html: %.txt txt2pre; $(gen) +index.html: bandali.txt txt2pre; $(call gen,--index) +notes.%: $(NOTES) txt2pre + perl txt2pre --index --header --format='$*' > $@ + for n in $(NOTES); do perl txt2pre --format='$*' < "$$n" >> $@; done + perl txt2pre --index --footer --format='$*' >> $@ + +fa/%.html: fa/bandali-%.fa.txt txt2pre; $(call gen,--lang='fa') +fa/%.html: fa/%.fa.txt txt2pre; $(call gen,--lang='fa') +fa/index.html: fa/bandali.fa.txt txt2pre; $(call gen,--lang='fa' --index) +fa/notes.%: $(NOTES_FA) txt2pre + perl txt2pre --lang='fa' --index --header --format='$*' > $@ + for n in $(NOTES_FA); do perl txt2pre --lang='fa' --format='$*' < "$$n" >> $@; done + perl txt2pre --lang='fa' --index --footer --format='$*' >> $@ clean: diff --git a/fa/notes.atom b/fa/notes.atom deleted file mode 100644 index 0de9a1d..0000000 --- a/fa/notes.atom +++ /dev/null @@ -1,243 +0,0 @@ - - -سایت شخصی بندعلی -نوشته‌ها و بلاگ پست‌های بندعلی -tag:bndl.org,2020:fa/notes.atom - - - - - - - - -2021-03-22T13:14:02+00:00 - - -بندعلی -tag:bndl.org,2020:fa/notes.atom:fsf-internship-beyond -2020-12-18T15:31:00-04:00 -2020-12-18T15:31:00-04:00 - - - - -کارآموزی من با تیم فنی بنیاد نرم‌افزار آزاد و فراتر از آن -نسخهٔ -انگلیسی این مقاله ابتدا در وبلاگ مدیر سامانه بنیاد نرم‌افزار آزاد -منتشر شد:
-My -internship with the FSF tech team and beyond

- -

سلام! -من امین -بندعلی هستم و این دومین پست من در وبلاگ مدیر سامانه FSF در انتهای -کارآموزیم است.

- -

در طول کارآموزیم با FSF، عمدتا در وظایف مدیریت سامانه‌ای مربوط به -راه‌اندازی و یا مدیریت سرورهای گنو/لینوکس FSF کار کردم. شاید قابل توجه -ترین کارم در طول این کارآموزی راه‌اندازی یک -سرور سورس‌هات -برای کمک -به ارزیابی -آن به عنوان یک کاندید -برای پروژهٔ میزبانی نرم‌افزار آزاد FSF است. من -مراحل نصب و راه‌اندازی اجزای مختلف سورس‌هات را به صورت -یک پروندهٔ ادیبانه -اُرگ-مُد گنو ایمکس مستندسازی کردم، که در آن بلوک‌های کد با توضیحات -لازم همراهی شده‌اند. در این صورت خوانندهٔ پرونده می‌تواند به مرور هر -بلوک کد را ارزیابی -و اجرا کند و به طور اختیاری نتایج آن‌ها را -در همان پرونده برای مستندسازی ذخیره کند.

- -

من همچنین به آهستگی مشغول کار بر تغییرات مختلف برای بهبود سروری که -www.gnu.org روی آن اجرا می‌شود بوده‌ام، و بعد از اتمام کارآموزیم نیز به -طور داوطلبانه به آن ادامه خواهم داد. امیدوارم این بهبودها برای مدیران -سامانه FSF که مدیریت آن سرور را بر عهده دارند، برای وب‌مسترهای گنو که -روی gnu.org کار می‌کنند، و برای عوام مردم که صفحات gnu.org را مرور کرده -یا می‌خوانند مفید واقع شوند. به ویژه این تغییرات شامل ارتقای سبستم‌عامل -سرور به آخرین نسخهٔ توزیع گنو/لینوکس تریسکل و بازسازی و بهبود مکانیزم -جستجوی صفحات gnu.org می‌شوند. علاوه بر این، چند پروژهٔ دیگر نیز هستند -که تمایل دارم در آیندهٔ نزدیک با تیم فنی FSF به انجام برسانم.

- -

در طول کارآموزیم با تیم فنی FSF، انواع گوناگونی مهارت‌های جدید کسب -کرده و درمورد مجموعه‌ی متنوعی از موضوعات و ابزارهای مختلف مربوط به -مدیریت سامانه سرورهای گنو/لینوکسی یاد گرفتم. این شامل کامپایل/ساخت و -نصب نرم‌افزار پیچیده‌ای مثل سورس‌هات و رفع‌اشکال مسائلی که به آن‌ها -برخوردم، استفاده از Ansible برای مدیریت و استقرار (deploy) زیرساخت‌های -نرم‌افزاری، و یادگیری -دربارهٔ عامل انتقال پیام -Exim که FSF بر روی سرورهای دریافت و ارسال رایانامه‌های خود از آن -استفاده می‌کند می‌شود.

- -

در انتهای کارآموزیم و سال ۲۰۲۰، می‌توان گفت امسال سال…جالب و -پراتقافی برای بیشتر مردم، از جمله خودم، بوده است. من کارآموزیم را در -آخرین ماه مه شروع کردم، و به عنوان یک دانشجوی کارشناسی ارشد، انتظار -داشتم یک بار کاری معقول و متعادل برای کارم روی پایان‌نامه‌ام در ماه‌های -آتی داشته‌باشم. اما کمتر از دو هفته پس از شروع کارآموزیم متوجه شدم که -به چند دلیل مجبورم که دورهٔ کارشناسی ارشدم را در عرض دو ماه به پایان -برسانم. این مسئله را به اطلاع تیم فنی FSF رساندم و اجازه گرفتم تا یک -وقفه در کارآموزیم بگذارم تا بتوانم پایان‌نامه‌ام را بدون لطمه به -کارآموزی یا تحصیلاتم به اتمام برسانم. عمیقا قدردان تیم فنی و سایر -کارمندان FSF هستم که با انعطاف فراوان به من اجازه دادند تا موقتا -کارآموزیم را متوقف کنم تا روی تکمیل پایان‌نامه‌ام و اتمام دوره کارشناسی -ارشدم تمرکز کنم. خوشبختانه با زحمت و مشقت فراوان موفق شدم درسم را در -آن بازهٔ زمانی فوق‌العاده کوتاه تمام کرده و پس از آن به انجام کارآموزیم -بپردازم.

- -

با این حال، تمام چیزهای خوب در نهایت به پایان می‌رسند، از جمله این -کارآموزی. از صمیم قلبم از اعضای تیم فنی FSF -- ایان و اندرو و روبن و -مایکل -- برای پذیرش و استقبال از من در تیم به عنوان یک کارآموز، -راهنمایی و پاسخ دادن به پرسش‌های فراوانم و کمک به یادگیری بیشترم -سپاس‌گذارم. کار کردن در کنار شما و دیدن انرژی و همتی که صرف کار و -مسئولیت‌هایتان به عنوان یک مدیر سامانه و توسعه‌دهندهٔ وب FSF می‌کنید برای -من یک افتخار و تجربهٔ فوق‌العاده بوده است. در حالی که بیشتر ارتباطات من -با اعضای تیم فنی FSF بوده است، من فرصت تعامل با اعضای دیگر تیم‌های FSF -را نیز در طول کارآموزیم داشتم و بابت گفتگوهایمان و فرصت یادگیری دربارهٔ -کارها و وظایف پراهمیتتان و تخصیصتان به انجامشان سپاس‌گذارم.

- -

این کارآموزی به پایان رسیده، اما همه خاطرات خوب و درس‌هایی که در طول -کارآموزیم یاد گرفتم را همیشه با خود خواهم داشت و مشتاقانه به عنوان یک -داوطلب به همکاری با شما ادامه خواهم داد. مطالبی که در طول کارآموزیم -یادگرفته و تجربه‌هایی که کسب کردم در شغل جدیدم به عنوان یک مشاور -نرم‌افزار آزاد در شرکت Savoir-faire Linux برایم بسیار با ارزش و مفید -واقع شده‌اند. در Savoir-faire Linux روی اجزا و قسمت‌های مختلف جمی -— یک برنامهٔ گنو برای ارتباطات جامع که به آزادی‌ها و حریم خصوصی -کاربرانش احترام می‌گذارد — کار می‌کنم. - -

دوست دارم از FSF برای فرصت عالی کار کردن در کنار تیم فنی FSF به -عنوان یک کارآموز قدردانی کنم، که تجربه‌ی عالی و به یاد ماندنی‌ای بود و -درس‌هایی ارزشمند و خاطرات خوب به من هدیه داد.

- -

علاقه‌مند به کارآموزی برای بنیاد نرم‌افزار آزاد هستید؟ -دورهٔ درخواست کارآموزی بهار ۲۰۲۱ در حال حاضر باز است. صفحهٔ -https://www.fsf.org/volunteer/internships -را برای اطلاعات بیشتر در مورد درخواست کارآموزی ببینید!

-]]>
-
- - -بندعلی -tag:bndl.org,2020:fa/notes.atom:fsf-internship-intro -2020-05-29T14:38:00-04:00 -2020-05-29T14:38:00-04:00 - - - - -کارآموزی با تیم فنی بنیاد نرم‌افزار آزاد -نسخهٔ -انگلیسی این مقاله ابتدا در وبلاگ مدیر سامانه بنیاد نرم‌افزار آزاد -منتشر شد:
-Introducing Amin -Bandali, intern with the FSF tech team

- -

سلام، امین بندعلی هستم و معمولا از نام کاربری bandali -در اینترنت استفاده می‌کنم. در پروژهٔ گنو به عنوان -یک سرپرست و وب‌مستر و مدیر سامانه -ساوانا فعالیت می‌کنم، و خرسندم که مشارکتم در زمینهٔ نرم‌افزار آزاد را به -بنیاد نرم‌افزار آزاد یا همان FSF (مخفف Free Software Foundation) به -عنوان یک کارآموز تیم فنی FSF در بهار ۲۰۲۰ گسترش دهم.

- -

به واسطهٔ ارتباط کار والدینم با رایانه‌ها به عنوان دو مهندس و -برنامه‌نویس رایانه، از کودکی به بازی و کار با رایانه‌ها علاقه‌مند شدم و -بعدها برای اولین بار در اوایل نوجوانی با گنو/لینوکس آشنا شدم. البته -اولین آشنایی من با دنیای نرم‌افزارهای آزاد هنگامی اتفاق افتاد که چند -سال بعد یکی از دوستان مجازیم به من اشاره کرد که چیزی که به طور مبهم‌وار -به عنوان نرم‌افزار «متن باز» می‌شناختم بهتر است که با عنوان «نرم‌افزار -آزاد» از آن یاد شود، و این دوست عزیز به من کمک کرد متوجه شوم -که چرا -متن‌باز هدف اصلی نرم‌افزار آزاد را برآورده نمی‌کند. پس از یادگیری و -خو گرفتن با ایده‌ها و ایده‌آل‌های نرم‌افزار آزاد، به مرور شروع به فعالیت -در عرصهٔ نرم‌افزار آزاد کردم. به عنوان یک علاقه‌مند و محصل در شاخهٔ علوم -رایانه که از مطالعه و دستکاری کد متن برنامه‌های مختلف لذت می‌برد و هر از -گاهی برنامه‌های خودش را می‌نویسد، تا می‌توانم کدم را تحت مجوزهای کپی‌لفت -قوی مثل GNU AGPL -منتشر می‌کنم.

- -

مشارکت من در پروژهٔ -گنو ابتدا در سال ۲۰۱۶ به عنوان یک وب‌مستر داوطلب آغاز شد، و بعدا از -آخر سال گذشتهٔ میلادی به عنوان یکی از -سرپرستان گنوزیلا و -آیس‌کت. تقریبا در همان زمان، من گروهی از داوطلبان را برای -سازمان‌دهی و برگذاری EmacsConf -2019 به عنوان یک کنفرانس مجازی و تماما با استفاده از نرم‌افزارهای -آزاد (همانند کنفرانس -عالی LibrePlanet -2020) سرپرستی کردم. من -بسیار گنو ایمکس را -دوست دارم و بیش از هر نرم‌افزار دیگری از آن استفاده می‌کنم. گنو ایمکس -به من در انجام کارهای متنوعی مانند برنامه نویسی و خواندن و نوشتن -رایانامه و چت از طریق IRC کمک می‌کند.

- -

در جهت کارآموزیم با تیم فنی FSF، اخیرا با -کمک باب پرو، یک مدیر سامانه -خبرهٔ گنو ساوانا، خودم را با -اجزای مختلف زیرساخت آن و برخی وظایف مدیریتی و سرپرستی ساوانا آشنا کرده -و به تدریج بر عهده گرفتم. من همچنین یکی از اعضای کمیته سیستم‌های -باشگاه علوم رایانه دانشگاه‌مان هستم، که نظارت و سرپرستی گروه بزرگی -سرورهای گنو/لینوکس برای اعضای باشگاه را بر عهده دارد.

- -

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

-]]>
-
- - -بندعلی -tag:bndl.org,2020:fa/notes.atom:computing -2019-09-14T12:00:00Z -2021-02-28T12:00:00Z - - - - -چگونه از رایانه استفاده می‌کنم -با الهام از -صفحهٔ استالمن -در این باره

- -

رایانه‌ها

-

لپ‌تاپ ThinkPad X200 لیبره‌بوت -شده‌ام رایانه ایست که اکثر مواقع از آن استفاده می‌کنم. همچنین از -طریق باشگاه علوم رایانه -دانشگاه‌مان به تعدادی سرور دسترسی دارم که هر از گاهی ازشان برای کارهای -محاسباتی سنگین‌تر استفاده می‌کنم. به غیر از این‌ها یک Dell XPS 15 و -ThinkPad X220T نیز دارم که کمتر ازشان استفاده می‌کنم.

- -

توزیع گنو/لینوکس

-

در طول سالیان از طیف مختلفی از توزیع‌های گنو/لینوکس استفاده کرده‌ام، -اما پس از پیدا کردن تریسکل و -استفاده از آن در سال‌های اخیر، به عنوان توزیع مورد علاقه‌ام در بیشتر -جاها ازش استفاده می‌کنم. گاهی اوقات -با گنو گیکس ترکیبش می‌کنم. -برای هسته سیستم عامل هم معمولا -از گنو -لینوکس-لیبره از مخزن -APT اداره شده توسط jxself استفاده می‌کنم.

- -

کارهای پردازشی و محاسباتی

-

بیشتر وقتم را در گنو -ایمکس می‌گذارنم و برای بسیاری کارهای مختلف از آن استفاده می‌کنم.

-

TODO: توضیح بیشتر

- -

به‌روزرسانی این سایت

-

صفحات این سایت با استفاده از گنو ایمکس و به صورت دستی با HTML ساده -نوشته شده‌اند. با اجرای دستور git clone -https://bndl.org در یک ترمینال می‌توانید مخرن گیت شامل تمامی -صفحات این سایت و تاریخچهٔ تغییرات آن‌ها را دریافت کنید.

-]]>
-
- -
diff --git a/fa/notes.rss b/fa/notes.rss deleted file mode 100644 index 77830dc..0000000 --- a/fa/notes.rss +++ /dev/null @@ -1,239 +0,0 @@ - - - -سایت شخصی بندعلی -نوشته‌ها و بلاگ پست‌های بندعلی -https://bndl.org/fa/ -fa -Mon, 22 Mar 2021 13:14:02 +0000 -Mon, 22 Mar 2021 13:14:02 +0000 -1800 - - - - - - - - - - -کارآموزی من با تیم فنی بنیاد نرم‌افزار آزاد و فراتر از آن -https://bndl.org/fa/fsf-internship-beyond.html -tag:bndl.org,2020:fa/notes.rss:fsf-internship-beyond -Fri, 18 Dec 2020 19:31:00 +0000 - -نسخهٔ -انگلیسی این مقاله ابتدا در وبلاگ مدیر سامانه بنیاد نرم‌افزار آزاد -منتشر شد:
-My -internship with the FSF tech team and beyond

- -

سلام! -من امین -بندعلی هستم و این دومین پست من در وبلاگ مدیر سامانه FSF در انتهای -کارآموزیم است.

- -

در طول کارآموزیم با FSF، عمدتا در وظایف مدیریت سامانه‌ای مربوط به -راه‌اندازی و یا مدیریت سرورهای گنو/لینوکس FSF کار کردم. شاید قابل توجه -ترین کارم در طول این کارآموزی راه‌اندازی یک -سرور سورس‌هات -برای کمک -به ارزیابی -آن به عنوان یک کاندید -برای پروژهٔ میزبانی نرم‌افزار آزاد FSF است. من -مراحل نصب و راه‌اندازی اجزای مختلف سورس‌هات را به صورت -یک پروندهٔ ادیبانه -اُرگ-مُد گنو ایمکس مستندسازی کردم، که در آن بلوک‌های کد با توضیحات -لازم همراهی شده‌اند. در این صورت خوانندهٔ پرونده می‌تواند به مرور هر -بلوک کد را ارزیابی -و اجرا کند و به طور اختیاری نتایج آن‌ها را -در همان پرونده برای مستندسازی ذخیره کند.

- -

من همچنین به آهستگی مشغول کار بر تغییرات مختلف برای بهبود سروری که -www.gnu.org روی آن اجرا می‌شود بوده‌ام، و بعد از اتمام کارآموزیم نیز به -طور داوطلبانه به آن ادامه خواهم داد. امیدوارم این بهبودها برای مدیران -سامانه FSF که مدیریت آن سرور را بر عهده دارند، برای وب‌مسترهای گنو که -روی gnu.org کار می‌کنند، و برای عوام مردم که صفحات gnu.org را مرور کرده -یا می‌خوانند مفید واقع شوند. به ویژه این تغییرات شامل ارتقای سبستم‌عامل -سرور به آخرین نسخهٔ توزیع گنو/لینوکس تریسکل و بازسازی و بهبود مکانیزم -جستجوی صفحات gnu.org می‌شوند. علاوه بر این، چند پروژهٔ دیگر نیز هستند -که تمایل دارم در آیندهٔ نزدیک با تیم فنی FSF به انجام برسانم.

- -

در طول کارآموزیم با تیم فنی FSF، انواع گوناگونی مهارت‌های جدید کسب -کرده و درمورد مجموعه‌ی متنوعی از موضوعات و ابزارهای مختلف مربوط به -مدیریت سامانه سرورهای گنو/لینوکسی یاد گرفتم. این شامل کامپایل/ساخت و -نصب نرم‌افزار پیچیده‌ای مثل سورس‌هات و رفع‌اشکال مسائلی که به آن‌ها -برخوردم، استفاده از Ansible برای مدیریت و استقرار (deploy) زیرساخت‌های -نرم‌افزاری، و یادگیری -دربارهٔ عامل انتقال پیام -Exim که FSF بر روی سرورهای دریافت و ارسال رایانامه‌های خود از آن -استفاده می‌کند می‌شود.

- -

در انتهای کارآموزیم و سال ۲۰۲۰، می‌توان گفت امسال سال…جالب و -پراتقافی برای بیشتر مردم، از جمله خودم، بوده است. من کارآموزیم را در -آخرین ماه مه شروع کردم، و به عنوان یک دانشجوی کارشناسی ارشد، انتظار -داشتم یک بار کاری معقول و متعادل برای کارم روی پایان‌نامه‌ام در ماه‌های -آتی داشته‌باشم. اما کمتر از دو هفته پس از شروع کارآموزیم متوجه شدم که -به چند دلیل مجبورم که دورهٔ کارشناسی ارشدم را در عرض دو ماه به پایان -برسانم. این مسئله را به اطلاع تیم فنی FSF رساندم و اجازه گرفتم تا یک -وقفه در کارآموزیم بگذارم تا بتوانم پایان‌نامه‌ام را بدون لطمه به -کارآموزی یا تحصیلاتم به اتمام برسانم. عمیقا قدردان تیم فنی و سایر -کارمندان FSF هستم که با انعطاف فراوان به من اجازه دادند تا موقتا -کارآموزیم را متوقف کنم تا روی تکمیل پایان‌نامه‌ام و اتمام دوره کارشناسی -ارشدم تمرکز کنم. خوشبختانه با زحمت و مشقت فراوان موفق شدم درسم را در -آن بازهٔ زمانی فوق‌العاده کوتاه تمام کرده و پس از آن به انجام کارآموزیم -بپردازم.

- -

با این حال، تمام چیزهای خوب در نهایت به پایان می‌رسند، از جمله این -کارآموزی. از صمیم قلبم از اعضای تیم فنی FSF -- ایان و اندرو و روبن و -مایکل -- برای پذیرش و استقبال از من در تیم به عنوان یک کارآموز، -راهنمایی و پاسخ دادن به پرسش‌های فراوانم و کمک به یادگیری بیشترم -سپاس‌گذارم. کار کردن در کنار شما و دیدن انرژی و همتی که صرف کار و -مسئولیت‌هایتان به عنوان یک مدیر سامانه و توسعه‌دهندهٔ وب FSF می‌کنید برای -من یک افتخار و تجربهٔ فوق‌العاده بوده است. در حالی که بیشتر ارتباطات من -با اعضای تیم فنی FSF بوده است، من فرصت تعامل با اعضای دیگر تیم‌های FSF -را نیز در طول کارآموزیم داشتم و بابت گفتگوهایمان و فرصت یادگیری دربارهٔ -کارها و وظایف پراهمیتتان و تخصیصتان به انجامشان سپاس‌گذارم.

- -

این کارآموزی به پایان رسیده، اما همه خاطرات خوب و درس‌هایی که در طول -کارآموزیم یاد گرفتم را همیشه با خود خواهم داشت و مشتاقانه به عنوان یک -داوطلب به همکاری با شما ادامه خواهم داد. مطالبی که در طول کارآموزیم -یادگرفته و تجربه‌هایی که کسب کردم در شغل جدیدم به عنوان یک مشاور -نرم‌افزار آزاد در شرکت Savoir-faire Linux برایم بسیار با ارزش و مفید -واقع شده‌اند. در Savoir-faire Linux روی اجزا و قسمت‌های مختلف جمی -— یک برنامهٔ گنو برای ارتباطات جامع که به آزادی‌ها و حریم خصوصی -کاربرانش احترام می‌گذارد — کار می‌کنم. - -

دوست دارم از FSF برای فرصت عالی کار کردن در کنار تیم فنی FSF به -عنوان یک کارآموز قدردانی کنم، که تجربه‌ی عالی و به یاد ماندنی‌ای بود و -درس‌هایی ارزشمند و خاطرات خوب به من هدیه داد.

- -

علاقه‌مند به کارآموزی برای بنیاد نرم‌افزار آزاد هستید؟ -دورهٔ درخواست کارآموزی بهار ۲۰۲۱ در حال حاضر باز است. صفحهٔ -https://www.fsf.org/volunteer/internships -را برای اطلاعات بیشتر در مورد درخواست کارآموزی ببینید!

-]]>
-
- - -کارآموزی با تیم فنی بنیاد نرم‌افزار آزاد -https://bndl.org/fa/fsf-internship-intro.html -tag:bndl.org,2020:fa/notes.rss:fsf-internship-intro -Fri, 29 May 2020 18:38:00 +0000 - -نسخهٔ -انگلیسی این مقاله ابتدا در وبلاگ مدیر سامانه بنیاد نرم‌افزار آزاد -منتشر شد:
-Introducing Amin -Bandali, intern with the FSF tech team

- -

سلام، امین بندعلی هستم و معمولا از نام کاربری bandali -در اینترنت استفاده می‌کنم. در پروژهٔ گنو به عنوان -یک سرپرست و وب‌مستر و مدیر سامانه -ساوانا فعالیت می‌کنم، و خرسندم که مشارکتم در زمینهٔ نرم‌افزار آزاد را به -بنیاد نرم‌افزار آزاد یا همان FSF (مخفف Free Software Foundation) به -عنوان یک کارآموز تیم فنی FSF در بهار ۲۰۲۰ گسترش دهم.

- -

به واسطهٔ ارتباط کار والدینم با رایانه‌ها به عنوان دو مهندس و -برنامه‌نویس رایانه، از کودکی به بازی و کار با رایانه‌ها علاقه‌مند شدم و -بعدها برای اولین بار در اوایل نوجوانی با گنو/لینوکس آشنا شدم. البته -اولین آشنایی من با دنیای نرم‌افزارهای آزاد هنگامی اتفاق افتاد که چند -سال بعد یکی از دوستان مجازیم به من اشاره کرد که چیزی که به طور مبهم‌وار -به عنوان نرم‌افزار «متن باز» می‌شناختم بهتر است که با عنوان «نرم‌افزار -آزاد» از آن یاد شود، و این دوست عزیز به من کمک کرد متوجه شوم -که چرا -متن‌باز هدف اصلی نرم‌افزار آزاد را برآورده نمی‌کند. پس از یادگیری و -خو گرفتن با ایده‌ها و ایده‌آل‌های نرم‌افزار آزاد، به مرور شروع به فعالیت -در عرصهٔ نرم‌افزار آزاد کردم. به عنوان یک علاقه‌مند و محصل در شاخهٔ علوم -رایانه که از مطالعه و دستکاری کد متن برنامه‌های مختلف لذت می‌برد و هر از -گاهی برنامه‌های خودش را می‌نویسد، تا می‌توانم کدم را تحت مجوزهای کپی‌لفت -قوی مثل GNU AGPL -منتشر می‌کنم.

- -

مشارکت من در پروژهٔ -گنو ابتدا در سال ۲۰۱۶ به عنوان یک وب‌مستر داوطلب آغاز شد، و بعدا از -آخر سال گذشتهٔ میلادی به عنوان یکی از -سرپرستان گنوزیلا و -آیس‌کت. تقریبا در همان زمان، من گروهی از داوطلبان را برای -سازمان‌دهی و برگذاری EmacsConf -2019 به عنوان یک کنفرانس مجازی و تماما با استفاده از نرم‌افزارهای -آزاد (همانند کنفرانس -عالی LibrePlanet -2020) سرپرستی کردم. من -بسیار گنو ایمکس را -دوست دارم و بیش از هر نرم‌افزار دیگری از آن استفاده می‌کنم. گنو ایمکس -به من در انجام کارهای متنوعی مانند برنامه نویسی و خواندن و نوشتن -رایانامه و چت از طریق IRC کمک می‌کند.

- -

در جهت کارآموزیم با تیم فنی FSF، اخیرا با -کمک باب پرو، یک مدیر سامانه -خبرهٔ گنو ساوانا، خودم را با -اجزای مختلف زیرساخت آن و برخی وظایف مدیریتی و سرپرستی ساوانا آشنا کرده -و به تدریج بر عهده گرفتم. من همچنین یکی از اعضای کمیته سیستم‌های -باشگاه علوم رایانه دانشگاه‌مان هستم، که نظارت و سرپرستی گروه بزرگی -سرورهای گنو/لینوکس برای اعضای باشگاه را بر عهده دارد.

- -

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

-]]>
-
- - -چگونه از رایانه استفاده می‌کنم -https://bndl.org/fa/computing.html -tag:bndl.org,2020:fa/notes.rss:computing -Sat, 14 Sep 2019 12:00:00 +0000 -2021-02-28T12:00:00Z - -با الهام از -صفحهٔ استالمن -در این باره

- -

رایانه‌ها

-

لپ‌تاپ ThinkPad X200 لیبره‌بوت -شده‌ام رایانه ایست که اکثر مواقع از آن استفاده می‌کنم. همچنین از -طریق باشگاه علوم رایانه -دانشگاه‌مان به تعدادی سرور دسترسی دارم که هر از گاهی ازشان برای کارهای -محاسباتی سنگین‌تر استفاده می‌کنم. به غیر از این‌ها یک Dell XPS 15 و -ThinkPad X220T نیز دارم که کمتر ازشان استفاده می‌کنم.

- -

توزیع گنو/لینوکس

-

در طول سالیان از طیف مختلفی از توزیع‌های گنو/لینوکس استفاده کرده‌ام، -اما پس از پیدا کردن تریسکل و -استفاده از آن در سال‌های اخیر، به عنوان توزیع مورد علاقه‌ام در بیشتر -جاها ازش استفاده می‌کنم. گاهی اوقات -با گنو گیکس ترکیبش می‌کنم. -برای هسته سیستم عامل هم معمولا -از گنو -لینوکس-لیبره از مخزن -APT اداره شده توسط jxself استفاده می‌کنم.

- -

کارهای پردازشی و محاسباتی

-

بیشتر وقتم را در گنو -ایمکس می‌گذارنم و برای بسیاری کارهای مختلف از آن استفاده می‌کنم.

-

TODO: توضیح بیشتر

- -

به‌روزرسانی این سایت

-

صفحات این سایت با استفاده از گنو ایمکس و به صورت دستی با HTML ساده -نوشته شده‌اند. با اجرای دستور git clone -https://bndl.org در یک ترمینال می‌توانید مخرن گیت شامل تمامی -صفحات این سایت و تاریخچهٔ تغییرات آن‌ها را دریافت کنید.

-]]>
-
- -
-
diff --git a/notes.atom b/notes.atom deleted file mode 100644 index c964e7c..0000000 --- a/notes.atom +++ /dev/null @@ -1,320 +0,0 @@ - - -bandali's personal site -notes and blog posts by bandali -tag:bndl.org,2020:notes.atom - - - - - - - - -2021-03-22T13:14:02+00:00 - - -bandali -tag:bndl.org,2020:notes.atom:libreplanet-2021 -2021-03-20T09:00:00-04:00 -2021-03-21T01:15:00-04:00 - - -LibrePlanet 2021: Jami and how it empowers users -I am giving my very first -LibrePlanet talk today on -March 20th. I will be talking about -Jami, the GNU package for universal -communication that respects the freedoms and privacy of its users. -I'll be giving an introduction to Jami and its architecture, sharing -important and exciting development news from the Jami team about -rendezvous -points, JAMS, -the plugin SDK, -Swarm -chats, and more; and how these features each help empower users to -communicate with their loved ones without sacrificing their privacy or -freedom.

- -

Here is the abstract for my talk, also available on the -LibrePlanet -2021's speakers page: - -

-

Jami is free software for universal communication that respects the -freedoms and privacy of its users. Jami is an official GNU package -with a main goal of providing a framework for virtual communications, -along with a series of end-user applications for audio/video calling -and conferencing, text messaging, and file transfer.

- -

With the outbreak of the COVID-19 pandemic, working from home has -become the norm for many workers around the world. More and more -people are using videoconferencing tools to work or communicate with -their loved ones. The emergence of these tools has been followed by -many questions and scandals concerning the privacy and freedom of -users.

- -

This talk gives an introduction to Jami, a free/libre, truly -distributed, and peer-to-peer solution, and explains why and how it -differs from all other existing solutions and how it empowers -users.

-
- -

I have been an attendee of LibrePlanet for some years, and am very -excited to be giving my first ever talk at LibrePlanet 2021 this year! -You can watch my talk and other speakers' talks live this weekend, -from the LibrePlanet 2021 -- Live page. Attendance is gratis (no cost), and you can register -at https://u.fsf.org/lp21-sp.

- -

Presentation slides: -pdf -(with notes) | -bib
- -LaTeX sources: -tar.gz | -zip

- -

I hope to see you around this year's all-online LibrePlanet -conference this weekend!

- -

LibrePlanet is a conference about software freedom, -happening March 20 through 21, 2021. The event is hosted by the Free -Software Foundation (FSF), and brings together software developers, -law and policy experts, activists, students, and computer users to -learn skills, celebrate free software accomplishments, and face -upcoming challenges. Newcomers are always welcome, and LibrePlanet -2021 will feature programming for all ages and experience levels.

-]]>
-
- - -bandali -tag:bndl.org,2020:notes.atom:fsf-internship-beyond -2020-12-18T15:31:00-04:00 -2020-12-18T15:31:00-04:00 - - - - -My internship with the FSF tech team and beyond -Originally published on the Free Software Foundation's -sysadmin blog:
-My internship with the FSF tech team and beyond

- -

Hello! I'm -Amin Bandali, -and this is my second blog post on the FSF sysadmin blog, concluding -my internship with the FSF tech team this year.

- -

Throughout my internship with the tech team, I have worked mainly -on sysadmin tasks related to setting up and/or managing FSF's -GNU/Linux servers. Perhaps most significantly, I set up an instance -of the Sourcehut forge software to -help -evaluate -it as a candidate for the upcoming -FSF forge project. -I documented the installation and setup process of Sourcehut's various -components in the form of a literate GNU Emacs Org-mode file, where -source blocks are interspersed with comments and prose explaining -them. One can then progressively evaluate and execute the source -blocks, and optionally have their results stored back in the Org file -itself to help with documentation/demonstration.

- -

I have also been slowly working on various improvements for the -server running www.gnu.org, and will continue doing work on it as a -volunteer after the end of my internship. This will hopefully be -beneficial to the FSF sysadmins running the server, the GNU webmasters -who do webmastering work on gnu.org, and the general public browsing -and using gnu.org's pages. Notably, changes included upgrading the -server to the latest release of Trisquel GNU/Linux, and revamping and -improving the search mechanism for gnu.org's pages. Additionally, -there are several other projects that I would like to tackle with the -tech team in the near future.

- -

During my internship with the FSF tech team, I picked up a variety -of new skills and learned more about a diverse set of topics and -tools. This included building and installing a complex piece of -software like Sourcehut and debugging issues encountered along the -way, using Ansible for managing and deploying infrastructure, as well -as learning more about the Exim mail transfer agent used to run FSF -and GNU's array of mail servers.

- -

In conclusion to my internship and the year 2020, it's safe to say -that this year has been an eventful year for many people, including -myself. I started my internship with the tech team back in May, and -as a graduate student at the time, I was expecting a reasonable and -balanced workload for my work on my thesis over the coming months. -However, early on (less than two weeks) into my internship I learned -that due to a number of reasons, I needed to complete my master's -studies on a two-month deadline. I told the tech team about the -issue, asking whether I could take a hiatus to complete my studies -without affecting my internship. I am beyond thankful to the tech -team and the FSF as whole for being accommodating, and for their -flexibility in allowing me to take a leave to focus on writing my -thesis and wrapping up my master's studies. I managed to successfully -wrap up my studies in that short timeline, and focus on my internship -afterwards.

- -

However, all good things must come to an end, and this internship -is no exception. I am incredibly grateful to the members of the FSF -tech team -- Ian, Andrew, Ruben, and Michael -- for welcoming me to -the team as an intern and mentoring me, answering my many questions, -and helping me learn more. It has been an honour and a wonderful -experience for me all around working with you all and seeing the -energy and passion with which you take on the work and -responsibilities that come with being an FSF sysadmin and Web -developer. While most of my interactions were with the tech team, I -also got to interact with FSF staffers from several other teams during -my internship, and I'm thankful for our conversations and the chance -to get to know and appreciate the important work you do.

- -

This internship has come to an end, but I will carry with me all of -the good memories and the lessons I learned along the way, and will -happily to continue working with you as a volunteer. The things I -learned have been invaluable and greatly helpful to me, as I -transitioned into my new full-time job at Savoir-faire Linux as a Free -Software Consultant, where I get to work on various parts and aspects -of Jami, a GNU package for universal communication which respects the -freedoms and privacy of its users.

- -

I would like to thank the FSF for providing me this excellent -opportunity to work alongside the tech team as an intern, and take -away so many valuable lessons and great memories.

- -

Interested in interning for the Free Software -Foundation? The application period for spring 2021 internships is -currently open. Please see -https://www.fsf.org/volunteer/internships -for more details and information on how to apply!

-]]>
-
- - -bandali -tag:bndl.org,2020:notes.atom:fsf-internship-intro -2020-05-29T14:38:00-04:00 -2020-05-29T14:38:00-04:00 - - - - -Internship with the FSF tech team -Originally published on the Free Software Foundation's -sysadmin blog:
-Introducing -Amin Bandali, intern with the FSF tech team

- -

Hi there, I'm Amin Bandali, often just bandali on the -interwebs. I wear a few different hats around GNU as a maintainer, -webmaster, and Savannah hacker, and I'm very excited to be extending -that to the Free Software Foundation (FSF) as an intern with the FSF -tech team for spring 2020.

- -

Growing up around parents with backgrounds in computer engineering -and programming, it did not take long for me to find an interest in -tinkering and playing with computers as a kid, and I first came into -contact with GNU/Linux in my teenage years. My first introduction to -the world of free software came a few years later, when a friend -kindly pointed out to me that what I had vaguely known and referred to -as "open source" software is more properly referred to as free -software, and helped me see -why -"open source" misses the point of free software. After learning -about and absorbing the ideas and ideals of free software, I have -since become a free software activist. As a computer scientist who -enjoys studying and hacking on various programs and sometimes writing -my own, I have made a point of releasing all I can under strong -copyleft licenses, particularly the -GNU AGPL -license.

- -

My involvement with the GNU -Project started in 2016, first as a volunteer webmaster, and later -as one of the maintainers of -GNUzilla and -IceCat late last year. Also around the same time, I led a group -of volunteers in organizing and holding -EmacsConf 2019 as a -completely online conference, using only free software tools, much -like the excellent -LibrePlanet -2020. I love GNU -Emacs, and use it more than any other program. GNU Emacs helps me -do a wide variety of tasks such as programming, reading and composing -emails, and chatting via IRC.

- -

More closely related to my internship with the FSF tech team, I -have been familiarizing myself with various pieces of the -GNU Savannah infrastructure -with help from veteran Savannah hacker Bob Proulx, gradually learning -and picking up tasks helping with the administration and maintenance -of Savannah. I am also a member of the Systems Committee of my -university's computer science club, overseeing and maintaining a large -fleet of GNU/Linux servers for our club members.

- -

For my internship with the Free Software Foundation, I will be -working with the FSF tech team on a number of tasks, including helping -with -the free -software forge project, as well as various improvements for -gnu.org. I look forward to learning many new things and picking up -valuable skills through my internship with the FSF's exceptional tech -team, who do so much for the GNU project and the wider free -software community.

-]]>
-
- - -bandali -tag:bndl.org,2020:notes.atom:computing -2019-09-14T12:00:00Z -2021-02-28T12:00:00Z - - - - -How I do my Computing -inspired by the computing page of -rms

- -

Computers

-

My librebooted ThinkPad X200 -computer is the machine I use the most and where I do most of my -computing. I also have the privilege of having access to a fleet of -servers through our school's -Computer Science Club that I -use for some more computationally intensive tasks every now and again, -and also for hosting this very website.

- -

GNU/Linux distribution

-

I used a wide variety of distros over the years; but I have since -found Trisquel to be my favourite -and it's put my "distro-hopping" days behind me. Sometimes I pair it -up with GNU Guix. For the kernel, -I usually use -GNU -Linux-libre from jxself's -APT repository.

- -

Actual computing

-

I spend most of my time in -GNU Emacs.

-

TODO: elaborate

- -

Maintaining this site

-

The pages of this site are (manually) written in plain HTML using -GNU Emacs. You can run git clone -https://bndl.org in a terminal to get the git repository -containing all the pages of the site and the history of changes to -them.

-]]>
-
- -
diff --git a/notes.rss b/notes.rss deleted file mode 100644 index ad4ea6c..0000000 --- a/notes.rss +++ /dev/null @@ -1,314 +0,0 @@ - - - -bandali's personal site -notes and blog posts by bandali -https://bndl.org -en -Mon, 22 Mar 2021 13:14:02 +0000 -Mon, 22 Mar 2021 13:14:02 +0000 -1800 - - - - - - - - - - -LibrePlanet 2021: Jami and how it empowers users -https://bndl.org/libreplanet-2021.html -tag:bndl.org,2020:notes.rss:libreplanet-2021 -Sat, 20 Mar 2021 13:00:00 +0000 -2021-03-21T01:15:00-04:00 -I am giving my very first -LibrePlanet talk today on -March 20th. I will be talking about -Jami, the GNU package for universal -communication that respects the freedoms and privacy of its users. -I'll be giving an introduction to Jami and its architecture, sharing -important and exciting development news from the Jami team about -rendezvous -points, JAMS, -the plugin SDK, -Swarm -chats, and more; and how these features each help empower users to -communicate with their loved ones without sacrificing their privacy or -freedom.

- -

Here is the abstract for my talk, also available on the -LibrePlanet -2021's speakers page: - -

-

Jami is free software for universal communication that respects the -freedoms and privacy of its users. Jami is an official GNU package -with a main goal of providing a framework for virtual communications, -along with a series of end-user applications for audio/video calling -and conferencing, text messaging, and file transfer.

- -

With the outbreak of the COVID-19 pandemic, working from home has -become the norm for many workers around the world. More and more -people are using videoconferencing tools to work or communicate with -their loved ones. The emergence of these tools has been followed by -many questions and scandals concerning the privacy and freedom of -users.

- -

This talk gives an introduction to Jami, a free/libre, truly -distributed, and peer-to-peer solution, and explains why and how it -differs from all other existing solutions and how it empowers -users.

-
- -

I have been an attendee of LibrePlanet for some years, and am very -excited to be giving my first ever talk at LibrePlanet 2021 this year! -You can watch my talk and other speakers' talks live this weekend, -from the LibrePlanet 2021 -- Live page. Attendance is gratis (no cost), and you can register -at https://u.fsf.org/lp21-sp.

- -

Presentation slides: -pdf -(with notes) | -bib
- -LaTeX sources: -tar.gz | -zip

- -

I hope to see you around this year's all-online LibrePlanet -conference this weekend!

- -

LibrePlanet is a conference about software freedom, -happening March 20 through 21, 2021. The event is hosted by the Free -Software Foundation (FSF), and brings together software developers, -law and policy experts, activists, students, and computer users to -learn skills, celebrate free software accomplishments, and face -upcoming challenges. Newcomers are always welcome, and LibrePlanet -2021 will feature programming for all ages and experience levels.

-]]>
-
- - -My internship with the FSF tech team and beyond -https://bndl.org/fsf-internship-beyond.html -tag:bndl.org,2020:notes.rss:fsf-internship-beyond -Fri, 18 Dec 2020 19:31:00 +0000 - -Originally published on the Free Software Foundation's -sysadmin blog:
-My internship with the FSF tech team and beyond

- -

Hello! I'm -Amin Bandali, -and this is my second blog post on the FSF sysadmin blog, concluding -my internship with the FSF tech team this year.

- -

Throughout my internship with the tech team, I have worked mainly -on sysadmin tasks related to setting up and/or managing FSF's -GNU/Linux servers. Perhaps most significantly, I set up an instance -of the Sourcehut forge software to -help -evaluate -it as a candidate for the upcoming -FSF forge project. -I documented the installation and setup process of Sourcehut's various -components in the form of a literate GNU Emacs Org-mode file, where -source blocks are interspersed with comments and prose explaining -them. One can then progressively evaluate and execute the source -blocks, and optionally have their results stored back in the Org file -itself to help with documentation/demonstration.

- -

I have also been slowly working on various improvements for the -server running www.gnu.org, and will continue doing work on it as a -volunteer after the end of my internship. This will hopefully be -beneficial to the FSF sysadmins running the server, the GNU webmasters -who do webmastering work on gnu.org, and the general public browsing -and using gnu.org's pages. Notably, changes included upgrading the -server to the latest release of Trisquel GNU/Linux, and revamping and -improving the search mechanism for gnu.org's pages. Additionally, -there are several other projects that I would like to tackle with the -tech team in the near future.

- -

During my internship with the FSF tech team, I picked up a variety -of new skills and learned more about a diverse set of topics and -tools. This included building and installing a complex piece of -software like Sourcehut and debugging issues encountered along the -way, using Ansible for managing and deploying infrastructure, as well -as learning more about the Exim mail transfer agent used to run FSF -and GNU's array of mail servers.

- -

In conclusion to my internship and the year 2020, it's safe to say -that this year has been an eventful year for many people, including -myself. I started my internship with the tech team back in May, and -as a graduate student at the time, I was expecting a reasonable and -balanced workload for my work on my thesis over the coming months. -However, early on (less than two weeks) into my internship I learned -that due to a number of reasons, I needed to complete my master's -studies on a two-month deadline. I told the tech team about the -issue, asking whether I could take a hiatus to complete my studies -without affecting my internship. I am beyond thankful to the tech -team and the FSF as whole for being accommodating, and for their -flexibility in allowing me to take a leave to focus on writing my -thesis and wrapping up my master's studies. I managed to successfully -wrap up my studies in that short timeline, and focus on my internship -afterwards.

- -

However, all good things must come to an end, and this internship -is no exception. I am incredibly grateful to the members of the FSF -tech team -- Ian, Andrew, Ruben, and Michael -- for welcoming me to -the team as an intern and mentoring me, answering my many questions, -and helping me learn more. It has been an honour and a wonderful -experience for me all around working with you all and seeing the -energy and passion with which you take on the work and -responsibilities that come with being an FSF sysadmin and Web -developer. While most of my interactions were with the tech team, I -also got to interact with FSF staffers from several other teams during -my internship, and I'm thankful for our conversations and the chance -to get to know and appreciate the important work you do.

- -

This internship has come to an end, but I will carry with me all of -the good memories and the lessons I learned along the way, and will -happily to continue working with you as a volunteer. The things I -learned have been invaluable and greatly helpful to me, as I -transitioned into my new full-time job at Savoir-faire Linux as a Free -Software Consultant, where I get to work on various parts and aspects -of Jami, a GNU package for universal communication which respects the -freedoms and privacy of its users.

- -

I would like to thank the FSF for providing me this excellent -opportunity to work alongside the tech team as an intern, and take -away so many valuable lessons and great memories.

- -

Interested in interning for the Free Software -Foundation? The application period for spring 2021 internships is -currently open. Please see -https://www.fsf.org/volunteer/internships -for more details and information on how to apply!

-]]>
-
- - -Internship with the FSF tech team -https://bndl.org/fsf-internship-intro.html -tag:bndl.org,2020:notes.rss:fsf-internship-intro -Fri, 29 May 2020 18:38:00 +0000 - -Originally published on the Free Software Foundation's -sysadmin blog:
-Introducing -Amin Bandali, intern with the FSF tech team

- -

Hi there, I'm Amin Bandali, often just bandali on the -interwebs. I wear a few different hats around GNU as a maintainer, -webmaster, and Savannah hacker, and I'm very excited to be extending -that to the Free Software Foundation (FSF) as an intern with the FSF -tech team for spring 2020.

- -

Growing up around parents with backgrounds in computer engineering -and programming, it did not take long for me to find an interest in -tinkering and playing with computers as a kid, and I first came into -contact with GNU/Linux in my teenage years. My first introduction to -the world of free software came a few years later, when a friend -kindly pointed out to me that what I had vaguely known and referred to -as "open source" software is more properly referred to as free -software, and helped me see -why -"open source" misses the point of free software. After learning -about and absorbing the ideas and ideals of free software, I have -since become a free software activist. As a computer scientist who -enjoys studying and hacking on various programs and sometimes writing -my own, I have made a point of releasing all I can under strong -copyleft licenses, particularly the -GNU AGPL -license.

- -

My involvement with the GNU -Project started in 2016, first as a volunteer webmaster, and later -as one of the maintainers of -GNUzilla and -IceCat late last year. Also around the same time, I led a group -of volunteers in organizing and holding -EmacsConf 2019 as a -completely online conference, using only free software tools, much -like the excellent -LibrePlanet -2020. I love GNU -Emacs, and use it more than any other program. GNU Emacs helps me -do a wide variety of tasks such as programming, reading and composing -emails, and chatting via IRC.

- -

More closely related to my internship with the FSF tech team, I -have been familiarizing myself with various pieces of the -GNU Savannah infrastructure -with help from veteran Savannah hacker Bob Proulx, gradually learning -and picking up tasks helping with the administration and maintenance -of Savannah. I am also a member of the Systems Committee of my -university's computer science club, overseeing and maintaining a large -fleet of GNU/Linux servers for our club members.

- -

For my internship with the Free Software Foundation, I will be -working with the FSF tech team on a number of tasks, including helping -with -the free -software forge project, as well as various improvements for -gnu.org. I look forward to learning many new things and picking up -valuable skills through my internship with the FSF's exceptional tech -team, who do so much for the GNU project and the wider free -software community.

-]]>
-
- - -How I do my Computing -https://bndl.org/computing.html -tag:bndl.org,2020:notes.rss:computing -Sat, 14 Sep 2019 12:00:00 +0000 -2021-02-28T12:00:00Z - -inspired by the computing page of -rms

- -

Computers

-

My librebooted ThinkPad X200 -computer is the machine I use the most and where I do most of my -computing. I also have the privilege of having access to a fleet of -servers through our school's -Computer Science Club that I -use for some more computationally intensive tasks every now and again, -and also for hosting this very website.

- -

GNU/Linux distribution

-

I used a wide variety of distros over the years; but I have since -found Trisquel to be my favourite -and it's put my "distro-hopping" days behind me. Sometimes I pair it -up with GNU Guix. For the kernel, -I usually use -GNU -Linux-libre from jxself's -APT repository.

- -

Actual computing

-

I spend most of my time in -GNU Emacs.

-

TODO: elaborate

- -

Maintaining this site

-

The pages of this site are (manually) written in plain HTML using -GNU Emacs. You can run git clone -https://bndl.org in a terminal to get the git repository -containing all the pages of the site and the history of changes to -them.

-]]>
-
- -
-
diff --git a/txt2pre b/txt2pre index e288a69..31fdb78 100644 --- a/txt2pre +++ b/txt2pre @@ -26,12 +26,40 @@ use strict; use warnings 'all'; use Getopt::Long; -my $opt_lang = 'en'; -my $opt_index; -GetOptions ('lang=s' => \$opt_lang, - 'index' => \$opt_index) +my $format = 'html'; +my $lang = 'en'; +my $index = ''; +my $header = ''; +my $footer = ''; + +GetOptions ('format=s' => \$format, + 'lang=s' => \$lang, + 'index' => \$index, + 'header' => \$header, + 'footer' => \$footer) or die("bad command line arguments\n"); +my $author = + $lang eq 'en' ? 'bandali' + : $lang eq 'fa' ? 'بندعلی' + : ''; +my $site_title = + $lang eq 'en' ? "${author}'s personal site" + : $lang eq 'fa' ? "سایت شخصی $author" + : ''; +my $site_desc = + $lang eq 'en' ? "notes and blog posts by $author" + : $lang eq 'fa' ? "نوشته‌ها و بلاگ پست‌های $author" + : ''; +my $site_url = + ($lang eq 'en') ? 'https://bndl.org' + : ($lang eq 'fa') ? 'https://bndl.org/fa/' + : ''; +my $feed_id = + ($lang eq 'en') ? "tag:bndl.org,2020:notes.$format" + : ($lang eq 'fa') ? "tag:bndl.org,2020:fa/notes.$format" + : ''; + my $link_re = qr{([\('!])?\b((?:ftps?|https?|nntps?|imaps?|s?news|gopher):// [\@:\w\.-]+(?:/ @@ -96,15 +124,78 @@ sub linkify { } +my $out = ''; + +# atom/rss feed header and footer +if ($index and ($format eq 'atom' or $format eq 'rss')) { + if ($header) { + my $now_iso8601 = `date -Iseconds -u | tr -d \\\\n`; + my $now_rfc5322 = `date -uR | tr -d \\\\n`; + my $atom_rel = $format eq 'atom' ? 'self' : 'alternate'; + my $rss_rel = $format eq 'rss' ? 'self' : 'alternate'; + my $link = $format eq 'atom' ? 'link' : 'atom:link'; + my $links = ''; + if ($lang eq 'en') { + $links = qq( +<$link hreflang="fa" href="https://bndl.org/fa/notes.atom" rel="alternate" type="application/atom+xml" /> +<$link hreflang="fa" href="https://bndl.org/fa/notes.rss" rel="alternate" type="application/rss+xml" /> +<$link hreflang="fa" href="https://bndl.org/fa/bandali.fa.txt" rel="alternate" type="text/plain" /> +<$link hreflang="fa" href="https://bndl.org/fa/" rel="alternate" type="text/html" /> +<$link href="https://bndl.org/notes.atom" rel="$atom_rel" type="application/atom+xml" /> +<$link href="https://bndl.org/notes.rss" rel="$rss_rel" type="application/rss+xml" /> +<$link href="https://bndl.org/bandali.txt" rel="alternate" type="text/plain" /> +<$link href="https://bndl.org" rel="alternate" type="text/html" />); + } elsif ($lang eq 'fa') { + $links = qq( + + + + + + + +); + } + $links =~ s/^\n//; + + $out .= ''; + $out .= ($format eq 'atom') ? qq( + +$site_title +$site_desc +$feed_id +$links +$now_iso8601) + : ($format eq 'rss') ? qq( + + +$site_title +$site_desc +$site_url +$lang +$now_rfc5322 +$now_rfc5322 +1800 +$links) + : ''; + } elsif ($footer) { + $out .= ($format eq 'atom') ? '' + : ($format eq 'rss') ? '' + : ''; + } + + # we're done + goto PRINT; +} + + my $txt = do { local $/; }; my $title = html_esc($txt =~ /\A([^\n]+)/); $title =~ s/^\s+|\s+$//g; -if ($opt_lang eq 'fa') { - $title .= ' — بندعلی' if $title !~ /بندعلی/; -} else { - $title .= ' — bandali' if $title !~ /bandali/; -} +$title .= " — $author" if $title !~ /$author/; my ($upd, $pub, $url) = $txt =~ /(.*)\r?\n(.*)\r?\n(.*)\r?\n?\z/; ($upd) = $upd =~ /(?:updated|ویرایش): (.*)/ if $upd; @@ -116,32 +207,86 @@ $url = html_esc($url) if $url; $txt = linkify(html_esc($txt)); -print("", - qq(", - qq( + +my $upd_iso8601 = `date -Iseconds -ud '$upd' | tr -d \\\\n` if $upd; +my $pub_iso8601 = `date -Iseconds -ud '$pub' | tr -d \\\\n` if $pub; +my $pub_rfc5322 = `date -uRd '$pub' | tr -d \\\\n` if $pub; +my $url_html = $url =~ s/(?:[.]$lang)?[.]txt$/.html/r; +$url_html =~ s|/bandali-(.*)|/$1|; +my $slug = $url_html =~ s|.*/(.*)[.]html$|$1|r; +my $note_id = "$feed_id:$slug"; + +# note header +if ($format eq 'html') { + $out .= + '' + . qq(') + . qq( \n), - "$title\n", - qq(\n), - $url ? qq(\n) : '', - ($opt_index and $opt_lang eq 'en') - ? qq(\n) + . "$title\n" + . qq(\n) + . ($url + ? qq(\n) + : '') + . (($index and $lang eq 'en') + ? qq(\n) - : ($opt_index and $opt_lang eq 'fa') - ? qq(\n) - : '', - qq(\n", - "
$txt
\n"); + : '') + . "\n" + . '
';
+} elsif ($format eq 'atom' or $format eq 'rss') {
+    my $atom_updated =
+        ($format eq 'atom') ? 'updated'
+        : ($format eq 'rss') ? 'atom:updated'
+        : '';
+    my $updated =
+        "<$atom_updated>$upd_iso8601\n" if $upd;
+    $out .= ($format eq 'atom') ? qq(
+
+$author
+$note_id
+$pub_iso8601\n)
+. ($updated ? $updated : '') .
+qq(
+
+$title
+)
+        : ($format eq 'rss') ? qq(
+
+$title
+$url_html
+$note_id
+$pub_rfc5322\n)
+. ($updated ? $updated : '') .
+qq()
+        : '';
+}
+# note body
+$out .= $txt;
+# note footer
+if ($format eq 'html') {
+    $out .= '
'; +} elsif ($format eq 'atom') { + $out .= "]]>"; +} elsif ($format eq 'rss') { + $out .= "]]>"; +} + + PRINT: +print("$out\n"); STDOUT->flush;