<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های عارف خندان</title>
        <link>https://virgool.io/feed/@aref.khandan</link>
        <description>دوآپس بیگ دیتا و کلود,  دانشجوی علوم شناختی.</description>
        <language>fa</language>
        <pubDate>2026-04-15 10:20:33</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/204757/avatar/avatar.png?height=120&amp;width=120</url>
            <title>عارف خندان</title>
            <link>https://virgool.io/@aref.khandan</link>
        </image>

                    <item>
                <title>آگاهی, وحدت وجود, و سه گانه ی مغز</title>
                <link>https://virgool.io/@aref.khandan/%D8%A2%DA%AF%D8%A7%D9%87%DB%8C-%D9%88%D8%AD%D8%AF%D8%AA-%D9%88%D8%AC%D9%88%D8%AF-%D9%88-%D8%B3%D9%87-%DA%AF%D8%A7%D9%86%D9%87-%DB%8C-%D9%85%D8%BA%D8%B2-xbbrvpgypj06</link>
                <description>بشر همیشه سعی داشته جایگاه آگاهی در بدن انسان رو پیدا کنه, حتی فیلسوف سرشناس, دکارت, بیان کرد که غده صنوبری جایگاه آگاهی و روح در بدن هست. جالبه بدونیم مهم ترین دلیل دکارت برای این انتخاب, &quot;واحد بودن&quot;  غده صنوبری بود. دکارت تصور میکرد همه بخش های مغز مثل دانه های دو قسمتی جفت هستن و فقط غده صنوبری واحد هست. این پیش فرض ظاهرا بدیهی چیزی بود که دکارت در شک گرایی خودش از قلم انداخت و موجب دردسر فلاسفه و پزشکان دوران خودش و بعد اون شد.مطمئن نیستیم دکارت تحت آموزه های مذهبی چنین پیش فرضی رو اتخاذ کرده یا دلایل دیگری براش داشته, به هر حال شواهد زیادی در این مورد در دست نیست و اصلا روش علمی مناسبی برای اندازه گیری اینکه آگاهی یک تکه هست یا نه وجود نداره, که این نقص, نه به خاطر ضعف روش علمی, بلکه به خاطر تعریف ناپذیر بودن آگاهی به وجود آمده.توحید یا تثلیث؟تعامل و تقابل توحید و تثلیثمی اندیشم پس هستم, تلاش دکارت برای اثبات و تعریف آگاهی بوده. امروزه میدونیم که برای همین &quot;اندیشیدن&quot; یا Cogito نورون های زیادی در بخش های مختلف مغز نوسان میکنن و از ارتباط اینها, اندیشه به وجود میاد, امروزه با روش های تصویر برداری مغز, مثل EEG و fMRI و غیره میتونیم به سادگی این گزاره رو مورد آزمایش قرار بدیم.هرچند میتونیم کل تفکر رو یک فرآیند واحد در نظر بگیریم, ولی یافته های موجود از آناتومی مغز و علوم اعصاب نشون میده راهی برای تقسیم این مفهوم به سه بخش مجزا وجود داره, برای بررسی این سه بخش, ابتدا نگاهی به فرایند تکامل مغز میندازیم:دستگاه عصبی مرکزی:مغز انسان شباهت خیلی زیادی به مغز پستانداران پیشرفته, از جمله شامپانزه ها, میمون ها, و دلفین ها داره.در گونه های خیلی ساده, مثل آمیب ها, ساختار متمرکزی که بشه بهش گفت مغز شکل نگرفته و کل بدن وظیفه همکاری در سیستم عصبی رو بر عهده داره, بازتاب های ساده ای مثل دور کردن بدن از عوامل تهدید زا یا دردناک برای سیستم های عصبی غیر گسترده امکان پذیر هست, ماهی ها جزو اولین گونه هایی بودن که بخشی از بدنشون به طور تخصصی وظیفه کنترل سیستم اعصاب رو بر عهده گرفت, و اولین &quot;دستگاه عصبی مرکزی&quot; شکل گرفت.در این موجودات, دستگاه عصبی مرکزی شامل یک ستون فقرات میشه که دستورات واحد پردازش و کنترل مرکزی, یعنی مغز رو به بقیه نقاط میرسونه, و سیگنال های عصبی مختلف بدن رو به مغز ارسال میکنه.1. مغز کهن:مغز کهن, شامل لایه هایی از مغز هست که فرایند های ساده ای مثل بویایی (اولین حس از حواس پنجگانه که در تکامل شکل گرفت), حافظه بسیار مبتدی, و فرآیند های حیات مثل فرار و تولید مثل و تغذیه میشن.این لایه از مغز, فیبر های بالارونده یا climbing fibers نداره که بخش های مختلف لایه رو به صورت خوشه ای به هم وصل کنه, و کلا از سه لایه کورتیکال تشکیل شده, لایه های کورتیکال لایه هایی از نورون های متصل به هم هستن که بر روی هم قرار گرفتن (شبکه عصبی چند لایه).این بخش مغز در کنار سایر وظایف, وظیفه داره بهترین واکنش ها برای ادامه بقا رو از خودش نشون بده, حافظه ی ساده ی مغز کهن بهش این امکان رو میده که اگر تهدیدی دریافت کرد, نشانه های اون رو به خاطر بسپاره و در مواجهه بعدی , سریعا واکنش سمپاتیک, یعنی جنگ یا فرار متناسب رو نشون بده, و اگر در شرایط حامی بقا, مثل غذا, محیط مناسب, شرایط تولید مثل, و غیره قرار گرفت, نشانه های رو حفظ کنه و در موقعیت مشابه بعدی رفتار های پاراسمپاتیک مثل غذا خوردن, استراحت, و تولید مثل داشته باشه.سیستم لیمبیک که بخش مدیریت هیجان مغز محسوب میشه, عمدتا در این لایه ها قرار میگیره.مغز کهن بین بسیاری از ماهی ها و خزنده های همه مغزشون, و بخش کمی از حجم مغز رو در انسان به خودش اختصاص دادهpaleocortex (in green), archicortex (in red), periarchicortex (in blue), proisocortex (in purple) and neocortex (in yellow). [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8829079/]بخش قرمز, و با کمی اغماض بخش های آبی رو میتونیم جزو مغز کهن به شمار بیاریم.2. مغز میانی:مغز میانی یا Paleo Cortex در مراحل بعدی تکامل به وجود اومدبدن مهره داران پیچیده تر, از جمله پرنده ها و پستانداران دارای مغز میانی هست, که از نقاط زیادی به مغز کهن وصل شده و شدیدا باهاش در ارتباطه.مغز میانی به جانداران کمک میکنه تا بتونند فرایند های پیچیده تری رو برای بقا اجرا کنن, از روش های مختلف لانه سازی و تولید مثل گرفته, تا شکار و دفاع. مغز میانی بخش مهمی از پردازش بویایی رو هم بر عهده گرفته, چراکه عمده گونه های بهره مند از مغز میانی, سلول های بویایی بیشتری دارن.گونه هایی مثل موش ها و پرنده ها با کمک این لایه میتونن روش های پیچیده تری رو برای بقا, از جمله شکار و لانه سازی اتخاذ کنن.مغز میانی به گونه ها کمک میکنه اطلاعات حسی مختلف رو بهتر پردازش کنن, تجربه های پیچیده تری رو ثبت کنن, و به شیوه پیچیده تری از این تجربیات استفاده کنن.3. مغز جدید: مغز جدید, همونطور که از اسمش پیداست, فقط دویست میلیون ساله که شکل گرفته (مقایسه کنید با عمر 3.7 میلیارد ساله حیات روی زمین).این لایه پیچیده ترین بخش مغز محسوب میشه, عمدتا از سلول های خاکستری ساخته شده و شامل 6 لایه کورتیکال با اتصالات پیچیده میشه. این لایه فرآیند های پیچیده ای مثل تفکر انتزاعی, استدلال, ابزار سازی, تصویر سازی ذهنی و فضایی, و حافظه پیچیده رو شامل میشه و در انسان ها, بخش مهمی از مغز رو به خودش اختصاص داده. در واقع دلیل برتری انسان بر سایر گونه ها, رشد عجیب و حیرت برانگیز این لایه ی مغز, به خصوص در قسمت های جلویی یا پیشانی هست. پستانداران پیچیده مثل میمون ها و شامپانزه ها, دلفین ها, و سگ ها دارای این لایه در مغز خودشون هستن.این لایه از طریق مدار ها و فیبر های خاص با لایه های پایین تر از خودش ارتباط داره, و هیپوکامپ واقع در مغز کهن, وظیفه ذخیره سازی موقت حافظه و انتقال اون به مغز جدید رو بر عهده داره.بخش زیادی از پردازش سیگنال های بینایی و شنوایی بر عهده این لایه هست در حال که بیشتر پردازش بویایی همچنان بر عهده مغز میانی باقی مونده.جمع بندی:هرکدام از این لایه ها فرآیند های خودشون رو طی میکنن و وجود یک لایه جدید تر باعث کنترل کامل لایه های تحتانی و قدیمی تر نمیشه.مغز ما از طریق سوزاندن قند بسیار ساده ای به نام گلوکز انرژی خودش رو تامین میکنه, و بیست درصد از انرژی بدن صرف پردازش های مغز میشه. فراموش نکنیم که هدف تشکل سیستم عصبی مرکزی, تضمین حداکثر بقا, با حداقل مصرف انرژی بدن بوده.لایه های قدیمی به خاطر دارا بودن تعداد کمتری سلول خاکستری, انرژی کمتری مصرف میکنن و لایه های جدید مثل مغز جدید یا Neo Cortex انرژی خیلی بیشتری مصرف میکنند. همچنین پیچیدگی لایه های جدید موجب میشه فرآیند های اونها زمان بیشتری بگیرن و خیلی کند تر از لایه های پایینی واکنش نشون بدن.به همین دلیل عادت ها و  اکثر فوبیا ها در لایه های اول و دوم مغز اتفاق میفتن, هریادگیری فردی یا تاریخی از مواجهه با خطر, موجب میشه ما رفتار های جنگ و گریز ناخودآگاه به نشونه های خطر از خودمون نشون بدیم, مثل ترس از عنکبوت, ارتفاع, محبوس شدن, و غیره. مصرف کم انرژی و سرعت بالای واکنش موجب میشه این تقسیم مسولیت به بهینه ترین شکل ممکن بقای گونه رو تضمین کنه.لایه های مغز جدید برای بیشترین انعطاف پذیری و ساختن مدار های جدید بهینه شدن, و این به ما این فرصت رو میده که بتونیم مرتب چیزهای جدید یاد بگیریم و آموخته های اشتباه قدیمی رو کنار بگذاریم. ایجاد تغییر در لایه های پایین تر دشوار تر هست و برای تغییر اونها لازمه انرژی و زمان بیشتری صرف بشه. اگر به شما یاد داده باشن 2 ضربدر 2 میشه 8, با کمی آموزش میتونید این یادگیری رو اصلاح کنید. اما اگر مغز شما در اثر تجربه تاریخی اجدادمون یاد گرفته از عنکبوت ها بترسه, غلبه بر این ترس کار سختی خواهد بود و به ماه ها یا سال ها تمرین و تراپی نیاز خواهد داشت. استاد های هنر های رزمی سعی میکنن با آموزش جسم و ذهن به مدت طولانی, واکنش های بدیهی بدن در مواجهه با خطر رو اصلاح کنن و حرکات پیچیده تر و بهینه تری رو با اونها جایگزین کنن.هرم مازلوهرچقدر محیط زندگی انسان در طول رشد, به خصوص کودکی, نا امن تر باشه, و فرد با خطرات بیشتری برای بقا مواجه باشه, بدن تصمیم میگیره از لایه های پایینی برای ارتباط با محیط استفاده کنه و مغز جدید فرصت زیادی برای رشد پیدا نمیکنه. برای همین این افراد هیجانی تر و غریضی تر با محیط تعامل میکنن و افرادی که از امکانات طبقات بالای هرم مازلو بهره مند بودن, مغز جدید فعال تری دارند و عقلانی تر و حساب شده تر با محیط در ارتباط هستن.هر کدام از این لایه ها به نوعی &quot;من&quot; تشکیل میدن و سهم خودشون رو در کنترل بدن, و رفتار های ما دارن. طبق این دیدگاه, اگاهی بین این سه لایه تقسیم میشه, و در مواقع خاص, کنترل بیشتری از رفتار ها در اختیار یک لایه خاص قرار میگیره, مثلا موقع ترس یا خشم شدید لایه های پایینی فعالیت بیشتری دارند. تعریف والای آگاهی انسانی, معمولا به صفاتی اشاره داره که از مغز جدید ناشی میشه. و آموزش ها سعی بر این دارند موجب رشد بیشتر مغز جدید و کنترل بیشتر این لایه بر لایه های پایینی بشن.این سه مغز یا سه منشا آگاهی, اونقدر یکپارچه هستن که مجبور باشیم لزوما اونها رو یک کل واحد در نظر بگیریم, و اونقدر هم از هم منفصل و جدا نیستن که هرکدوم رو یک وجود جداگانه در نظر بگیریم.تمرین های ذهن آگاهی یا ماینفولنس عموما موجب ارتباط بهتر این لایه ها با همدیگه, و افزایش کنترل لایه جدید بر لایه های پایین تر میشه, مقاومت ذهنی ما در برابر هیجانات و غریضه موجب سرکوب ارتباط آگاهانه لایه های مغز جدید با مغز میانی و مغز کهن میشه و در نتیجه توانایی کنترل هیجانات رو از دست میدیم. این از دست دادن کنترل در حالت های بیمار گونه میتونه موجب بیماری های روانی و روان تنی, از قبیل تیک عصبی, فوبیا, وسواس, اضطراب مزمن و غیره بشه.پذیرفتن احساسات, هیجان ها, و غرایض, به عنوان عملکرد طبیعی لایه های تحتانی و میانی مغز موجب میشه بتونیم بر زمان, شدت, و همبستگی وقوع اونها با محرک های بیرونی و درونی مختلف آگاهی و نظارت داشته باشیم و از طریق تمرین و اصلاح عادت ها بر اونها تاثیر بگذاریم.همچنین پذیرش رفتار های هیجانی دیگران در شرایط مختلف, به عنوان خروجی استاندارد مدار های مغز میانی و مغز کهن, میتونه موجب درک بهتر ما از احساسات و رفتار های دیگران شده, و به تعامل بهتر با افراد مختلف , به خصوص در شرایط دشوار کمک کنه.نتیجه گیری:همچنان تعریف دقیقی از آگاهی در اختیار نداریم, اما متوجه شدیم که با وجود نزدیک تر بودن فرآیند های مغز جدید به تعریف های موجود از آگاهی, سایر لایه ها میتونن با فرآیند های مختص خودشون در رفتار و ادراکات ما تاثیر بذارن.ما نیاز داریم فرآیند های بخش های مختلف مغز رو به عنوان ابزار هایی برای بقای بهتر, بپذیریم, و از فرآیند های عالی مغز جدید برای بهبود هرچه بهتر فرآیند های لایه های پایین تر کمک بگیریم.</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Tue, 11 Oct 2022 03:56:30 +0330</pubDate>
            </item>
                    <item>
                <title>Get latest version number of a Maven package</title>
                <link>https://virgool.io/@aref.khandan/get-latest-version-number-of-a-maven-package-n2cc8nx7ybgs</link>
                <description>Maven is a well known software project management and comprehension tool with a great package management solution. in this post, we’ll discuss a simple solution to acquire latest version number of a Maven package.Any maven package could be a candidate for this tutorial, we chose Google’s Libphonenumber because its a regularly updated package with important changes.Maven PackageA Maven package is the compiled code and package it in its distributable format, such as a JAR. each Maven package comes with a maven-metadata.xml file where Maven stores basic information about artifacts such as versioning information, release time etc.Maven Package DownloadImplement:a. Choose a package: To choose a package you can visit https://mvnrepository.com/ and search for the package you need. our choice is: https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumberb. Find maven-metadata.xml URL: you can click on one of the versions like: https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber/8.12.53 then copy link from jar file download button, which will be like:https://repo1.maven.org/maven2/com/googlecode/libphonenumber/libphonenumber/8.12.53/libphonenumber-8.12.53.jarthen remove version and file name and append “maven-metadata.xml” to it. your url will be sth like:https://repo1.maven.org/maven2/com/googlecode/libphonenumber/libphonenumber/maven-metadata.xmlc. Bash scripting:We will use bash for automating the process:# get latest version number from maven metadata, you can replace &amp;quotlatest&amp;quot with &amp;quotrelease&amp;quot to get latest release version.
latest_version=`curl https://repo.maven.apache.org/maven2/com/googlecode/libphonenumber/libphonenumber/maven-metadata.xml 2&gt;/dev/null | grep latest | grep -o -P &#039;(?&lt;=\&gt;).*(?=\&lt;)&#039;`
# update file modification timestamp, and craete it if it doesn&#039;t exist.
touch /var/tmp/libphone_version
# read latest saved version
ver=`cat /var/tmp/libphone_version`
# use default value: &amp;quot5.12.50&amp;quot if file is empty.
previous_version=${ver:=5.12.50}
# function to compare semantic version
# From: https://stackoverflow.com/a/4025065/4134048 by Dennis Williamson
vercomp () {
    if [[ $1 == $2 ]]
    then
        return 0
    fi
    local IFS=.
    local i ver1=($1) ver2=($2)
    # fill empty fields in ver1 with zeros
    for ((i=${#ver1[@]}; i&lt;${#ver2[@]}; i++))
    do
        ver1[i]=0
    done
    for ((i=0; i&lt;${#ver1[@]}; i++))
    do
        if [[ -z ${ver2[i]} ]]
        then
            # fill empty fields in ver2 with zeros
            ver2[i]=0
        fi
        if ((10#${ver1[i]} &gt; 10#${ver2[i]}))
        then
            return 1
        fi
        if ((10#${ver1[i]} &lt; 10#${ver2[i]}))
        then
            return 2
        fi
    done
    return 0
}
# Compare two versions
vercomp $previous_version $latest_version
# Fail if versions are not the same
if [ $? != 0  ]; then
        echo &amp;quotOops!&amp;quot
# Print Jar download url
        echo &amp;quothttps://repo1.maven.org/maven2/com/googlecode/libphonenumber/libphonenumber/8.12.53/libphonenumber-$latest_version.jar&amp;quot
# Save version number
        echo &amp;quotlatest_version&amp;quot &gt; /var/tmp/libphone_version
        exit 1;
else
        echo &amp;quotOk!&amp;quot
        exit 0;
fiyou can use the output and exit code to sent alerts and notification.</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Wed, 10 Aug 2022 15:22:00 +0430</pubDate>
            </item>
                    <item>
                <title>ماتریکس 4, مرثیه ای برای یک آرمان!</title>
                <link>https://virgool.io/@aref.khandan/%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%DA%A9%D8%B3-4-%D9%85%D8%B1%D8%AB%DB%8C%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%DB%8C%DA%A9-%D8%A2%D8%B1%D9%85%D8%A7%D9%86-n4cjy41kzl92</link>
                <description>خواهران واچفسکی هیچی در امروزی کردن ماتریکس کم نذاشتن, مدرن و مبتذلماتریکس چهار انسان قرن 21 رو نشون میده که مفهوم عشق, اون هم با عظمت عشق نئو به ترینیتی, تبدیل به علاقه یک گیم دیزاینر به یک زن شوهر دار خسته از خانوادش شده, و حتی از این هم فراتر میره و مفهوم مذهبی مهم ترینیتی (سه گانه پدر, پسر, روح القدس) رو به چیز خیلی مبتذل تری تشبیه میکنه, گویی واچوفسکی ها تصمیم گرفتن با ارزش های والا واصیل سه گانه ماتریکس کاری رو بکنن که آندرس سرانو با مسیح کرد!انگیزه های والای یک شخصیت منجی منش, رنگ اختلالات روانی به خودش میگیره, و موندن در دنیای مدرن رنگ قرص آبی افسردگی و مانیا, و خدای من! مورفیوس نچسب جدید چند بار میخواد قرص قرمز رو تعارف بزنه؟ شخصیت های بالغ, پخته, و رهبر صفت ماتریکس, جاشون رو به تینیجر های تازه به دوران رسیده ای دادن که با تقلید صدا و خالکوبی و  رول پلی سعی دارن خودشون رو به آرکیتایپ های گذشته ی ماتریکس پیوند بزنن.کارگردان گریزی به راهروی معروف پاپریکا میزنه و حتی ممکنه اشاره ای به سکانس پرتاب از برج در فیلم کلود اطلس کرده باشه, اژدهای How to train your dragon از ناکجا سر میرسه, و فقط Brave مو نارنجی رو نداشتیم که برامون تیراندازی کنه, علاوه بر این کی میتونه انکار کنه که کیانو ریوز با قیافه جدیدش بیشتر مارو یاد جان ویک میندازه تا نئوی قدیمی ماتریکس.جای شخصیت های پخته و کت شلوار پوش قدیمی رو تینیجر های پر شور و دیجیتالی گرفته که هیچ اتوریته ای رو به رسمیت نمیشاسن, خود نسل Z, که از قضا این بار به جای ایجنت اسمیت قراره با زامبی ها مبارزه کنن. به قول وحید, شاید کارگردان با تراپیستش به مشکل خورده و فقط این فیلم رو ساخته تا حالی از تراپیستش گرفته باشه.این فیلم مرتب نوستالوژی های دلنشین و اصیل قدیمی ماتریکس رو جلوی چشممون میاره و یادمون میندازه که در دنیای واقعی 2022 چقدر همه این مفاهیم پوچ و شعارگونه شدن, به نظر میاد هر دو طرف از فقدان ایدئولوژی رنج میبرن در حالی که دنیای داخل ماتریکس غرق در تکنولوژی و لذت شده, زایان هم با اسم جدید IO, با ماشین ها آشتی کرده و دغدغه اش طعم توت فرنگی و بلوبری شده, شاید آرکیتکت از همین میترسید, شاید میخواست نسخه ای از سلحشوری و تمدن بشر رو حفاظت کنه و تنها راهش ایجاد یک تهدید مداوم برای اونها بود, اگر یادمون باشه حتی در ماتریکس قدیمی هم تکنوفیلیا در زایان موج میزد, آموزش های رزمی با کمک هوش مصنوعی انجام میشد و مهم ترین دارایی مورفیوس سایفرِ مین فریم زایان بود, این علاقه به تکنولوژی حالا اونقدری پیش رفته که اهل IO برای خودشون دستیار های هوش مصنوعی دارن آسمون مصنوعی زیبایی برای خودشون ساختن و بهش افتخار میکنن, حتی نئو و ترینیتی هم بعد به دست گرفتن ماتریکس اولین تصمیمی که میگیرن &quot;رنگین کمونی&quot; کردن آسمونه, گویا چیزی که براش جنگیدن به یک مسئله عهد قدیم تبدیل شده و حق انتخاب و آزادی و آزادگی تاریخ انقضاش سر رسیده, نئو به وضوح این پیام رو دریافت میکنه که مردم از رفاه و کنترل شدن و زندگی یکنواخت لذت میبرن و هرگز حاضر نمیشن سرزمین ماتریکس رو ترک کنن.در کل احساس من در مورد ماتریکس 4, احساس اون شاعریه که وقتی پادشاه شعر جدید رو براش خوند و گفت نظرت چیه, گفت مطمئنم اعلاحضرت اراده کردن شعر مزخرفی بگن و موفق شدن!</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Sun, 26 Dec 2021 00:49:04 +0330</pubDate>
            </item>
                    <item>
                <title>قرص های خوشحالی 1 - دفتر قدردانی</title>
                <link>https://virgool.io/@aref.khandan/%D9%82%D8%B1%D8%B5-%D9%87%D8%A7%DB%8C-%D8%AE%D9%88%D8%B4%D8%AD%D8%A7%D9%84%DB%8C-1-%D8%AF%D9%81%D8%AA%D8%B1-%D9%82%D8%AF%D8%B1%D8%AF%D8%A7%D9%86%DB%8C-rbg5zofqqadw</link>
                <description>راز خوشحالی آزادیه و راز آزادی, شجاعت! _کری جونز_تعاریف خیلی خیلی خیلی زیادی برای خوشحالی وجود داره که انتخاب یکیشون برای شروع پست, کار سختی بود, ولی اینو انتخاب کردم چون پست کاربردیه, و نتیجه گیری ازش نیاز به اقدام داره, و برای اطمینان از اقدام هیچی ضروری تر از شجاعت نیست.قرص های خوشحالیاحتمالا شما هم مثل من بارها از روزمرگی, از به سرانجام نرسیدن کارها, از رخ ندادن اتفاق های هیجان انگیز دچار کسالت, سختگی, یا عدم خوشحالی شدید. از اون حالت هایی که دقیقا نمیدونید چرا خوشحال نیستید, فقط خوشحال نیستید. این خوشحال نبودنه به خودی خود ایرادی نداره! لزومی نداره از خودمون بدمون بیاد که خوشحال نیستیم فقط باید مراقب باشیم این وضعیت تبدیل به یه چرخه خود تقویت شونده مخرب نشه. ولی اگه ترجیح میدید کمتر این شکلی باشید, با یه سری عادت ها و رفتار های ساده میشه جلوشو گرفت, در این پست به هویت خوشحالی میپردازیم و امیدوارم بتونیم در ادامه راهکار های کسب خوشحالی رو پست کنیم.بزار ببینیم خوشحالی از کجا اومده؟خوشحالی در مغز با مولکول جذابی به نام سروتونین شناخته میشه, البته نگاه خیلی تقلیل گرایانه ایه ولی کار ما رو فعلا راه میندازه, به این متن از مرکز ملی اطلاعات بیو تکنولوژی موسسه ملی سلامت آمریکا توجه فرمایید:Serotonin is a neurotransmitter that mediated satisfaction, happiness and optimism. Serotonin levels are reduced in depression, and most modern anti-depressant drugs, known as serotonin reuptake inhibitors (SSRIs), act by increasing the amount of serotonin available to brain cells. However, what is the relationship between serotonin and positive mood? Researches indicated that increased of serotonin level was related to positive mood.سروتونین یک ناقل عصبیه که در مغز به عنوان واسط رضایت, شادی, و مثبت نگری عمل میکنه. سطوح سروتونین هنگام ابتلا به افسردگی کاهش پیدا میکنه و بسیاری از دارو های ضد افسردگی معروف هستن به (SSRI) ها, یعنی از باز جذب سروتونین در مغز جلوگیری میکنن (باز جذب چیه؟ مواد منتشر شده در مایع مغزی توسط ارگانیسم های مشخصی جذب (خورده) میشن تا مواد ترشح شده برای خودشون داخل مغز ول نگردن), در نتیجه مقدار سروتونینی در اختیار نورون ها قرار میگیره بالا میره و نشانه های افسردگی کمتر میشن. مطالعات زیادی نشون داده که بالا رفتن سطح سروتونین تاثیر افزاینده بر خلق و خوی مثبت افراد داره.توجه بفرمایید که از نظر تکاملی, حس های مثبت و خوشایند پاداش کار هایی هستن که به بقا, و بقای نسل گونه های اولیه کمک کردن.خوشحالی مثل بقیه احساس ها کمک کرده که انسان و گونه های تکامل یافته بتونن به زندگی اجتماعی دست پیدا کنن, خوشحالی اون لحظه ایه که یه گوریل فریاد میزنه غذا پیدا کردم! اون موقع هم بقیه گروه از پیدا شدن غذا خوشحال میشن, هم معمولا با تشویق کسی که غذا پیدا کرده, موجب خوشحالیش میشن تا بازم از این کارا بکنه!از طرفی مغز ساختاری داره که خاطره های دارای هیجان (چه مثبت و چه منفی) رو بهتر ذخیره و بازیابی میکنه (چون به خاطر اوردنش به بقای نوع کمک میکنه, نمونش سگی که چون یبار بهش غذا دادید تا بو و چهره شما رو شناسایی کنه میاد خودشو لوس میکنه), پس وقوع هیجان ناشی از خوشحالی باعث اولویت پیدا کردن خاطره های مربوط به لحظه تجربه خوشحالی میشه و موجود رو برای تصمیم گیری های بهتر آینده آماده میکنه.خوشحالی و انسان مدرنانسان مدرن به مقدار خیلی زیادی معنا دست پیدا کرده و مقدار زیادی در اون سردرگم شده, دیگه کارکرد خوشحالی در انسان منحصر به مسائل ابتدایی مثل پیدا کردن غذا, جفت یابی, حمایت شدن, و غیره نیست, هرچند سیستم عصبی انسان همچنان ریشه در همون دوران کهن داره و میتونید در کودکان صورت ساده و ابتدایی خوشحالی رو ملاحظه کنید, یا کافیه آموزش, معنا و تمدن رو دو نسل از بشر بگیرید تا به همون ساختار ابتدایی برگرده, بگذریم! پس انسان میتونه نسبت به گونه های اولیه تر از چیز های پیچیده تر و انتزاعی تری مثل فارغ التحصیلی در دانشگاه, برنده شدن تیم محبوب (این یکی خیلی هم تکامل یافته نیست), حل کردن یک معادله پیچیده ریاضی و غیره لذت ببره. علاوه بر اون, بشر راه های مصنوعی برای ایجاد خوشحالی مقطعی ساخته که در ایــــــــن پــــــست حسابی توضیحش دادیم. اما اینا لزوما به این معنا نیست که نتونیم از چیزای کوچولو تر خوشحال بشیم و براش سروتونین ترشح کنیم, فقط لازمه یخورده تمرین داشته باشیم, تمرین چی؟ تمرین شناختن عامل های کوچولوی تولید سروتونین!بشر یک ویژگی ذاتی داره به اسم نارضایتی یا Dissatisfaction, وظیفش اینه که مارو به کار وادار کنه و اجازه نده از وضعیت فعلی بیش از حد راضی بشیم. وقتی این نارضایتی بر خوشحالی غلبه میکنه (رسانه و تبلیغات برای اینکه شما رو وادار به خرید محصول کنه مرتب اینکارو با شما انجام میده) خوشحالی رو از دست میدیم و در گودال نارضایتی میوفتیم که در طولانی مدت تبدیل به سگ سیاه افسردگی میشه.چیکار کنم؟دراز کشیدن به تنهایی خیلی موجب احساس خوب نمیشه, ولی استراحت بعد یه روز خسته کننده میتونه کلی حس رضایت بهمون بده, خاروندن جایی که نمیخاره خیلی خوشایند نیست ولی امان از وقتی که جای جوراب رو میخارونی :)) , غذا خوردن به نظر روتین میاد, ولی گاز زدن راحت غذا بعد مدتی تحمل دندون درد واقعا لذت بخشه! همین چیزای کوچولو مدار تولید سروتونین در مغز رو فعال میکنن, تنها کاری که باید بکنیم اینه که به مغزمون یاد بدیم این چیزای کوچولو رو دست کم نگیره. راهش؟ تهیه لیست, یا دفتر قدردانی.نوشته امروز به خاطر لبخند زیبایی که بر صورت دخترم بود قدردانم (رقیق شدم)چطوری دفتر قدردانی بنویسیم؟این صرفا یه مطلب روانشناسی مثبت نگر نیست, هرچند ممکنه اینطور به نظر بیاد, و اشکالی هم نداره. ما صرفا داریم به روش هایی میپردازیم که به سالم ترین شکل ممکن کارکرد مغزمون رو به حالت مطلوب در بیاریم.گربه قشنگی که امروز صبح با چشمای گردش نگاهتون کرد و گفت میو! بوی خوش عطر همسایه که تو آسانسور پیچیده بود, نسیم سبکی که وقتی از خونه زدین بیرون صورتتون رو نوازش کرد, همکاری که سر کار با انرژی و صمیمیت بهتون صبح به خیر گفت, ادراک عمیقی که موقع گوش دادن به توضیحات معلم یا استاد بهش دست پیدا کردید, بچه کوچولویی که موقع رد شدن از داخل ماشین براتون دست تکون داد و خندید, زوج سالخورده بامزه ای که دست همو گرفته بودن و تو پارک قدم میزدن, همین چیزایی که توییت میکنید و میگید روزمو ساخت: صدای بارون, زنگ دوست قدیمی بعد مدت ها, موسیقی قشنگ به انتخاب آقای اسنپ! مسخره بازی شخصیت های سیاسی! همه اینا که متوجه میشید باعث احساس خوشحالی, رضایت و در کل ترشح سروتونین میشن, اینا رو یادداشت کنید و سر افزایش تعدادشون با خودتون رقابت کنید, اگه روز اول هیچی پیدا نکردید, یا فقط یکی دوتا بود هیچ اشکالی نداره, همه چی با تمرین بهتر میشه, نا امید نشید و دفتر قدردانی رو بسازید. دفتر قدردانی, اولین قرص خوشحالیه, میتونید هرشب قبل خواب بنویسید, یا اگه یادتون میره هر چند ساعت یکبار تکمیلش کنید, برای نوشتنش هم میتونید از مداد و کاغذ که بعضی وقتا حس بهتری داره استفاده کنید, یا نرم افزار های مختلفی که میتونید رو گوشی نصب کنید, شاید دلتون بخاد توییت کنید یا پست ویرگول بنویسید, پیشنهاد میکنم یک لیست اولیه برای خودتون داشته باشید و بعدا از اون پست ها رو تدوین کنید.امیدوارم بتونم و بتونید این تمرین رو جدی بگیرید و قطعا تاثیرش رو در زندگی احساس کنید, با قسمت های بعدی مجموعه قرص های خوشحالی دوباره برمیگردیم.منابع:https://pubmed.ncbi.nlm.nih.gov/16962146/https://www.youtube.com/watch?v=WPPPFqsECz0https://www.livehappy.com/lifestyle/10-best-happiness-quotes-all-time?nopaging=1</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Fri, 26 Mar 2021 16:30:43 +0430</pubDate>
            </item>
                    <item>
                <title>موارد مخدر و روانگردان ها با مغز ما چیکار میکنن؟</title>
                <link>https://virgool.io/@aref.khandan/%D9%85%D9%88%D8%A7%D8%B1%D8%AF-%D9%85%D8%AE%D8%AF%D8%B1-%D9%88-%D8%B1%D9%88%D8%A7%D9%86%DA%AF%D8%B1%D8%AF%D8%A7%D9%86-%D9%87%D8%A7-%D8%A8%D8%A7-%D9%85%D8%BA%D8%B2-%D9%85%D8%A7-%DA%86%DB%8C%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C%DA%A9%D9%86%D9%86-rbg0b781kxnn</link>
                <description>مواد مخدر, مواد توهم زا, سایکلدیک ها, سیگار, نیکوتین, ماریجوانا, کوکایین, آیاهواسکا, اسید, ال اس دی و خیلی چیزای دیگه که احتمالا تو روزنامه ها و اخبار و حتی مطالب عرفانی در موردشون میشنوید. همه اینها از طریق تاثیر گذاری بر مغز ما, موجب ایجاد تاثیرات و تجربه های متفاوت میشن و یه جایی در زنجیره: (باور ها -&gt; تصمیم ها -&gt; رفتار ها), خودشون رو نشون میدن.زیبایی وصف ناپذیر نورون های مغزدونستن اینکه این مواد چطوری بر ذهن ما تاثیر میگذارن و چی باعث این تجربیات و رفتار ها میشه از چند جهت دارای اهمیته: بیشتر کسانی که به اعتیاد دچار میشن, از مار کنجکاوی نیش خوردن, بیاید بهتون بگم چه شکلیه که دیگه کنجکاو نباشید.وقتی با حالات درونی یک فرد دچار اعتیاد آشنا بشید, درکش میکنید و میفهمید یه معتاد لزوما آدم پلید و از دست رفته ای نیست و شاید بتونید کمکش کنید.با مغز, ابزار تفکر, و فرآیند های درون اون بیشتر آشنا میشید, کل فرآیندهای مغز از یک سری اصول قابل توضیح پیروی میکنه.اگر دنبال آگاهی, Altered consciousness, و عرفان هستید و در مورد تاثیرات و تجربات عرفانی ناشی از مصرف سایکلدیک ها شنیدید, متوجه میشید که این مواد لزوما هدیه ماورایی خدایان و طبیعت نیستن و با فیزیک و شیمی دبیرستان قابل توضیح هستن.کامپیوتر ها, شبکه های عصبی مصنوعی, و مدار های الکتریکی در بسیاری از موارد از مغز انسان تقلید میکنن, اگه به مهندسی برق و کامپیوتر یا هوش مصنوعی علاقه دارید, شناخت بهتر مغز کمک میکنه سیستم های هوشمند رو بهتر درک و طراحی کنید.لازمه یکی دوتا مفهوم رو اول شرح بدیم:نورون (neuron): نورون ها سلول های عصبی مغز هستن که سیگنال های الکترو شیمیایی دریافت میکنن, بر اساس ویژگی های فیزیکی هر نورون; یه سری پردازش های ساده در حد تابع سیگموید یا جمع و تفریق انجام میدن, و متناسب اون, یک سیگنال به بقیه نورون ها ارسال میکنن, هر پدیده ای که در ذهن انسان به وجود میاد, حاصل این فعالیت نورون هاست, مغز انسان از حدود 100 میلیارد نرون تشکیل شده, اگر مغز رو یک پردازنده فرض کنیم که از 100 میلیارد ترانزیستور تشکیل شده, نورون ها ترانزیستور های مغز ما هستن.آکسون (axon): آکسون ها پای بلند نورون ها هستن که پیام در طول اونها انتقال پیدا میکنه, در سیستم عصبی انسان نورون هایی وجود داره که آکسون اون ها از مغز تا کف پا ادامه پیدا کرده (برای همین ماساژ کف پا میتونه روی بدن تاثیرات جالبی بزاره).دندریت (dendrite): دنتریت ها دست های کوتاه نورون ها هستن که معمولا پیام رو از آکسون یا دندریت چند نورون مجاور (یا حتی دوردست) دریافت میکنن.سیناپس (synapse): سیناپس به برآمدگی هایی روی نورون میگن که به سیناپس نورون های دیگه متصل میشه و از طریق سیناپس ها, سیگنال ارسال و دریافت میشه.سیگنال: سیگنال یا پیام, یه اصطلاحه که برای ارسال یا دریافت مولکول شیمیایی, یا پتانسیل الکتریکی از یک نورون به نورون دیگه از طریق سیناپس اطلاق میشه, نورون و سیناپسی که سیگنال رو ارسال کنن, فرستنده (presynaptic), و نورون و سیناپسی که سیگنال رو دریافت میکنن, گیرنده (postsynaptic) گفته میشه.بازدارندگی (Inhibition): وقتی یک سیگنال به سیناپس یک نورون برسه, و باعث کاهش فعالیت نورون گیرنده بشه, بازدارندگی اتفاق افتاده و اون سیگنال, سیگنال بازدارنده گفته میشه.تحریک (Excitation): وقتی یک سیگنال به سیناپس یک نورون برسه, و باعث افزایش فعالیت نورون گیرنده بشه, تحریک اتفاق افتاده و اون سیگنال, سیگنال تحریک کننده یا محرک نامیده میشه.فرستنده یا transmitter: مولکول هایی هستن عموما از جنس آمینو اسید, که باعث ارسال یک سیگنال از نوع شیمیایی میشن.هورمون: اینو بعدا میگمدو نورون, که نورون سمت چپ پیامی را از طریق آکسون خود به دندریت های نورون سمت راست ارسال میکند.نحوه ارتباط دو سیناپس با یکدیگر, همینطور که مشاهده میکند سیناپس ها از هم فاصله دارند و از طریق transmitter ها با هم ارتباط برقرار میکنند.اگه چند تا مفهوم بالا رو با حوصله خوندید دمتون گرم, اگه سرسری رد شدین لطفا دوباره نگاه کنید چون این کلمات رو همش باید تکرار کنیم.مغز چطور کار میکنه؟همونطور که در توضیحات مطرح شد, کل توده مغز چیزی بیشتر از 100 میلیارد نورون متصل به هم, شناور در 150 میلی لیتر آب نیست. هر اتفاق پیچیده ای که در مغز شاهدش هستیم لزوما حاصل تکرار سه مرحله (1. دریافت سیگنال توسط یک نورون, 2.پردازش سیگنال توسط نورون, 3.ارسال سیگنال به نورون های دیگر) میباشد.بعضی از نورون ها ارتباطات داخلی دارن و مسئول حافظه, افکار, باور ها, خاطرات و تصمیم های ما هستن. بعضی دیگه با سیستم عصبی محیطی یعنی بدن و دست و پا ارتباط دارند و گفتار, حرکات, و رفتار های ما رو ایجاد میکنن.لذت, عشق, شادی, احساس مثبت:هورمون ها مواد شیمیایی هستن که میتونن روی عملکرد نورون ها تاثیر بگذارن, بعضی هورمون ها به خاط تاثیر خاصشون بر روی صفات خلقی, خیلی سلبریتی شدن:Serotonin: ثبات خلق, سلامت روانی, خوشحالیکسایی که دچار افسردگی هستن خیلی از اینا نیاز دارنDopamine: لذت, نقش انگیزشی در مغز, پاداشرابطه جنسی, فعالیت های هیجان انگیز, و کلا کارای لذت بخش دوپامین آزاد میکننEndorphins: کاهش درد, لذت بعد دویدن, relaxationخیلی از آرام بخش ها مثل مورفین این هورمون رو رها میکننOxytocin: پیوند, عشق, اعتمادچیزیه که باعث عشق مادر به فرزند میشهسیگار با مغز چیکار میکنه؟سیگار ماده موثری به نام نیکوتین در خودش داره, این ماده باعث تحریک سیناپس های خاصی میشه که معمولا با ترنسمیتر استیل کولین تحریک میشن. نتیجه کلی این اتفاق موجب آزاد شدن دوپامین در بدن میشه و از طرفی روی رفتار عادی نورون های حساس به استیل کولین تاثیر میزاره, سرخوشی و آرامش بعد مصرف سیگار حاصل این فرآینده.در واقع اون احساسی که بعد نیم ساعت تفریح ممکنه به دست بیارید با چند پک سیگار شبیه سازی میشه.تریاک و مورفین با مغز چیکار میکنن؟این مواد افیونی باعث میشن مغز طوری رفتار کنه انگار در اندروفین غرق شده, شل شدن بدن و آرام شدن اعصاب و کاهش درد و سرخوشی حاصل تحریک شدن گیرنده های اندروفین در سیناپس های نورون هاست.بدن مرد ها بعد رابطه جنسی اندروفین آزاد میکنه که موجب خواب آلودگی و کسالت میشه, در واقع این فرایندی هست که کمک میکنه بدن انرژی از دست رفته رو بازسازی کنه.آمفیتامین و شیشه با مغز چیکار میکنن؟دوپامین بعد از تولید شدن توسط یک سری سلول ها بازجذب میشه تا برای خودش سیناپس تحریک نکنه. آمفیتامین ها جلوی بازجذب دوپامین و بعضی ترنسمیتر های دیگه رو میگیرن و مغز غرق دوپامین و سروتونین میشه, تجربه لذتی که اینجا به وجود میاد, با لذتی که در نتیجه تجربه های عادی از جمله رابطه جنسی, موفقیت در امتحان, و غیره قابل مقایسه نیست.در نتیجه فرد برای اینکه انگیزش کافی برای زنده موندن رو داشته باشه, مجبور به استفاده مجدد شیشه میشه, به همین دلیل ترک شیشه خیلی دشواره.بسیاری از دارو های ضد افسردگی رفتاری مشابه آمفیتامین ها دارند.کوکائین چطور؟رفتار کوکائین و آمفی تامین به هم نزدیکه, ولی کوکائین تمرکز بیشتری بر جلوگیری از بازجذب دوپامین و تجربه افزایش دوپامین مغز داره و به خاطر نوع مصرفش تاثیرش خیلی سریع و شوک گونه شروع میشه.کانابینویید (ماریجوانا):بازخورد منفی: یادتونه گفتیم بعضی ترنسمیتر ها بازدارنده و بعضی محرک هستن؟  وقتی یه سیناپس به سیناپس دوم سیگنال ارسال میکنه, خیلی مواقع مکانیزم سیناپس گیرنده طوریه که یک مولکول بازدارنده (مثل آناندامید یا 2-AG ) به سیناپس فرستنده تحویل میده, به این معنی که پیامتو دریافت کردم (در مخابرات به این مفهوم میگیم acknowledgement یا ack), و نورون فرستنده دست از ارسال پیام برمیداره.ماده موثر ماریجوانا این بازخورد منفی رو تحریک میکنه! نتیجه؟ نورون قبل اینکه پیامشو برسونه, از ارسالش صرف نظر میکنه و فعالیت مغز کاهش پیدا میکنه, در نتیجه ذهن فرد کند تر میشه و معمولا پدیده ها رو طور متفاوتی تجربه میکنه. اینکه چطور این کاهش فعالیت موجب تجربه های متنوع در هشیاری انسان میشه, از منظر نوروساینس خیلی شناخته شده نیست.ریتالین رو هم توضیح بدیم؟نوروترنسمیتر هایی مثل دوپامین مسئول هشیاری ما هم هستن, وقتی این ها کم بشن و اندروفین ها و ملاتونین زیاد بشه, هشیاری کمتر میشه و خوابمون میگیره.متیل فیندیت موجود در ریتالیت به تدریج شروع میکنه به جلوگیری از بازجذب دوپامین و چند ترنسمیتر دیگه. و در نتیجه مدت بیشتری بدون احساس خستگی هشیار باقی میمونیم, بعضی دانشجو ها به خاطر این خاصیت ریتالین, بهش میگن قرص شب امتحان, ولی در طولانی مدت موجب مشکلاتی در مغز میشه.اسکتازی یا MDMA:اکس تازی که یه مدت جوونا رو درگیر کرده بود, مقدار زیادی دوپامین و سروتونین آزاد میکنه, مغز شدیدا فعال و خوشحال میشه و رفتار غیر معمول از خودش نشون میده, هیجانات غیر قابل کنترل میشن و ممکنه فرد توهم و هذیان رو تجربه کنه.آیاهواسکا و DMT:دم ام تی مولکولی هست که از ریشه های نوعی گیاه خاص تهیه میشه, بومی های جنگل های آمازون از این ماده برای مراسم عرفانی و مذهبی استفاده میکردن, جالبه که دی ام تی از طریق خوردن جذب نمیشه, مگر اینکه با یک ماده دیگه سنتز بشه, اون ماده دیگه در برگ گیاهی خاص وجود داره که بومی های امازون اون برگ رو با ریشه این گیاه میجوشونن تا بتونن DMT رو جذب کنن.اما عملکردش:مغز برای اینکه بتونه با نواحی مختلف ارتباط برقرار کنه, گاهی از همبستگی زمانی استفاده میکنه, یعنی یک سری نورون های خاص یا فرکانس خاصی در زمان مشخص نوسان میکنن (گذر زمان رو به کمک همین امواج مغزی درک میکنیم), در نتیجه یک فرآیند خاص میتونه از هماهنگی نقاط مختلف مغز استفاده کنه.وقتی ما خوابمون میبره, یک سری امواج مغزی فرکانس پایین از جمله امواج آلفا فعال میشن و موجب خواب دیدن و رویا دیدن ما میشن, کاری که DMT میکنه اینه که بدون به خواب رفتن, این امواج رو در مغز قدرتمند میکنه, در نتیجه وارد تجربه آگاهانه تری از رویا دیدن میشیم, این تجربه برای افرادی که به تجربه های فراحسی و عرفانی علاقه دارند خیلی جذاب شده و تصور میکنن میتونن حقیقت رو بهتر, یا حداقل از زاویه دیگه ای مشاهده کنند.اسید یا LSD:بعدا تکمیل میکنم.قارچ یا psilocybin:فککنم باید یه پست جدا بزنم.ما واقعا به مواد معتاد میشیم؟مواد موجب ایجاد حالات درونی در ما میشن که معمولا ازشون خوشمون میاد, بعضی از اون مواد به قدری شدید اون حالات درونی رو ایجاد میکنن که هیچوقت در زندگی عادی تجربه نکردیم (چون موجب آسیب میشه). در نتیجه یک فرد معتاد برای اینکه به اندازه شما خوشحال و سرحال باشه, نیاز داره به اون ماده دسترسی پیدا کنه و موقع ترک مواد, در واقع یاد میگیره اون حالات روحی رو با مقدار کمتری از دوپامین و سروتونین و اندروفین و غیره بازسازی کنه.و به همین دلیل افرادی که دچار افسردگی, PTSD, مشکلات عاطفی و شغلی و خانوادگی هستن, بیشتر ممکنه به استفاده از این مواد روی بیارن.واضحه که ترکیب این وابستگی با تاثیرات مخربی که همراه هر ماده شیمیایی وجود داره, موجب ناسالم شدن سبک زندگی میشه.دوستی سوال کرد چرا ماده ای ساخته نمیشه که تزریق کنیم و اعتیاد طرف خوب بشه؟پاسخ اینه که فرد در واقع به تجربه حاصل از مواد معتاد شده و واقعا تصمیم خودش برای ترک وابستگی لازمه, برای همین در درمان افراد مبتلا به اعتیاد معمولا روی سبک زندگی و معنای زندگی کار میشه.امیدوارم از خوندن این متن طولانی حوصلتون سر نرفته باشه و شما رو بیشتر با مغز آشنا کرده باشم, حتما کامنت بزارید و نظرات و افکارتون رو به اشتراک بگذارید.منابع: روان شناسی فیزیولوژیک کالاتHealtline: what-happens-to-your-brain-on-ayahuasca</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Fri, 05 Feb 2021 17:46:06 +0330</pubDate>
            </item>
                    <item>
                <title>چطور مقادیر XML رو با Ansible تغییر بدیم</title>
                <link>https://virgool.io/@aref.khandan/%DA%86%D8%B7%D9%88%D8%B1-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-xml-%D8%B1%D9%88-%D8%A8%D8%A7-ansible-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%A8%D8%AF%DB%8C%D9%85-ugslx6fy1joh</link>
                <description>هرکسی که با Hadoop و سایر سرویس های جاوایی کار کرده حتما بارها مجبور شده مقادیر کانفیگ رو در فایل های XML دستکاری کنه. این زبان مارک آپ خیلی شبیه زبان های ساده تر مثل YAML نیست و ساختار و حتی زبان جستجو (Query) مخصوص خودش رو داره. میخایم در یک پست کوتاه نحوه تغییر مقدار یک پارامتر با استفاده از Ansible رو بررسی کنیم.فرض کنیم فایل XML ما این شکلی باشه:&lt;configuration&gt;    &lt;property&gt;      &lt;name&gt;mapreduce.framework.name&lt;/name&gt;      &lt;value&gt;yarn&lt;/value&gt;    &lt;/property&gt;    &lt;property&gt;      &lt;name&gt;mapreduce.map.memory.mb&lt;/name&gt;      &lt;value&gt;1024&lt;/value&gt;    &lt;/property&gt;    &lt;property&gt;      &lt;name&gt;mapreduce.reduce.memory.mb&lt;/name&gt;      &lt;value&gt;1024&lt;/value&gt;    &lt;/property&gt; &lt;/configuration&gt;حالا فرض کنیم میخایم مقدار mapreduce.reduce.memory.mb رو به ۹۹۶ تغییر بدیم.در واقع داکیومنت انسیبل راه حل مستقیمی برای اینکار ارایه نکرده ولی به لطف داکیومنت های xml میدونیم که پارامتر Xpath میتونه جستجو انجام بده.پس میام Xpath رو اینطوری تعریف میکنم:/configuration/property[name=&#039;mapreduce.reduce.memory.mb&#039;]در واقع دارم میگم در فرزند های نود configuration دنبال فرزند property ای بگرد که مقدار فرزند name اش &#x27;mapreduce.reduce.memory.mb&#x27; باشه. این ویژگی زبان و پارسر های xml هست. حتی به جای = در جای مناسب میشه از علامت بزرگتر و کوچکتر هم استفاده کرد.حالا انسیبل ما این شکلی میشه:  - hosts: my-name-node    remote_user: root    gather_facts: False    tasks:      - name: update reducer memory        xml:          path: /root/mapred-site.xml          xpath: /configuration/property[name=&#x27;mapreduce.reduce.memory.mb&#x27;]          pretty_print: true          set_children:          - name: mapreduce.reduce.memory.mb          - value: &quot;996&quot;کاری که تابع set_children انسیبل انجام میده اینه که کل فرزند های یک node رو حذف کنه و چیزی که بهش دادید رو اضافه کنه.در واقع ما هرچی زیر مجموعه اون تگ &lt;property&gt; بود حذف کردیم و child های      &lt;name&gt;mapreduce.reduce.memory.mb&lt;/name&gt;      &lt;value&gt;996&lt;/value&gt;رو اضافه کردیم.ansible xml value updateبا توجه به تصویر، نکته جالب کار اینه که ما اینجا idempotency رو حفظ کردیم به این معنی که اگر این پلی بوک رو بیشتر از ۱ بار اجرا کنیم دفعات بعدی هیچ اتفاقی نمیوفته و انسیبل change انجام نمیده.به روز رسانی:انسیبل از ماژول پایتون lxml برای ویرایش فایل های xml استفاده میکنه. اگر دوست دارید بدونید چطور اینکارو انجام میده نگاهی به سورس کدش بندازید:https://github.com/cmprescott/ansible-xml/blob/d5a2d84428dea14d080f46287f0ba84144f36e89/library/xml.py#L342به روز رسانی:نیاز داشتم که به جای تغییر یک مقدار، یک element جدید به فایل xml اضافه کنم.ینی یه همچین چیزی:&lt;configuration&gt;  &lt;property&gt;    &lt;name&gt;mapreduce.job.counters.counter.name.max&lt;/name&gt;    &lt;value&gt;1000&lt;/value&gt;  &lt;/property&gt;  &lt;property&gt;   &lt;--- new    &lt;name&gt;dfs.datanode.peer.stats.enabled&lt;/name&gt;  &lt;--- new    &lt;value&gt;true&lt;/value&gt;  &lt;--- new  &lt;/property&gt;  &lt;--- new&lt;/configuration&gt;اون چهارتا خطی که مشخص کردم لازمه که اضافه بشه.تسکی که نوشتم این شکلی شد:tasks: 
  - name: remove disk conf if exists 
    xml: 
      path: /opt/hadoop/etc/hadoop/hdfs-site-test.xml 
      xpath: /configuration/property[name=&#039;dfs.datanode.peer.stats.enabled&#039;] 
      state: absent 

  - name: add disk conf 
    xml: 
      path: /opt/hadoop/etc/hadoop/hdfs-site-test.xml 
      xpath: /configuration 
      pretty_print: true 
      add_children: 
        - property: 
          _:  #Sub Node
            - name: dfs.datanode.peer.stats.enabled 
            - value: &amp;quottrue&amp;quotاگر به جای add-children از set_children استفاده میکردم، همه المنت های property رو حدف میکرد و همین یدونه رو اضافه میکرد. پس از add_children استفاده کردم و برای اینکه idempotency حفظ بشه، قبلش یه تسک نوشتم که اگه همچین چیزی وجود داره حذفش کن. (احتمالا راه حل عاقلانه تری هم وجود داره).این ـ: که دیدید برای اضافه کردن subnode تعریف شده که بتونیم برای نود property دوتا subnode دیگه تعریف کنیم.</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Sat, 16 Jan 2021 15:03:21 +0330</pubDate>
            </item>
                    <item>
                <title>Speculative Execution in Hadoop MapReduce</title>
                <link>https://virgool.io/CodeLovers/speculative-execution-in-hadoop-mapreduce-gburfvnbq0iz</link>
                <description> از سال 2004 که گوگل MapReduce رو به عنوان یک پلتفرم پردازش موازی معرفی کرد, افراد و کمپانی ها در تلاش بودند ابزار هایی برای مدیریت job  ها و task های MapReduce پیاده سازی کنن, که Yarn و JobTracker و TaskTracker محبوبش از جمله این ابزار ها بودن, یکی از مشکلاتی که اجرای تسک ها باهاش مواجه میشن straggler یا علاف شدن تسک هست به این صورت که ممکنه یک تسک بیش از حد یا برای همیشه طول بکشه و اتمام اجرای job رو با مشکل مواجه کنه,  اینجاست که از روشی به نام Speculative Execution برای حل مشکل استفاده میکنیم;هدوپ درک و دیدی از کدی که داخل تسک ها در حال اجراست نداره, فقط کد جاوا رو در کانتینر های جاوا اجرا میکنه و ورودی و خروجی اونها رو تعیین و هدایت میکنه, بنابراین تنها ابزاری که برای تشخیص تسک های straggler داره مدت اجرا و مقدار پیشرفت اجرای تسکه (بر اساس تعداد خروجی هایی که تحویل داده)حالا چه عواملی ممکنه موجب علاف شدن یه تسک بشن؟میتونه عوامل داخلی داشته باشه از جمله:ظرفیت ناهمگون ماشین های مختلف (یعنی منابع سرور هایی که تسک رو اجرا میکنن متفاوت باشه و باعث بشه روی ماشین ضعیف تر اجرای تسک بیشتر طول بکشه)تسک های Map  و Reduce  که روی یک ماشین در حال اجرا هستن موجب کند شدن یک ماشین بشن (ممکنه به خاطر Data Locality یکی از ماشین ها تسک های بیشتری نسبت به بقیه متحمل بشه)و عوامل خارجی از جمله:رقابت بر سر منابع در شرایطی که منابع به صورت اشتراکی به کار میروند (یه تیم دیگه داره پدر سرور رو در میاره)چولگی داده :) یا data skew. یعنی ممکنه دیتای شما یکنواخت نباشه, یه بخشی از داده بار پردازشی خیلی بیشتری نسبت به بقیه بخش های داده داشته باشه و پردازشش بیشتر طول بکشهکندی ورودی و خروجی, ممکنه جایی که دیتا ازش خونده یا روش نوشته میشه به دلایل مختلف شبکه ای و فنی خیلی کند باشه.مشکلات سخت افزاری, وقتی کلاستری متشکل از چند صد یا چند هزار ماشین در اختیار دارید, احتمال اینکه یکی از ماشین ها به مشکل سخت افزاری بخوره و کارشو درست انجام نده بیشتر میشه.چطور تسک های کند رو پیدا کنیم؟هدوپ به صورت پیش فرض روش خیلی ساده ای رو در پیش میگیره, اگه یه تسک زیر ۲۰ درصد پیشرفت کرده باشه و بیشتر از ۱ دقیقه طول کشیده باشه به عنوان تسک straggler شناسایی میشه. اما هرچیزی رو در جاوا میشه از نو نوشت و مقاله های زیادی در مورد شناسایی هوشمند تسک های کند نوشته شده.پیداش کردیم, چیکارش کنیم؟هدوپ وقتی تسک کند یا گیر کرده رو پیدا کرد, سریع یه نسخه دیگه از همون تسک رو یجای دیگه اجرا میکنه بعد نگاه میکنه کدومش زودتر تموم میشه, اونی که زودتر تموم کرد خروجیش رو ذخیره میکنه و تسک های replica رو kill میکنه.مزایا:در کل اگه Speculative Execution با سیاست درستی به کار گرفته بشه موجب میشه سرعت کلی اجرای job ها افزایش پیدا کنه و کلی ماشین بیکار معطل یه تسک که به دلایل مختلف گیر کرده نمیشن حتی اگه به قیمت اجرای موازی یکی دوتا تسک باشه.معایب:گفتیم که هدوپ درک درستی از ماهیت تسکی که داره انجام میده نداره, پس اگه با همین سیاست کورکورانه ای که بهش اشاره شد بزنه تعداد زیادی از تسک ها رو به عنوان straggler شناسایی کنه, به جای افزایش سرعت کار رو برای تسک هایی که واقعا دارن اجرا میشن و طول کشیدنشون کاملا نرماله سخت تر میشه.علاوه بر اون وقتی یه reducer میخواد تسکی رو اجرا کنه باید خروجی mapper  رو دریافت کنه, پس اگه یهو هدوپ تصمیم بگیره چندین تسک reducer رو replicate کنه, شبکه باید مقدار زیادی دیتا رو جابجا کنه و در اختیار reducer های موازی قرار بده.--- به روز رسانی 17 دی 99:یه وقتایی خروجی, از جمله خروجی Reducer صرفا در فایل نوشته نمیشه بلکه Output Committer شما دیتا رو یه جای خاصی مثل دیتابیس مینویسه (به عنوان مثال رجوع کنید به TableOutputFormat ) و اصطلاحا Idempotent نیست, اینجا هندل کردن Redundancy ای که در اثر Spec-exec ایجاد میشه گاهی اونقدر دردسرساز هست که ترجیح بدید حداقل روی Reducer این ویژگی رو غیر فعال کنید تا نتیجه ای که از دیتا میگیرید اشتباه نباشه.و اینکه همونطور که در قسمت عوامل خارجی straggler شدن اشاره کردیم ممکنه چندین job مختلف در کلاستر در حال انجام باشن, در این صورت اجرا شدن spec-exec مربوط به یه job دیگه میتونه باعث کند شدن تسک های job ای بشه که قرار بوده خیلی عادی کارشو انجام بده, و اگه اشتباه نکنم چنین اتفاقی در بدترین حالت میتونه موجب cascading effect بشه و اون یکی job هم کند بشه و دوباره بره سراغ spec-exec.میشه غیر فعالش کرد؟دیدیم که Speculative Execution همیشه هم محبوب قلب ها نیست, و ممکنه مشکلات غیر قابل پیش بینی  ایجاد کنه, برای همین خیلی وقتا تیم تصمیم میگیره این قابلیت رو برای reducer, mapper  یا هردو غیر فعال کنه و اگر کسی این قابلیت رو نیاز داره در کانفیگ تسک جداگانه خودش این قابلیت رو فعال کنه.برای غیر فعال کردن Speculative Execution در تسک های map از کانفیگ:mapreduce.map.speculativeاستفاده میکنیم که مقدارش به صورت پیش فرض  true هستبرای reduce  هم از کانفیگ mapreduce.reduce.speculative برای فعال یا غیر فعال کردن این ویژگی در کل job:setSpeculativeExecution این کانفیگ در فایل mapred-site.xml و یا کانفیگ های خود Job صورت میگیره.نتیجه گیری:در کل اگر کلاستر یکنواختی دارید و جاب ها با روال مشخصی روی کلاستر اجرا میشن شاید این قابلیت جلوی خیلی از تاخیر ها رو بگیره اما اگر فکر میکنید دردسر های این ویژگی بیشتر از مزایاش برای شما هزینه ایجاد میکنه میتونید به راحتی غیر فعالش کنید, یا اینکه وقت بزارید و الگوریتم های پیچیده تر و هوشمند تری برای شناسایی تسک های straggler بنویسید.نکته: اصطلاح  خلاصه شده spec-exec در ادبیات هدوپ خیلی رایج نیست و صرفا از سر تنبلی نویسنده استفاده شده, ولی در ادبیات طراحی پردازنده برای مفهومی تقریبا با همین ویژگی ها ازش استفاده میشه.منابع:https://data-flair.training/blogs/speculative-execution-in-hadoop-mapreduce/https://techvidvan.com/tutorials/speculative-execution-in-hadoop/http://zhenxiao.com/papers/TC-2012-07-0457.R1_Chen.pdfhttps://hadoop.apache.org/docs/r1.2.1/api/org/apache/hadoop/mapreduce/Job.html#setGroupingComparatorClass(java.lang.Class)</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Mon, 04 Jan 2021 10:59:10 +0330</pubDate>
            </item>
                    <item>
                <title>سریالایز کردن داده ها در بیگ دیتا</title>
                <link>https://virgool.io/@aref.khandan/%D8%B3%D8%B1%DB%8C%D8%A7%D9%84%D8%A7%DB%8C%D8%B2-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%A8%DB%8C%DA%AF-%D8%AF%DB%8C%D8%AA%D8%A7-uhq6vt3l6ist</link>
                <description>حتما با وبسایت هایی مواجه شدید که نتایج و موارد رو به صورت pagination به شما نمایش میدهبه این معنی که موارد رو صفحه بندی میکنه و بعد مشاهده چند مورد میتونید بزنید صفحه بعدی و بقیه رو مشاهده کنید.Paginationاوکی! حالا تصور کنید یک داشبورد بیگ دیتایی دارید که وقتی به بک اند بیگ دیتایی خودش درخواست میزنه, چند ترابایت دیتا دریافت میکنه تا برای شما Visualize کنی, خروجی خلاصه اکسل بده, یا اصلا به صورت paginate نشونتون بده.واضح و مبرهنه ( مبرهن خیلی کلاس داره }:  )  که این حجم دیتا یهویی با یه درخواست GET تقدیم داشبورد شما نمیشه, اینجاست که ابزار های باحال serialization یا به قول بریتانیایی ها serialisation (شبیه اما واتسون در فیلم دیو و لبر بخونیدش) وارد کار میشن, وظیفه این رفقا اینه که داده های بزرگتر رو به فرمتی تبدیل کنن که بشه تیکه تیکه در شبکه انتقالشون داد یا اصلا خورد خورد در حافظه ذخیره شون کرد (که مثلا به آرامی پردازش بشه, دایجست بشه, یا هر کار دیگه ای), و البته معمولا اینترفیس خوبی هم برای ذخیره, انتقال, و بازیابی و به هم چسبوندشون فراهم میکنن. ( اگه به افسانه های کهن علاقه مند باشید اینجا باید بگم که در واقع seth اوزیریس رو سریالایز کرد, و همسر اوزیریس, ایس ایس, تیکه هاشو جمع آوری کرد و اون رو deserialization کرد. _منبع جهت مطالعه: https://myth.tarikhema.org/article-1259/قتل-اوزيريس _ ).نکته جالب اینجاست که لزومی نداره حتما داده رو در مقصد, دقیقا مثل قبل دیسریالایز کنید, یه وقتایی این امکان فراهم هست که مثلا دیتای XML سریالایز کنید و در مقصد دیتا رو در قالب Json سرهم کنید. (راستشو بخواید اوزیریس هم بعد دیسریالایز شدن دیگه اون اوزیریس قبلی نبود و کلی ایس ایس از این قضیه شاکی شد ;)  ).با بزرگتر شدن داده ها و حرکت نرم افزار ها به سمت تعامل با بیگ دیتا, ابزار های زیادی تولید شده و زبان های برنامه نویسی زیادی برای سازگاری با این ها کلاس ها و ماژول هایی ارائه دادن (مثل java.io.Serializable در جاوا), اینجا ما به ویژگی های چند تا از خوبای این قضیه نگاهی میندازیم, اوکی؟ Apache AVROآورو, اسم و لوگوی خودش رو از یه کارخونه قدیمی انگلیسی گرفته که از این هواپیماهای ملخ دار جنگنده میساخته و الان دیگه اون کارخونه منحل شده.Apache Thriftآپاچی ثریفت در اصل واسه فیسبوک بوده و برای امور خودش ابداعش کرده, که بعد ها به بنیاد آپاچی سپرده شده.Protobufپروتوباف یا Protocol Buffers  هم محصول گوگله که تقریبا در تمام ارتباطات بین ماشین ها در گوگل ازش استفاده میشه!حالا ویژگی این ابزار ها چیه؟این ابزار ها , برای اینکه کار برنامه نویس رو راحت کنن, نه تنها API مناسب برای سریالایز کردن دیتا رو فراهم کردن, بلکه ابزار Code Generator هم در اختیارمون گذاشتن و ما میتونیم با یک زبان واسط (Interface description language), کار های دیتایی خودمون مثل مشخص کردن فیلد ها به همراه نوع اون ها, اجباری, یا اختیاری بودنشون, یا حتی کوئری های ساده (شبیه به stored procedures) رو تعریف کنیم, و اون ابزار یه کد آماده به هر زبانی که دلمون میخاد بهمون میده و میتونیم به عنوان یه کلاس یا ماژول بزاریمش کنار کدمون تا اون بخش کار رو هندل کنه.علاوه بر این ویژگی versioning هم اهمیت زیادی داره, که اگه فیلد های شما تغییر کرد بتونید به شیوه ای مدیریت شده و راحت, تغییرات رو در سرویس اعمال کنید و هر دیتایی یا هر دیتا سورسی با ورژن خودش هندل بشه.ویژگی جذاب دیگه  size optimization یا در واقع نوعی فشرده سازی هستش که اکثر این ابزار ها به صورت build in دارنش تا در بهینه سازی پهنای باند و فضای ذخیره سازی به شما کمک کنن, معمولا وقتی از ابزار های سریالیزیشن استفاده میکنید لازم نیست خودتون نگران موضوع فشرده سازی باشید.پشتیبانی از Map Reduce هم ویژگی مهمیه چون اکثر کارهای بیگ دیتا با مپ ریدوس انجام میشه, مثلا Apache Avro برای اینکه خیال شما رو راحت کنه کلاس org.apache.avro.mapred  رو برای جاوا ارائه داده که راحت میتونید فایل های آورو رو تحویل جاب های Map Reduce کنید.پشتیبانی از پروتکل های مختلف و شیوه های مختلف انتقال هم باعث میشه شما زمان کمتری رو صرف کد نویسی اعصاب خورد کن سوکت های شبکه کنید. اینجا Apache Thrift خیلی خوش درخشیده و پروتکل  هایی از جمله TBinaryProtocol, TCompactProtocol, TJSONProtocol, TSimpleJSONProtocol   رو پشتیبانی میکنه, چندین متد Transport داره که بسته به بستر انتقال و نیاز شما میتونید تغییر بدید و حتی چند نوع سرور مولتی ترد خودش ایجاد میکنه که دیتا رو ارسال و دریافت کنه , یعنی شما فقط بهش میگید چطوری ارسال کنه و دیگه بقیش با خودشه و کلاینت و سرور و براتون ایجاد میکنه. امیدوارم این توضیح کوتاه شما رو با این بخش مهم بیگ دیتا کمی آشنا کرده باشهماسک بزنید و مراقب خودشون باشید. </description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Fri, 18 Dec 2020 15:23:29 +0330</pubDate>
            </item>
                    <item>
                <title>ارتباط داخلی کانتینتر ها در داکر</title>
                <link>https://virgool.io/@aref.khandan/%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%AF%D8%A7%D8%AE%D9%84%DB%8C-%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%AA%D8%B1-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AF%D8%A7%DA%A9%D8%B1-nnexcawlpzfv</link>
                <description>یکی از مشکلات اولیه که برنامه نویس ها موقع مهاجرت به داکر باهاش مواجه میشن نحوه ارتباط کانتینر های داکر با یکدیگر هست.خیلی پیش میاد که دوستان برنامه نویسم پیام میدن میگن آقا رفتیم روی میکرو سرویس و داکر. منم میگم چه عالی! بعد میگن یه گیر کوچیک داریم, چطوری باید کانتینرا همدیگه رو ببینن؟بعضی از اونایی که باهوش تر هستن میرن داخل کانتینر, آیپی اون رو پیدا میکنن و در کانتینر دوم به اون آی پی درخواست ارسال میکنن :| اما راه حل منطقی استفاده از DNS داخلی داکر هست:هر کانتینر لینوکس اسم داره و نکته جذاب داکر اینجاست که کانتینر ها میتونن با اسم کوچیک همدیگه رو صدا کنن,اگر شما یک کانتینر با اسم mydb دارید, برای اینکه از کانتینر مثلا php بهش وصل بشید, کافیه به جای ادرس سرور دیتابیس, بنویسید mydb, بدون اینکه نیاز باشه پورتی expose کنید.داکر فیچر های خیلی زیادی برای سر و کله زدن با شبکه داره و ابزار های زیادی مثل Weave network برای توسعه هرچه بیشتر این قابلیت ها به وجود اومده, و آشنایی هرچه بیشتر با اونها میتونه فرایند توسعه و تست و پیاده سازی رو بسیار سریع تر و راحت تر کنه.موفق باشید</description>
                <category>عارف خندان</category>
                <author>عارف خندان</author>
                <pubDate>Fri, 28 Aug 2020 19:38:05 +0430</pubDate>
            </item>
            </channel>
</rss>