۶۸ مطلب توسط «BSimjoo» ثبت شده است

ربات تلگرامی وبلاگ

@PCworms_Bot

ربات وبلاگ هم مجددا راه اندازی شد. این دفعه خودم نوشتمش و می تونید از اینجا سورسش رو تو گیت هاب ببینید.

از طریق این ربات در حال حاضر می توانید از آخرین مطالب وبلاگ با خبر شوید.

مجوز مطالب و محتوا ۰۶ فروردين ۰۰ ، ۲۱:۴۸ ۰ نظر موافقین ۱ مخالفین ۰
BSimjoo

با ما همراه باشید

با ما همراه باشید در:

pcworms.de1.hashbang.shpcworms@mozilla.org@pcworms

ما را در چت روم های عمومی در پیام رسان های ماتریکس و تلگرام دنبال کنید. چت روم ما در این دو پیام رسان به هم متصل و برای عموم قابل مشاهده و جست و جو هستند.

مجوز مطالب و محتوا ۳۰ اسفند ۹۹ ، ۱۱:۰۰ ۰ نظر
BSimjoo

شمارنده تک رقمی با ATmega8 و 7-seg

سون سگمنت (Seven-segment) یک قطعه برای نمایش ارقام و بعضی حروف خاص هست. حتما سون سگمنت ها رو تو آسانسور یا محافظ کولر (اونایی که ولت سنج دارن) یا روی بعضی کولر ها برای نمایش دما دیدید. این قطعه دارای هفت LED اصلی برای نمایش ارقام و ... و یک LED اختیاری برای نقطه هست که در واقع برای کامل شدن یک بایت (8 بیت) اضافه می شود. از آن جا که این قطعه از LED ها تشکیل شده دارای دو نوع کاتد مشترک (com-cathode) و آند مشترک (com-anode) که در آن ها به ترتیب پایه های منفی آن ها یا مثبت آن ها به هم وصل شده اند. البته که این تفاوت در ظاهر و کارکرد فرقی نخواهد داشت اما در زمان برنامه نویسی تفاوت هایی هست.

همانطور که می بینید بخش های اصلی یک سون سگمنت با حروف A تا G نام گذاری شده اند و نقطه که اختیاری است با حرف DP که مخفف Decimal point است نام گذاری می شود.

ادامه مطلب...
مجوز مطالب و محتوا ۰۲ اسفند ۹۹ ، ۱۳:۰۹ ۰ نظر موافقین ۱ مخالفین ۰
BSimjoo

مبانی عددی

مبانی عددی از جمله مباحث مهم در رشته کامپیوتر و الکترونیک هست و از آنجا که به تازگی به موضوع AVR پرداختم لازم شد تا حتما یک مطلب در این باره بنویسم. مبنای عددی از گذشته های دور در ریاضیات وجود داشته و سبب شکل گیری دنیای دیجیتال شد. اعدادی که امروزه عموم مردم دنیا از آن ها استفاده می کنند مبنای ده هستند ولی افرادی هم بوده اند که از مبنا های عددی دیگر استفاده می کردند. امروزه مبنا های پرکاربرد دیگر شامل مبنای دو (باینری)، مبنای 8 (اوکتال) و مبنای 16 (هکس) هم هستند. به طور کل مبنای عددی روش ها گوناگون نمایش مقادیر عددی هست.

ادامه مطلب...
مجوز مطالب و محتوا ۲۶ بهمن ۹۹ ، ۰۹:۳۸ ۱ نظر موافقین ۱ مخالفین ۰
BSimjoo

نظرات (۱)

سیدمهدی موسویان

چشمک زن هشتایی با ATmega8

همون طور که قبل تر گفته بودم به عنوان اولین پروژه یک چشمک زن هشتایی می سازیم.

کد برنامه

/*
 * 8-LED-flasher.c
 *
 * Created: 08/11/1399 10:24:35 ب.ظ
 * Author : bsimjoo
 */
#define F_CPU 1000000

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRD=0xff;
    PORTD=0xff;
    while (1)
    {
        for(uint8_t i=1;1;i*=2){
            _delay_ms(300);
            PORTD=i;
            if(i>=128) break;
        }
    }
}

تفسیر کد...

ادامه مطلب...
مجوز مطالب و محتوا ۱۵ بهمن ۹۹ ، ۱۳:۲۸ ۰ نظر موافقین ۴ مخالفین ۰
BSimjoo

گیت هاب ایران را از تحریم خارج کرد

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

مجوز مطالب و محتوا ۱۲ بهمن ۹۹ ، ۲۲:۵۰ ۱ نظر موافقین ۲ مخالفین ۰
BSimjoo

نظرات (۱)

محمدصالح کامیاب

شروع برنامه نویسی AVR

تو برنامه نویسی AVR ساختن یه فلاشر هشتایی عین Hello world میمونه و اکثر tutorial ها اولین پروژه شون همینه! منم در آینده نزدیک از همین پروژه شروع می کنم ولی برای شروع باید چنتا نرم افزار رو نصب و راه اندازی کرد. با ما همراه باشید که کلی کار داریم!

ادامه مطلب...
مجوز مطالب و محتوا ۰۸ بهمن ۹۹ ، ۱۵:۵۴ ۰ نظر موافقین ۳ مخالفین ۰
BSimjoo

شروع کار با AVR

مقدمه

همونطور که پیش تر در پستی با گذاشتن مطالبی در حوضه میکروکنترلر AVR موافقت شد با این پست مطالب با این موضوع را شروع می کنم.

همون طور که قبلا هم نقل قول کردم میکروکنترلر ها در واقع دسته ای از تراشه های IC هستند که امکان برنامه نویسی و کنترل مدارات الکتریکی رو به ما می دهند. این تراشه ها درواقع چیزی شبیه به یک رایانه در ابعاد بسیار کوچک هستند که درون خود دارای بخش هایی مانند CPU, RAM, ROM و چند نوع حافظه هستند. این تراشه های از خانواده های مخلف و با معماری ها و ویژگی ها مختلفی هستند که به جرئت میشه گفته خانواده AVR بهترین و پرکاربرد ترین خانواده این دسته از تراشه ها هستند. در ادامه کمی بیشتر در مورد AVR ها آشنا خواهیم شد.

ادامه مطلب...
مجوز مطالب و محتوا ۰۳ بهمن ۹۹ ، ۱۳:۲۶ ۲ نظر موافقین ۲ مخالفین ۰
BSimjoo

هنگام استفاده از VPN مراقب باشد

VPN چیست؟

Virtual Private Network پدیده ای نسبتا پیچیده در شبکه هست و می تونید با سرچ تو گوگل بیشتر در موردش بدونید ولی مردم اکثرا اون رو فقط به عنوان یک ابزار برای رفع محدودیت شبکه می شناسن. در واقع VPN ها کاربرد ها و پیچیدگی های خیلی بیشتری نسبت به رفع محدودیت داره.

ادامه مطلب...
مجوز مطالب و محتوا ۲۴ دی ۹۹ ، ۲۱:۰۴ ۰ نظر موافقین ۲ مخالفین ۰
BSimjoo

پروژه های تجاری می توانند متن باز باشند؟

فکر می کنم منظور از پروژه های تجاری به اندازه ی کافی روشن باشه؛ منظور پروژه هایی هستند که توسعه دهندگان می خواهند به نحوی از آن کسب درآمد بکنند. موضوع این مطلب یک بحث بین من و آقای کریمی زاده بود!

چرا باید پروژه های متن باز بنویسیم؟

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

چه طور میشه از پروژه های متن باز پول در آورد؟

همین اول باید بگم طبق بحثی که با دوستان (DotMan و FKZ) داشتم در نهایت به این نتیجه رسیدیم که اگر به دنبال فروش نرم افزار خود هستید نمی توانید آن را متن باز کنید. اما روش های دیگری هم برای پول در آوردن از پروژه های متن باز هست.

  • می توانید همانند پروژه هایی مانند wordpress کل پروژه رایگان باشد اما بسته هایی از امکانات را آماده و برای فروش بگزارید. برای نمونه پیام رسان سروش رایگان است ولی امکاناتی مانند تم و استیکر را برای فروش گذاشته.
  • می توانید از پشتیبانی کسب درآمد کنید.
  • تمام پروژه را متن باز نکنید. هر چند که این مورد زیاد دوست داشتنی نیست ولی خب اینم یک راه حله! اگر اسرار دارید تا از فروش نرم افزار متن بازتون کسب درآمد کنید همش رو لو ندید. اگر نرم افزارتون مورد مشابه داره امتیازاتی به آن اضافه کنید تا ارزش خرید داشته باشه و اون ها رو لو ندید!
مجوز مطالب و محتوا ۲۳ خرداد ۹۹ ، ۱۳:۰۰ ۱ نظر موافقین ۲ مخالفین ۰
BSimjoo

نظرات (۱)

علیرضا آهنی

رمزش شکست؟!

طی یک اتفاق متوجه شدم که سیستم عامل اوبونتویم (Ubuntu mate 16.04) کاملا نا امن هست!

از اونجایی که من از دو سیستم عامل روی سیستمم استفاده می کنم از یک بوت لودر گراب (Grub boot loader) استفاده می کنم که در منوی بوت یک گزینه به نام:

Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)

وجود داره. طی یک اتفاق مجبور شدم به این گزینه یک سری بزنم که به گزینه ی "Drop to root shell prompt" بر خوردم. کنجکاو شدم ببینم تا چه حد دسترسی بهم میده رفتم توش و نوشتم passwd [my-username] که دیدم ازم رمز جدید می خواد. طبق روال عادی رمز رو وارد کردم و قبول شد، ریبوت (Reboot) کردم و دیدم رمز عوض شد. به همین سادگی رمز عوض شد بدون این که ازم رمز قبلی رو بپرسه. البته که من هنوز تو استفاده از لینوکس تازه واردم ولی خیلی ساده رمزش شکسته شد.

حالا اگر شما هم از بوت لودر استفاده می کنید مراقب باشید چون حداقل یک مرحله هکر هایی که دسترسی فیزیکی دارند رو جلو انداختین!!

مجوز مطالب و محتوا ۲۰ خرداد ۹۹ ، ۱۳:۰۰ ۷ نظر موافقین ۲ مخالفین ۰
BSimjoo

نظرات (۷)

علیرضا آهنی
علیرضا آهنی
فاروق کریمی زاده
علیرضا آهنی
فاروق کریمی زاده
فاروق کریمی زاده

افزودن و ویرایش اطلاعات سازنده در ویندوز

System information panel

اگر می خواهید اطلاعات خود را به صورت دلخواه همانند بالا در مشخصات ویندوز وارد کنید این مطلب را دنبال کنید

ادامه مطلب...
مجوز مطالب و محتوا ۱۵ خرداد ۹۹ ، ۱۰:۵۵ ۱ نظر موافقین ۳ مخالفین ۰
BSimjoo

سواد رسانه‌ای در مقابله با مهمان ناخوانده این روز‌ها

در روزگاری که همه جا صحبت از این بیماری ناخوانده یعنی کرونا (Covid-19) هست ما هم کمی به این موضوع از بعد رسانه ای می پردازیم.

در این روز ها بازار شایعات از همیشه داغ تر است و حتی برخی شایعات می توانند از خود این ویروس هم برای جان ما خطرناک تر باشند! شایعاتی که هر کدام به دلایلی، به طور کل غیر انسانی، در شبکه های مجازی دست به دست می شوند و خواه و نا خواه به دست ما می رسند. البته که موضوعات مطرح شده در این مطلب، تنها اصول ساده ای، از سواد رسانه ای هستند؛ که در نظر داشتن آن ها حتی می توانند در مقابله با جنگ رسانه ای یا جنگ نرم هم کمک کننده باشد.

ادامه مطلب...
مجوز مطالب و محتوا ۲۷ اسفند ۹۸ ، ۱۳:۰۰ ۲ نظر موافقین ۱ مخالفین ۰
BSimjoo

کنترل ورودی در Python

def controllInput(func:callable, prompt = '>'):
  while True:
    try:
      inputValue = input(prompt)
      value = func(inputValue)
      if type(value) == bool:
        if value:
          return inputValue;
        else:
          print('!!INVALID INPUT!!')
      else:
        return value, inputValue
    except:
      print('!!INVALID INPUT!!')
      
a = controllInput(str.isdigit, 'digit: ')
print(a, type(a))
b = controllInput(int, 'int: ')[0]
print(b, type(b))
c = controllInput(str.isalpha, 'alpha: ')
print(c, type(c))
d = controllInput(lambda x: x.isalpha() and len(x)==5, '5 alpha:')
print(d, type(d))
مجوز مطالب و محتوا ۰۷ دی ۹۸ ، ۱۸:۵۹ ۱ نظر موافقین ۳ مخالفین ۰
BSimjoo

نظرات (۱)

علیرضا آهنی

افزودن پایتون 3 به اندروید (نیاز به دسترسی روت)

از آنجا که به تازگی دارم پایتون کار می کنم می خواستم تا به هسته اندروید تبلتم پایتون رو اضافه کنم تا بتونم براش اسکریپت پایتونی هم بنویسم. پس جست و جو کردم تا چطور می تونم این کار رو انجام بدم؛ تا این که یافتم چطور می تونم پایتون 3.4.2 رو به اندروید اضافه کنم. البته برای استفاده از پایتون بر روی اندروید راه های دیگری مانند استفاده از برنامه QPython هم هست که به روت هم فکر نکنم نیاز باشه ولی در این جا شما می تونید کد ها و اسکریپت ها را از شل اجرا کنید و حتی اسکریپت هایی برای سیستم بنویسید که به سادگی اجرا می شوند.

قبل از هر چیز باید بگم که این دستورالعمل نیاز به دسترسی روت داره و طبق گفته ی منبع فقط روی پردازشگر های ARM جواب میده. من این کار رو انجام دادم و به خوبی روی تبلت سامسونگ به مدل GT-P3100 جواب داد. استفاده از ARM هم برای سادگی کار پیشنهاد می شه که البته میشه از یک terminal emulator برای اندروید هم استفاده کرد.

ادامه مطلب...
مجوز مطالب و محتوا ۰۵ آذر ۹۸ ، ۱۳:۰۰ ۱ نظر موافقین ۱ مخالفین ۰
BSimjoo

نظرات (۱)

علیرضا آهنی