ආයුබෝවේවා...

VITS Skylight වෙත සාදරයෙන් පිළිගනිමු. මෙය ඔබේ නැණපියසයි.

ලාංකීය වෙබ් අඩවි රැසකට සයිබර් ප්‍රහාර

වෙබ් අඩවි 130ක් ප්‍රහාරයට ලක් වෙයි.

Facebook සිංහලට පරිවර්තනය කිරීමට එක්වෙමු

හඳුන්වාදෙන The Translations App වැඩසටහන

නවතම තාක්ෂණයෙන් නිපදවූ Trinity ප්‍රොසෙසරය

ප්‍රොසෙසරයක් ක්‍රියාත්මක වෙන්නට යෙදවෙන ශක්තිය නැවත-නැවතත් ප්‍රයෝජනයට ගන්නට පුළුවන් අළුත් තාක්ෂණයක්

Tuesday, November 13, 2012

Messenger විශ්‍රාම යැවීම



මෙතෙක් කලක් මයික්‍රොසොෆ්ට් සමාගමේ නිල IM(Instant Messaging) සේවාව(එනම් ක්‍ෂණික පණිවිඩ සේවාව) ලෙස දියුණුකරමින් පවත්වාගෙන ආ Messenger සේවාව සේවයෙන් ඉවත්කිරීමට කටයුතු කරමින් සිටින බව පසුගිය සතියේ(නොවැම්බර් 7, 2012 දින) එම සමාගම ප්‍රකාශයට පත්කලා. පසුගිය වසරේ Skype සමාගම මිලදීගැනීම නිසා වෙනම මැසෙන්ජර් සේවාවක් පවත්වාගෙනයාම අනවශ්‍ය බවට සමාගම තීරණය කර තිබෙනවා.

Microsoft සමාගමේ සලකුණක් බඳුවූ Messenger IM සේවය එලිදැක්වූයේ 1999 වසරේදීය. තම සමාගම විසින් එළදක්වන ලද විවිධ මෙහෙයුම් පද්ධති තුලට ද මෙම සේවාව අන්තර්ගත කිරීමට ඔවුන් කටයුතුකළා. "MSN Messenger Service" නමින් ආරම්භවී ඉතිහාසය පුරා ".NET Messenger", "Windows Messenger", "Windows Live Messenger" ආදී නම්වලින් හැඳින්වුණා. කෙසේහෝවේවා පසුගිය වකවානුව වනවිට මැසෙන්ජර් සේවාව වටා මිලියන 350ක් පමණවූ ප්‍රජාවක් රොද බැඳී සිටින්නට ඇත.

Skype සේවයට ඇත්තේ මීට සාපේක්‍ෂව කෙටි ඉතිහාසයකි. 2003 දී ආරම්භවූ ස්කයිප් අනතුරුව 2005 වසරේදී eBay සමාගම විසින් මිලයට ගැනුනේ US$ බිලියන 2.6ක මුදලකටය. ආරම්භයේ පටන් ස්කයිප් සේවාව ඉමහත් ප්‍රචලිත්වයක් අත්කරගැනීමට සමත්විය. ඒ IM සේවයට අමතරව Voice call සහ Video call සේවාවන් ප්‍රධානකරගත් සේවයක් වූ බැවිනි. එහි සාර්ථකත්වය නිරීක්‍ෂණය කළ මයික්‍රෝසොෆ්ට් සමාගම 2011 වසරේ මැයි 10 වන දින Skype සමාගම මිලදී ගත්තේ ඇමරිකානු ඩොලර් බිලියන 8.5කටය. එදා පටන් ස්කයිප් වල භාරකත්වය microsoft සමාගමේ ස්කයිප් අංශය දරනවා. ස්කයිප් ඉතිහාසයේ තවත් වැදගත් සන්ධිස්ථානයක් ලෙස facebook chat සමගම එක්වීම සලකන්නට පුළුවන්. 2012 වර්ෂයේ මාර්තු වනවිට මිලියන 1090ක පමණ ප්‍රජාවක් ස්කයිප් වටා එක්රොක්වී සිටියහ.

මේ මස මුල්භාගයේ නිකුත්කරණ ලද Skype 6.0.73 සංස්කරණය මගින් MS Messenger සේවයට ආයුබොවන් කීමේ මුල් පියවර තැබීමට කටයුතු සිදුවුණේය. එමගින් මැසෙන්ජර් සේවාව භාවිත කරන පරිශීලකයන්ට ස්කයිප් client තුලින්ම තම මයික්‍රොසොෆ්ට් ගිණුමට ඇතුල්වීමේ පහසුකම ලැබුණි. මැසෙන්ජර් සේවයේ සිට ස්කයිප් වෙත මාරුවීමෙන් මෙතෙක් තමන් භාවිත කළ මෙසෙන්ජර් ලිපිනයම භාවිත කිරීමට අවස්ථාව ලැබෙන බවත් ස්කයිප් වෙත මාරුවන තෙක් 2013 වර්ෂයේ මුල් කාර්තුව දක්වා මෙසෙන්ජර් සේවාව ක්‍රියාත්මක වනු ඇති බවත් ප්‍රකාශයට පත්කර ඇත.

කෙසේ නමුත් මෙම එක්කිරීම චීනයට බලපාන්නේ නැත. චීනය තුල පවත්වාගෙන යනු ලබන දැඩි ප්‍රතිපත්ති වලට අවනතවන පරිදි ස්කයිප් හා මෙසෙන්ජර් සේවා ක්‍රියාත්මක කිරීමට එරට වෙන්වෙන් සමාගම් දෙකක් 2004 හා 2005 වර්ෂවල පටන් අයිතිකාර සමාගම් සමග සහයෝගීතාවක් පවත්වා ගැනීම මීට හේතුවයි. මේවන විට ඒ සේවා දෙකේම අයිතිය මයික්‍රොසොෆ්ට් සමාගමට පැවතියත් චීනය තුල එම සමාගම් දෙක යටතේ වෙනවෙනම ක්‍රියාත්මක වන නිසා යම්හෙයකින් සේවාවන් එක් කළහොත් එම සමාගම් අතර අර්බුදයක් ඇතිවිය හැකි නිසා ඉදිරියටත් චීනය තුල Skype හා Messenger සේවා වෙන්වෙන්ව පවත්වාගෙන යනු ඇත.



Wednesday, November 7, 2012

Data Compression - Run Length Encoding


RLE (Run Length Encoding) Algorithm
මතකනේ මීට කලින් අපි දත්ත සම්පීඩනය හා අසම්පීඩනය පිළිබදව සරලව කතාකලා. ඒ වගේම Data compression මූලික වර්ගීකරණය හා ක්‍රමවේදයන් පිළිබඳවත් සුළු සඳහන් කිරීමක් කලා. ඒ ලිපි කීපයට ලැබුණු ප්‍රතිචාර නිසාම අපි තීරණය කලා මේ ක්‍ෂේත්‍රය ගැන විස්තර පළකිරීම කීපදෙනෙකුට හෝ ප්‍රයෝජනවත් වේවි කියලා.

මෙම ලිපියෙහි අරමුණවන්නේ Data compression සඳහා යොදාගන්නා සරලතම ඇල්ගොරිතමයක් වන RLE(Run length encoding) පිළිබඳ උදාහරණ ඇසුරෙන් සාකච්ඡාකිරීමයි.

නමින් හැඟවෙන පරිදිම "ගොනුවක(file එකක) දත්තයන්, රටාවන් ලෙස කෙතරම් දුරකට දිවයන්නේද යන්න නිරූපණය කිරීමෙන් ගොනුවේ එකිනෙක ආසන්නයේ නැවත නැවත යෙදෙන රටාවන් සම්පීඩනය කිරීම" මෙම ඇල්ගොරිතමෙහි අරමුණයි.


1. උදාහරණය aaaaaaaaAAAA යන දත්ත ගොනුවේ යෙදී ඇති රටාව නිරීක්ෂණය කරන්න. එහි එකිනෙක ළඟින් පිහිටි “a” අක්ෂර 8කුත් “A” අක්ෂර 4කුත් දැකිය හැක. ඒ අනුව එය අක්ෂර 12ක විශාලත්වයෙන් යුතු ගොනුවකි. Runlength සම්පීඩනයට අනුව මෙම රටාව සංක්ෂිප්ත කොට a8A4 යනුවෙන් අක්ෂර 4කින් නිරූපණය කළහැක. මෙම සම්පීඩිත ගොනුව අසම්පීඩනය කිරීමෙන් නැවත මුල් ගොනුව ප්‍රතිනිර්මාණය කරගතහැක.

තවත් උදාහරණයක් සලකා බලමු.


2. aaabaaaaAAAA
මෙම දත්ත ගොනුවේදී එකම අක්ෂරය ළඟ ළඟ යෙදෙන රටාවට “b” අකුරකින් බාධා වී ඇති බව නිරීක්ෂණය කරන්න.

සරල runlength නිරූපණය = a3b1a4A4
තනි "b" අක්‍ෂරය නිරූපණය කිරීමට අක්ෂර දෙකකුත් "a" අක්‍ෂර පන්ති දෙකක් ඇති බැවින් ඒ වෙනුවෙන් අක්ෂර 4කුත් යොදාගැනීමට සිදුවී ඇත. පෙර උදාහරණය හා සසඳන විට දැකිය හැක්කේ එක් අක්‍ෂරයක වෙනසක් පමණක් වුවත් එමගින් දත්ත රටාවේ ගලායාමට ඇතිවූ බාධාවේ ප්‍රතිඵලයක් ලෙස පෙර උදාහරණයට සාපේක්‍ෂව සම්පීඩිත ගොනුව තරමක් විශාලවී ඇත.


3. උදා: aAaAaAaAaA
මෙම ගොනුව තුළද එකළඟින් යෙදෙන රටාවක් දැකිය හැක. නමුත් කලින්මෙන් එක් අක්ෂරය බැගින් සලකා runlength නිරූපණය කළහොත් ලැබෙනුයේ අක්ෂර 20කින් සමන්විත ගොනුවකි;
a1A1a1A1a1A1a1A1a1A1
එය මුල්ගොනුව මෙන් දෙගුණයක් විශාලය. එබැවින් මෙම නිරූපණය දත්ත සම්පීඩනයට උචිත නොවේ.

නමුත් මෙම ගොනුව සඳහා අක්ෂර 2 බැගින් සලකා runlength නිරූපණය කිරීමෙන්;
aA5
අක්ෂර 3ක ගොනුවක් නිර්මාණය කරගැනීමට හැකි බව පෙනේ.


දෝෂ නිරාකරණය

සරල බව හේතුවෙන්ම encoding(කේතාංකණ) ක්‍රියාවලිය හා decoding(විකේතන) ක්‍රියාවලිය මුහුණපෑ හැකි විශේෂ අවස්ථා කීපයක් සලකාබලමු.

4. උදා: මුල් ගොනුව තුල අනුයාතව "7" ඉලක්කම් 10කුත් "1" ඉලක්කම් 11කුත් සහිත උදාහරණයක් සලකමු.

File= 7777777777111111111111
කේතාංකණය මගින්

encoded file= 710111

ලෙස කුඩා ගොනුවක් නිර්මාණයකරගත හැකිවුවත් එම නිරූපණය වැරදි ලෙස විකේතනය වියහැක.
decoded file= 701


5. උදා: අක්‍ෂර දෙක බැගින් සලකා කරන ලද කේතාංකණයක් තනි අක්ෂරය බැගින් විකේතනය කිරීමේදී

file= 55555566

අක්ෂර දෙක බැගින් සැලකූවිට
encoded file= 553661

අක්ෂර 1 බැගින් යයි සලකා අසම්පීඩනය කළහොත්
decoded file= 555553333336

මෙවැනි පැටලැවීම් මඟහරවා ගැනීමට encoded ගොනුව නියමිත ආකෘතියකට ගොඩනැගිය යුතුය.
දත්ත රටාව  සඳහා අක්‍ෂර ස්ථාන කීයක් වෙන්කල යුතුද, යෙදී ඇති වාර ගණන දැක්වීමට ස්ථාන කීයක් වෙන්කල යුතුද යන්න එමගින් තීරණය කල යුතුය. 4 උදාහරණයේදී නම් රටාව සඳහා එක් අකුරක්ද වාර ගණන(සංඛ්‍යාතය) සඳහා ස්ථාන දෙකක්ද වෙන්වන බව ඩිකෝඩරය දැනසිටියේ නම් ගැටලුවක් නොවේ. එසේත් නැතිනම් එන්කෝඩරය මගින් රටාවට එක් ස්ථානයක්ද සංඛ්‍යාතයටද එක් ස්ථානයක්ද බැගින් වෙන්කලේනම්;
encoded file=79711912
එවිටද ගැටලුවක් නොවනු ඇත.

නිගමනය

  • දත්ත සම්පීඩනය සඳහා යොදාගත හැකි සරලතම ක්‍රමවේදයක් ලෙස Run Length encoding ඇල්ගොරිතම දැක්විය හැක.
  • දත්ත ගොනුව තුළ දැකිය හැකි රටාවන් වඩාත් හොඳින් සම්පීඩන වන පරිදි runlength යෙදිය හැකි ආකාර සලකා බැලිය හැක. එක් අක්ෂතරය බැගින් (bit 8 බැගින්), bit 16 බැගින්, bit 4 බැගින්
  • එන්කෝඩරය මගින් ගොඩනගනුලබන ගොනුව ඩිකෝඩරයට පැහැදිලිව තේරුම්ගත හැකි පරිදි ආකෘතිගත කල යුතුය.
බිටු 4 බැගින් සලකා RL Encoded උදාහරණයක්
(ද්විමය පාදයෙන් දක්වා ඇත)

  • දත්ත ගොනුව තුළ ළඟළඟ යෙදෙන රටාවන් සැලකිය යුතු ප්‍රමාණයක් නොවන විට run length encoding භාවිතයෙන් සම්පීඩනයක් ඇතිකරගත නොහැක.

  එමනිසා බොහෝ අවස්ථාවන්හිදී run length උචිත නොවේ. ප්‍රායෝගික භාවිතයේදී මූලික සම්පීඩන ක්‍රමවේදයකට වඩා වෙනත් ඇල්ගොරිතම ශක්තිමත් කරන උපාංගයක් ලෙස runlength ඇල්ගොරිතම භාවිතයට ගැනේ.

අමතර සටහන

පැහැදිලි කිරීමේ සහ අවබෝධ කරගැනීමේ පහසුව සඳහා "අක්‍ෂර", "අංක" ලෙස සඳහන් කර ඇත. ප්‍රායෝගිකව ඒවා සංඛ්‍යාත්කම(numeric/ හෝ ASCII) බව සලකන්න. 

ගැටලු/අදහස් තියෙනවනම් Comment කරන්ඩ අමතකකරන්ඩ එපා.

Thursday, November 1, 2012

ඉතින් ආයුබොවන් Google Knol ගරු


2007 දෙසැම්බර් 13 දින ගූගල් සමාගම විශ්වකෝෂීය සංස්කරණයක් ප්‍රකාශයට පත්කලේය. ඒ Google Knol නමිනි. අන්තර්ජාලයේ අන්තර්ගතය පුළුල්කිරීමේ අරමුණින් තමන් මෙම ව්‍යාපෘතිය ඇරඹීමට පියවර ගත් බවට ගූගල් සමාගම ප්‍රකාශයට පත්කල ද එය සාධාරණිය කිරීමට ඔවුන්ට දැඩි වෙහෙසක් දරන්නට සිදුවූයේ ඒ වනවිට විකිපීඩියාව වැනි ඕනෑම කෙනෙකුට විවෘත විශ්වකෝෂයක් වර්ධනයවෙමින් පැවති බැවිනි. Google සමාගම තමන්ගේම කියා විවෘත විශ්වකෝෂයකට අරඇදීමට සූදානම්වන බවත් එමගින් දැනුවත්ව හෝ නොදැනුවත්ව Wikipedia මරුවෙකු නිර්මාණයවන බවත් විචාරකයන් පෙන්වාදුන්හ. නමුත් ගූගල් සමාගම තම ස්ථාවරය ප්‍රකාශකරමින් කියාසිටියේ තම සමාගම Wikipediaව සමග ඉතා සුහදව කටයුතු කරන බවත් එහි දියුණුව පිළිබඳ සතුටුවන අතර ගූගල් නොල් මගින් ඊට කිසිඳු බාධාවක් හෝ තර්ජනයක් ඇති නොවන බවත්ය.


එය කෙසේවුවත් Wikipedia නාමයේ භාරකාරකත්වය දරණ Wikimedia Foundation ප්‍රකාශයක් නිකුත්කරමින් කියාසිටියේ අන්තර්ජාලයේ විවෘත අන්තර්ගතය වැඩිවන තරමට ලෝකයට හොඳ බව තමන් විශ්වාස කරන බවයි.


knol යන යෙදුම යොදනුයේ දැනුමෙහි තැනුම් ඒකකය යන අරුතිනි

-Google

Google Knol හා Wikipedia අතර දැකිය හැකි පැහැදිලි වෙනස්කම් කීපයක් විය.

  1.  ලිපි පිළිබඳ මධ්‍යස්ථභාවයක් හෝ මූලාශ්‍ර සහිතව සාධාරණියකරණයකිරීමක් අවශ්‍ය නොවීම
  2.  ව්‍යාපාර, නිෂ්පාදන, සේවා ආදියට අනුග්‍රහය දක්වන ලිපි අනුමත කර තිබීම.
  3.  Google Knolතුලදී ලිපියක් ආරම්භකරන මුල්තැනැත්තාට අවශ්‍යනම් එම ලිපියේ සම්පූර්ණ අයිතිය හෝ අයිතියෙන් කොටසක් තමන්සතුව තබාගැනීමේ හැකියාව.
  4.  තමන් ආරම්භකළ ලිපිය වෙනත් අයට වෙනස්කිරීමට නොහැකි පරිදි නිර්මාණය කළ හැකිවීම.
  5.  තම ලිපි තුල වෙළඳදැන්වීම්(Google Adsense) ඇතුලත් කිරීමෙන් ආදායම් උපයාගැනීමට අවසරය.
  6.  එකම මාතෘකාව පිළිබඳ වුවද විවිධ ලේඛකයන් අතින් නිර්මාණයවුණු ලිපි.


මේ නිසා විකිපීඩියාවට කෙසේවෙතත් about.com, squidoo, hubpages වැනි වානිජමය අඩවිවලට සැලකියයුතු බලපෑමක් එල්ලවන බව සමහරෙක්ගේ මතයවිය.

Knol ප්‍රථමවරට මහජනයාට විවෘතවූයේ බීටා(beta) සංස්කරණයක් ලෙසින් 2008 ජූලි 23 දිනදීය. මාස හයක් පමණ ගතවත විට (එනම් 2009 ජනවාරි මස වනවිට) ලිපි 100,000 සීමාවට ලඟාවීමට ගූගල් නොල් සමත්විය. නමුත් අනුගමනය කරන ලද තරමක් ලිහිල් ප්‍රතිපත්ති යටතේ විවිධ අපහසුතාවන්ට මුහුණදීමට Google Knolට සිදුවිය. ප්‍රචාරණ කටයුතු, ස්පෑම් සඳහා නොල් යොදාගැනීම මෙන්ම පක්‍ෂපාතීත්වය, පුද්ගල මතවාද, විශ්වාසවන්තභාවය පිළිබඳ ගැටලු හේතුවෙන් එය මඩගොහොරුවක් බවට පත්ව ඇති බව සමහරෙක් කියා සිටියහ.

මහජනයා විසින් එක්කරනලද ලිපිවලට අමතරව විවිධ ක්‍ෂේත්‍රයන්හි විශේෂඥයන් අතින් නිමවූ සවිස්තරාත්මක ලිපි එක්කිරීමටද ගූගල් සමාගම පියවරගෙන තිබුණු අතර Knol ලිපි කෙරෙහි පක්‍ෂපාතීත්වය දැක්වීම නිසා Google සමාගමට නොයෙක් අප්‍රසාද පළවිනි.


කාලය ගතවෙත්ම අපේක්‍ෂා කල පරිදි දෙපයින් නැගී සිටීමට නොල් අපොහොසත්වී ඇති බව පෙනීයන්නට විය. ඒ අනුව 2011 නොවැම්බර් මස වනවිට ගූගල් සමාගම නොල් නවතාදැමීමට තීරණය කර ඇති බව ප්‍රකාශයට පත්කල අතර 2012 අප්‍රේල් මස 23 දින ගූගල් නොල් වසාදැමිණ. ලේඛකයන්ට තමතමන්ගේ නොල් ලිපි ලබාගැනීමට පසුගිය ඔක්තෝබර් 1 දින දක්වා අවකාශවෙන්කර තිබුණු අතර ඉන්පසු සියලු නොල් ලිපි ලේඛන අන්තර්ජාලයෙන් මකාදමනු ලැබීය. ලේඛකයන් තම ලිපි නැවත පලකිරීමට බලාපොරොත්තු වන්නේ නම් Annotum අඩවියට යොමුකිරීමට නිර්දේශ කර තිබිණ.

මෙයින් පෙනෙන්නේ දඩයම්කරු දඩයමක් වූ බව නොවේ ද