Sunday, January 6, 2019

విషవిధి (Virus)

విషవిధి (వైరస్)

కంప్యుటర్ పరిభాషలో ఈ వైరస్ అనే పదం వినని వాళ్ళు తక్కువ మంది వుంటారు ..

కాని ఏమిటీ వైరస్ ? మనకి జలుబు చెస్తె వచేలాంటి జబ్బా ?  కంప్యుటర్ కి జబ్బు చెయ్యటమేంటి ?

కిందటి శీర్షికలో ఒక ప్రోగ్రాం ని విధి అని ఎలాగ మనం చెప్పుకున్నామో అలగే మనకి హాని చేసే విధి ని విషవిధి అని అనుకోవచ్చు ..  అంటే అది కూడ ఎవరో ప్రొగ్రామ్మర్ రాసిన ఒక విధి

మనం అజాగ్రత్తగా వుంటే ఇలాంటి విషవిధులు మన కంప్యుటర్ లోకి  లేకపోతే  మన ఫొనుల్లోకి వచ్చె అవకాశం వుంటుంది ...   బాగ పేరున్న కంపనీ అయితే తప్పించి  సాప్టువేర్ ని  మన కంప్యూటర్/ఫొన్లో ప్రతిష్టించుకోకపోవడం (install) మంచిది


అయినా ప్రొగ్రాం మనని ఏం చెయ్యగలదు ?

1) మీ ఆధార్ నంబర్ వేరే దేశానికి పంపించొచ్చు
2) మీ స్నేహితులు ఎవరు అని మీ ఫొన్ ద్వార  తెలుసుకుని వాల్లని మీ పెరుతో మోసం చెయ్యొచ్చు
3) మీ బ్యాంక్ లో డబ్బులన్ని మాయం చెయొచ్చు
ఇంకా చాలా చెయ్యొచ్చు

ప్రతీ యేడు దాదాపు 7000 కోట రుపాయల నష్టం ఈ విష విధుల వల్ల జరుగుతోంది అని ఒక అంచనా ఇది కేవలం ఒక్క అమెరికా దేశంలోనే .. అంతగా అవగాహన లేని మన దేశంలో ఇవి ఇంకా ఎక్కువ జరిగే అవకాశం వుంది .. 

ఇన్ని ప్రామాదాలని కొంచం జాగ్రత్తగా వుంటే మనం తప్పించుకోవచ్చు  

1) వాట్సాప్పుల్లో "డౌన్లోడ్" "ఇన్స్టాల్"  బటన్లని  ని పూర్తిగా విస్మరించండి
2) మీకు ఉచితంగా డబ్బులొస్తున్నయంటే నమ్మకండి
3) చాలా మంది మిమ్మల్ని దోచుకోవటానికి చూస్తున్నారు అని గుర్తుంచుకోండి  

Thursday, January 3, 2019

semaphore mutex processing

సెమాఫొర్ [సంకేత ధర]
మ్యుటెక్స్ [ ఏకతర సంకేతం]

సంకేతధర:  నిజ జీవితంలో మనం వాహనం నడుపుతున్నప్పుడు వచ్చే రక రకాల సిగ్నల్స్(సంకేతాలు)  మనని నియంత్రించటానికి ఉపయొగపడతాయి .. ఒక వేళ ఆ సంకేతాలని (సిగ్నల్స్) ఒక మనిషో లేక ఒక స్థంభమో ధరించిందనుకోండి దానిని మనం సంకేతధర అనవచ్చు  కదా .. అలాగే కంప్యుటర్ లో రెండు వేర్వేరు ప్రక్రియలు ఒకే చోటకి వచినప్పుడు ఏ ప్రక్రియ ముందుకి సాగాలో నియంత్రించటానికి ఒక సంకేతం కావలి .. లేకపోతే ఆ రెండు ప్రక్రియలు ఒకదానితో ఒకటి పోటి పడటమో లేక ప్రమాదానికి దారితియ్యటమో జరుగుతుంది    
 
ఇలా ఎదన్నా ఒక సంకేతాన్ని ఉపయోగించి  ప్రక్రియలని నియంత్రించవచ్చు

ఒక వేళ ఒక సమయంలో ఒకే ఒక ప్రక్రియ సాగలనుకోండి అప్పుడు ఆ సంకేతం ఏకతరం  అవుతుంది ..  దీనినే మ్యుటెక్స్ అంటారు  ...

ఉదాహరణకి ఒక గదికి ఒకే తాళం చెవి వుంటె ఒకడు లోపలికి వెళ్ళాక మళ్ళీ వాడు బయటికి వచ్చి ఆ తాళం వేరే వాళ్ళకి ఇచ్చేదాకా    లోపలకి ఎవ్వరూ వెళ్ళలేకపోతే ఆ తాళం చెవి ఏకతర సంకేతం అన్నమాట .. అలా కాకుండ 10 తాళం చెవులు  వుంటే? అప్పుడు తాళంచెవి  సంకేతధర ..  

అర్ధమయ్యిందా ? 

process, processor

మనం కంప్యుటర్ తో చేయించుకోవాలి అనుకునే పని ఒక "క్రియ" అనుకుందాం .. ఆ పనిని సాధించాలంటే దానికి అర్ధమయ్యే భాష లో కనుక వ్యక్తపరచగలిగితే అప్పుడు  దానిని ప్రక్రియ అనవచు .. ఆ  ప్రక్రియ ఒక సాధనంగా మనకి కావల్సిన పనిని సాధించేది సంసాధకం (ప్రాసెస్సర్)

మనం మన ఫోన్లో ఏదన్న యాప్ వాడుతున్నప్పుడు మీ ఫొన్లో వున్న సాధకం (ప్రాసెస్సర్) ఒక సాధనాన్ని ఉపయోగించుకుని కావల్సిన పనిని చేస్తుంది

ఈ పని బోలెడు చిన్న చిన్న స్వతంత్ర ప్రక్రియలుగా   గా విభజించి వాటితో సంసాధకం (ప్రాసెసర్) పని చేయవచ్చు ..
ఈ చిన్న చిన్న విభాగలనే  చైల్డ్ ప్రాసెసెస్ అంటారు  ..


Thursday, December 20, 2018

రక రకాల ప్రొగ్రామ్మింగ్



700:  ఇవి  ప్రస్తుతానికి  ఎన్ని  ప్రొగ్రామ్మింగ్ భాషలు వున్నాయి అని ఒక అంచనా



బోలెడు లాంగ్వాజెస్ వుండటానికి కారణం ఈ లాంగ్వాజెస్ తయారు చెయ్యటం సులువు  అవ్వటం ఒకటయితే ..ప్రతి వాడికి తన సొంత ఇష్టాలు వుంటాయి కబట్టీ వాటికి అనువుగా భాష ని తయారు చేస్కొవాలి అనుకోవటం ఇంకో కారణం

కంప్యుటర్లు తయారు చేసిన కొత్తల్లొ నేరుగా ప్రొసెస్సర్ కి అర్ధమయ్యె భాషలో రాసేవారు .. వాటిల్లో తప్పులు వెతకటం .. మారుపులు చెయ్యటం కస్థం అని తెలిసాక .. మనుషులు కూడ సులువుగా చదవతానికి అనువుగా వుండే భాషలు తయారు చెయ్యటం మొదలు పెట్టారు 
 

ఈ భాషలన్నిట్లో  మౌలికమయిన కొంత సారూప్యత.. కొంత తేడాలు వుంటాయి ..  స్థూలంగా వీటిని కొన్ని జాతులుగా విభజించవచ్చు 

ఫంక్షనల్ : ఈ భాష లో రాసే విధానంలో ముఖ్యమయిన  లక్షణం .. ఎమి కావాలో చెప్పటం.. .  ఉదా: హాస్కెల్ , ఎఫ్ #,
ప్రొసీజరల్ :  ఈ భాష లో రాసే విధానంలో ముఖ్యమయిన  లక్షణం .. ఎల చెయ్యాలో  చెప్పటం.. . ఉదా: జావా

Wednesday, December 19, 2018

కంప్యుటర్ ప్రొగ్రామ్మింగ్ అన్నిటికంటే సులువయిన పని

అతి తక్కువ తెలివితేటలతో అతి ఎక్కువ డబ్బులు సంపాదించి పెట్టగలిగే పనుల్లో ఇదీ ఒకటి .. మీకు కావల్సింది కాస్తంత ఓపిక .. కొంచం సమయస్పూర్తి 

మూడు చెరువుల నీళ్ళు తాగించాడు అని ఒక వాక్యముంది అది వినంగానే మీరు ఎవర్నో తెగ కష్ట పెట్టాడు అని అనుకుంటారా లెక నిజంగనే మూదు చెరువుల నీళ్ళు తాగించారు అనుకుంటారా ? 

తెలుగు వాళ్ళు అయితే    ఖచ్చితంగా  మొదటదే అనుకుంటారు . కారణం భాష తెలుసు మీకు .. వాక్యల్లో పదాలు కాదు .. వాక్యం తెలుసు మీకు .. దానిని ఎలా అర్ధం చేసుకోవాలో తెలుసు   మనలో చాల మందికి ఇంగ్లీషు పదాలు వచినా ప్రొగ్రమ్మింగు రాకపోవటానికి కారణం ఇదే .. పదాలు తెలుసు ... భష/ వాక్య నిర్మాణం తెలియదు 


మీలాగే కంప్యుటర్ కి కూడ పదాలకీ వాక్యాలకి అర్ధాలు ఎమిటో చెప్పి ఆ కొత్త భషలో కంప్యుటర్తో మాట్లాడటమే ప్రొగ్రమ్మింగు


ఉదాహరణకి మన కంప్యుటర్కి రెండు సంఖ్యలని  కూడటం మాత్రమే వచ్చు  అని అనుకుందాం అప్పుడు ..దానిటొ రెండు అంకెల్ని ఎల హెచ్చించచో ఎలా చెప్తాము ? 

1*3 =  కనుక్కొవటానికి  ఒకటిని మూడు సార్లు తనటొ కూడమని చెప్తాము.. 1 + 1 +1 .. 
ఇది ఒక ప్రొగ్రాం ...  దానికి తెలిసిన భాషలో మనకి కావల్సిన పని చేయించటం..

ఇక లక్షలు సంపాదించిపెట్టె కంప్యుటరు ఉద్యొగాల్లొ వెలగబెట్టే పనుల కోసం భాష ఇంకొచం ఎక్కువ పదాలు కలిగి వుంటుంది

ఎలాగంటే :

  1.   కండిషనల్స్   -> అయితే  (అది అయితే ఇది చెయ్యి .. కాకపోతే మరొకటి చెయ్యి) 
  2.   లూప్స్ -> ఒకే పని పలుమార్లు చెయ్యమని చెప్పటం 
  3.   ఫంక్షన్  -> ఒక విషయానికి సంబంధిన కొన్ని పనులకి ఒక పేరు పెట్టీ ఆ పనులని ఆ పేరుతో  గుర్తించటం..   ఉదహరణకి ..  పొద్దున ఆటొ ఎక్కి .. ఒక చోట దిగి .. ఆఫీసుకి వెళ్ళి పని చేసి .. ఇంటికి ఆటొ ఎక్కి రావటం .. అనే పనుల క్రమాన్ని .. ఆఫీస్కి  వెళ్ళొచ్చా అని అనటం       

డేటా బేస్ అంటే?

డేటా బేస్ అంటే?

మనం కంప్యుటర్లో చేసే పనికి కావల్సిన సమాచారం   దాని మెమరీ (విద్యుత్ తో నడిచే పరికరాలు) లో వుంటుంది
ఆ విద్యుత్ సరఫరా ఆగిపోగానే ఆ సమాచారం అదృస్యమవుతుంది  మరలా ఆ సమాచారన్ని వాడుకోవటం కోసం విద్యుత్ తో సంబంధం లేని ఒక చోట భద్రపరుస్తాము దానినే లాంగ్ టర్మ్ స్టొరేజ్ అంటారు (దీర్ఘ కాలిక అన్నమాట )
కానీ అలా భద్రపరచటం ఒక్కటే సరిపోదు దానిని సులువుగా వెతకగలగటం కూడ ముఖ్యమే .. అందుకు తోడ్పడేవే డేటా బేసులు  .. ఒక పద్దు పుస్తకం లేక లిబ్రరీ లో పుస్తకాలు అమర్చే విధానం లో ఈ పద్దతిని మనం గమనించవచ్చు
బోలెడు రకాల డేటా బేస్లు అందుబాటులో వున్నయి .. చాలా మటుకు ఉచితంగా వాడుకోవచు ... కొన్నిటికి లక్షలు ఖర్చు చెయ్యల్సి రావొచ్చు 

అలా భద్రపరుచుకున్న విషయాలని వెతకటంలో తోడ్పడే పని ముట్టూ ఒక కొత్త భాష ..దాని పేరు  స్ట్రక్చర్డ్ క్వెరీ లాంగ్వేజ్ 


పదాలకి అవతల:
 మెమొరి  :జ్ఞాపక శక్తి గా కాకుండా ఆ జ్ఞాపకాలు వుండే ప్రదేశం ... మెదడు .. అది సులువుగా మరిచిపోగలదు .. అందుకే పక్కన పుస్తకల్లో రాసుకుంటాం తరువాత వెతకటానికి .. ఆ పుస్తకమే దీర్ఘ్కాలిక ...  

క్వెరీ అంటె ప్రశ్న  : మనకి  భద్రపరుచుకున్న విషయల్లో  కావల్సిన విషయాలని ప్రశ్నలు అడిగి జవాబు రాబట్టుకోవటమే ఈ భాష యొక్క లక్ష్యం     

Saturday, November 3, 2018

satyam

బేసియన్ -సత్య పీఠం  

నిజాయితీ   లేని నిజం లేదు .. నిజం లేని మంచి  సమాజం లేదు .. మంచి సమాజం లేకుండా గొప్ప దేశాన్ని  కల కనలేము .. కలలే లేని ఒక సంస్కృతి  ముందుకి వెళ్ళ జాలదు

ఏది నిజం ? మనం మన నిర్ణయాలు నిజం ఆధారంగా తీసుకుంటామా ?  లేక అభిమానం ఆత్మీయత మరియు  పక్షతపాతము తో తీసుకుంటామా  ? మన ప్రాణాలు పోతున్నప్పుడు "మన" చెత్త డాక్టరు దెగ్గరికి వెళ్తామా లేక "నచ్చని" వాడయినా మంచి డాక్టరు దెగ్గరికి వెళ్తామా ?

పరిక్షించుకోండి :
ముందుగా , మీరు బాగా నమ్మే ఒక "విషయాన్నీ" ఒక్క వాక్యం లో మనసులో చెప్పుకోండి
ఉదాహరణకి: "దెయ్యాలు వున్నాయి" , "ప్రతిపక్ష నేత తప్పకుండా రాష్ట్రాన్ని దోచుకుంటాడు", "మన నేత తప్పు చేయడు","నాకు సొంత కులపు వాళ్ళ మీద అతి ప్రేమ లేదు", "మా దేవుడు మాత్రమే నిజం"

ఇప్పుడు కేవలం ఈ కింది మూడు ప్రశ్నలకు నిజాయతీ  తో సమాధానాలు ఇవ్వండి
గమనిక: ఈ సమాధానాలు ఎవ్వరూ చూడరు కావున నిర్భయంగా నిజం మాట్లాడండి!!

మీరు అనుకున్నది నిజం అని ఎంత ఖచ్చితంగా చెప్పగలరు ? (ఇటువంటి ప్రతిపాదన అంతక్రితం ఎంత వరకు నిజం అయ్యింది )

కష్టం చాలా తక్కువ కొంచెం ఒక మాదిరిగా కాస్త గట్టిగానే తిరుగు లేదు

మీరు అనుకున్నది నిజం అని అనటానికి సాక్ష్యాలు రుజువులు ఎంత వున్నాయి అని అనుకుంటున్నారు (మీరు పరిశీలించినవి .. మీకు తెలిసినవి మాత్రమే ) ?

కష్టం చాలా తక్కువ కొంచెం ఒక మాదిరిగా కాస్త గట్టిగానే తిరుగు లేదు

ఒక వేళ మీరు అనుకున్నది నిజము కాదు అని అనుకుంటే అప్పుడు ఆ వేరే విషయాన్నీ సమర్ధించటానికి సాక్ష్యాలు ఎన్ని వున్నాయి ? (మళ్ళీ మీరు పరిశీలించినవి .. మీకు తెలిసినవి మాత్రమే)?

కష్టం చాలా తక్కువ కొంచెం ఒక మాదిరిగా కాస్త గట్టిగానే తిరుగు లేదు
నాకు నిజం తెలుసా ?
మీ అభిప్రాయాము హేతు బద్దంగా వున్నది అనిపిస్తోంది
మీ అభిప్రాయాము తప్పు అనటం కన్నా ఒప్పు అనిపించే సాక్ష్యాలు బలంగా వున్నాయి
మీ అభిప్రాయాము నిజం అనటానికి ఖచ్చితమయిన ఆధారాలు లేవు
మీ అభిప్రాయాము నిజం అయ్యే అవకాశాలు తక్కువ గా కనిపిస్తున్నాయి 
మీ అభిప్రయాము నిజం అయ్యే అవకాశాలు బాగా తక్కువ గా కనిపిస్తున్నాయి 
మీ అభిప్రయాము హేతు బద్దంగా కనిపించటం లేదు !!

For Foundational information on Bayesian probability please go through How to Use Baye's theorem