Showing posts with label ආගිය කතා. Show all posts
Showing posts with label ආගිය කතා. Show all posts

Saturday, December 14, 2024

නෙදර්ලන්ත රසකතා (පැරසිටමෝල්)

 මම නෙදර්ලන්තයට සංක්‍රමණය වෙච්ච මුල් දවස් වල නෙදර්ලන්ත භාෂාව (ලන්දේසි භාෂාව) ගැන මේලෝක දැනීමක් තිබුණෙ නැහැ. ඒ විතරක් නෙමෙයි, සමහර දේවල් වලදි ලංකාවට වඩා මෙහේ වෙනස් කියන එකත් එච්චර ඔළුවට වැදිල තිබුණෙ නැහැ. මුල් දවස් වල සීත කාලෙට ඔය කිව්ව දැනීමක් නැති ගතිය එනව.


Saturday, May 18, 2024

වෙනසක් | A change

සෑහෙන කාලයක් තිස්සෙ මේකේ මොනවත් නොලියා හිටියෙ ඒකට අවශ්‍ය කාලය හොයාගන්න එක හරි අමාරු දෙයක් නිසා.. ඒ වගේම, අවුරුදු 15කටත් කලින් පටන්ගත්ත මේ ලිවීමේ විනෝදාංශය අද වෙද්දි ටිකක් විතර යල්පැන ගිය එකක් වෙලා.. බ්ලොග් එකක් කිව්වාම වර්තමාන පරම්පරාව හිතන්නෙත් ඉන්ස්ටග්‍රෑම් හෝ ටික්ටොක් ගැන. මමත් ටික්ටොක් එකක් පටන් ගත්තා.😀 ඒක අතුරු කතාවක්.

ඉතින්, ඉස්සර වෙගේ සෝෂල් මීඩියා එකවුන්ට් ගොඩක් ආම්බාන් කරන එක තරමක් කාලය ගතවෙන වැඩක් නිසා මම හිතුවා ලියන දෙයක් මේකෙම ලියනවා කියල. හැබැයි, මෙතනින් ඉදිරියට මේක සිංහලෙන් පමණක් ලියන බ්ලොග් එකක් නෙමේ. ඒ කිව්වෙ ඒ වෙලාවට හිතෙන දේ ඒ වෙලාවට හිතට එන බාසාවකින් ලියලා  අතාරිනව.

ඉතින්... ළඟදිම ආපහු හමුවෙමු෴

Sunday, November 8, 2020

පොළොස් මාලුවේ කතාව

Vintage picture of a smiling Ceylonian man with a jackfruit.
Image courtesy: Lankapura.com
මගේ යාළුවෝ ගොඩක් දෙනා (අන්තර්ජාලය ඔස්සේ හඳුනාගත් අයත් ඇතුළුව) දන්නවා මම දැන් ලංකාවේ නෑ කියලා. මුලින්ම ඒ ආගිය කතාවෙන් පටන් ගන්නම්. අවුරුදු දෙකකට විතර ඉස්සර මම විදේශගත වුණා. සාමාන්‍යයෙන් ලංකාවෙන් පිට වෙන ගොඩක් අය ඒ යන ගමනත් එක්කම උයන්න පිහන්නත් ඉගෙනගන්නව. නමුත් මම ඒ දේ කළේ නෑ. ඒකට එක හේතුවක් වුණේ මෙහේට ආපු ගමන් මුල් දවස් වල තිබුණු අධික කාර්යබහුලකම. ඒක නිසා පහසුවට රෙස්ටුරන්ට් වලින් කෑම කන්න පුරුදු වුණා. අනික තමයි, තනියම ඉන්න මට කෑමක් උයාගන්න යන කාලයත් වෙහෙසත් සලකා බැලුවාම රෙස්ටුරන්ට් එකකට ටිකක් වැඩිපුර ගෙවලා කෑම ගැනීම ඇත්තටම ලාබයි. මට ලොකු වාසියකට තිබුණේ "කොත ගහලා" බත් කන පුරුද්දක් නොතිබුණු එක. ඒ නිසා යුරෝපීය ආහාර රටාවට හුරු වෙන එක මට මට ගොඩක් පහසු වුණා.

 

අවුරුද්දකුත් ගත වුණාට පස්සේ ආවා Covid-19 කියලා එකක්. මේ වසංගතයත් එක්ක මම ගෙදර රැඳෙන කාලය වැඩි වුණා. (ගෙදරටම හිර වුණා) ඒකෙන් ඇතිවෙන මානසික ආතතිය දුරු කරගන්නත්, දැන් උයන්න පිහන්න, අත්හදා බැලීම් ඕන එකකට කාලය තියෙන නිසාත් මම පොඩ්ඩ පොඩ්ඩ උයන්න ඉගෙන ගන්න තීරණය කළා. මුලින්ම ඉගෙනගන්න ඉව්වේ සරල පැස්ටා එකක්. ඒකෙන් තමා දැනුණේ මේ වැඩේ කරගෙන යන්න පුළුවන් කියල. තවත් මාස ගාණක් යද්දි ලංකාවේ කෑම වලින් මගේ ප්‍රියතම එකක් වෙච්ච පොළොස් මාලුවේ අඩුව මට දැනෙන්න ගත්ත. ඊට පස්සෙ තමයි තීරණය කළේ අඩුමකුඩුමත් ගෙනත් මේක කොහොම හරි උයනව කියල.


ඉතිං උයන්න දන්නෙ නැහැනෙ!

Tuesday, March 11, 2014

සර්වර් එකේ හොල්මනක්

"මචං උඹ ලිනක්ස් දන්නව නේද?"

Image courtesy: pixabay.com
ටී ෂර්ට් එකක පිටේ FAQ අකුරු තුන තඩියට ප්‍රින්ට් කරවගෙන ඊට යටින් ඔය ප්‍රශ්නෙයි ගැළපෙන උත්තරේකුයි ගහගන්නවා මම හිතුණොත්. :D එච්චරටම නිතර දෙවේලේ ඇහෙන ප්‍රශ්නයක් ඕක. සාමාන්‍යයෙන් මගෙන් කවුරුහරි ඔහොම අහන්නෙ ලිනක්ස් සම්බන්ධ උදව්වක් ඕනෙ වුණාම. ඉතින් මේකත් එහෙම කතන්දරයක්...

මගේ මිත්‍රයා පරීක්ෂණ මට්ටමින් තමන්ගෙම ලිනක්ස් සර්වර් එකක වෙබ් අඩවියක් හොස්ට් කරලා. ඊට පස්සෙ ඒ වෙබ් අඩවිය පාවිච්චි කරයි කියල හිතන අයට පොඩි ටෙස්ටිං (UAT) රවුමක් දෙකක් කරන්න දීලා අඩුපාඩු අල්ලගන්න. මේ UAT එකේදි හදිසියෙම වෙබ් අඩවිය අකර්මණ්‍ය වෙලා. හේතුව හොයල බැලුවම හාඩ් ඩිස්ක් එකේ root partition එක (/) සම්පූර්ණයෙන්ම පිරිලා ඉඩ නැහැ. වෙබ් අඩවිය වැඩ කරනකොට caches/ logs ලියන්න හාඩ් ඩිස්ක් එකේ ඉඩ නැති නිසා තමයි ඒක නැවතිලා තියෙන්නෙ.

Sunday, November 18, 2012

අපේ සැරිසර | කුරුණෑගල - යාපහුව - අවුකන - දඹුල්ල - මාතලේ

ශාකුන්තලගෙ සටහන් පොතේ බ්ලොග් සටහනක් මේ ලියැවෙන්නෙ 2011 අවුරුද්දෙ මාර්තු තුන් වෙනිද testdisk ගැන ලිව්ව සටහනෙන් පසුවයි. එදා ඉඳලා අවුරුද්දකුත් මාස අටකටත් පස්සෙ තමා මේ සටහන ලියවෙන්නෙ. ඒ කාලය ඇතුළත බොහොමයක් දේවල් වෙනස් වෙලා වගේ... බ්ලොග් ලියවනෙ මාතෘකා වෙනස්, සිංහලෙන් බ්ලොග් ලියන්නත් අළුතෙන් ගොඩක් අය එකතු වෙලා, ඒ විතරක් නෙමෙයි Google Blogger සේවාවත් සෑහෙන දියුණු වෙලා. මාත් එක්ක ඒ දවස් වලම බ්ලොග් ලියන්න පටන් ගෙන ඒත් පසුකාලීනව මම වගේ ම බ්ලොග් ලිවීම නතර කළ කීප දෙනෙක් ආපහු බ්ලොග් ලියන්න පටන්ගෙන තියෙනවා දැක්කම මටත් අනිත් වැඩ පොඩ්ඩක් පැත්තක තියලා මොනවහරි මේකෙ කොටල යන්නම හිතුණා. සිංහලෙන් බ්ලොග් ලියන - කියවන අයට මාව මතකද දන්නෙත් නෑ. :)

අවුරුද්දකුත් මාස අටක කාලයෙ මරු මරු දේවල් ගොඩක් සිද්ධ වුණා. සිරි ලංකාවෙ සුන්දර වෙල් යායකට යාබදව තියෙන ප්‍රසිද්ධ තොරතුරු තාක්ෂණ සමාගමක රැකියාවක් ලැබුණා. ජපන් වාසගම තියෙන ඉන්දියන් යකඩ අස්සයෙක් ගත්තා. අසනීප වෙලා ශල්‍යකර්මයකුත් කරන්න වුණා. කාලය ගත වෙලා පොඩි අස්වැසිල්ලක් ලැබුණාම ලංකාව වටේ පොඩි සවාරියක් යන්නත් අවස්ථාවක් ලැබුණා. අන්න ඒ සවාරිය ගැනයි මේ සටහන.

Thursday, March 3, 2011

මුදවාගැනීමේ මහා මෙහෙයුම සහ තවත් මෙහෙයුමක්

මම නිහඬව හිටපු කාලේ කරදර වුණා කියල මම කිව්වනෙ මගෙ ඕවර්හීට් වෙච්ච බ්ලොග් පෝස්ට් එකෙන්... මේ ඒ කරදර වලින් එකක් තමා. අවදානම් ඇක්ස්පැරිමන්ට් කරන්න ගිහිං මගේ ලැප්ටොප් එකේ හාඩ් ඩිස්ක් එකට තවත් වරක් කෙළැ වී ගියා. කොහොම කොහොම හරි මේකට විසඳුම මතක් වුණා ටිකක් වෙලා ගිහින්. ඒ තමා Testdisk කියන අපූරු මෘදුකාංගය.


Wednesday, February 23, 2011

CPU Overheat! -- පරීක්ෂාකාරී වන්න

ආයුබෝවන්,... ශාකුන්තලගෙ සටහන් පොතේ පිටුවක් මේ අළුතින් ලියැවෙන්නෙ මාස ගණනාවකට පස්සෙයි. පහුගිය කාලේ මට ටිකක් විතර කරදර කාලයක් වුණු නිසා ටිකක් නිශ්ශබ්දව ඉන්න තීරණය කළා. ඒත් ඉතිං ජම්මෙට වඩා පුරුද්ද ලොකුයිනෙ. ඒ නිසා ආපහු ලියනවා Blog!

නිතර නිතර මගේ අඩන්තේට්ටම් වලට ලක්වෙන ලැප්ටොප් එක ගැන වචනයක් කියන්නම් අද සටහනට පූර්විකාවක් විධියට. මම මේක ගත්තේ 2007 අවුරුද්දෙ දෙසැම්බර් මාසෙ දෙවෙනි සතියෙ දවසක. Acer Aspire 4315 වර්ගයෙ ලැප්ටොප් එකක්. දැන් වයස අවුරුදු තුනයි මාස දෙකයි සතියයි දවස් ගානක් විතර ඇති. පරණයි. ඉස්සර ආපු IBM ලැප්ටොප් වගේ දැන් තියෙන ලැප්ටොප් එතරම් කල්පවතින්නෙ නෑ. මේකට මුලින්ම වෙච්ච වින්නැහිය මගේ බ්ලොග් එකත් එක්ක හිටපු පරණ කස්ටියට මතක ඇතිනේ... ඒ කොහොම වුණත් මගේ උත්සාහය මේ ලැප්ටොප් එක අවම වශයෙන් අවුරුදු පහක්වත් පාවිච්චි කරන්න. මොකද 1.73 GHz Intel Celeron ප්‍රොසෙසරය මගේ වැඩ වලට හොඳටම ප්‍රමාණවත්.

Saturday, August 7, 2010

Gammu එක්ක මොබයිල් වැඩ කිඩ | SMS කෙළිය

ආ........යිබෝ.........ං........! අර.... ශාකුන්තල කියල එකෙක් හිටියෙ... අන්න ඒකා නින්දෙන් නැගිටලා ඇවිත් තමා මේක ලියන්නෙ... බ්ලොග් සීන් එකෙන් පොඩ්ඩක් විතර ඈත් වෙලා ඉඳලා කස්ටියට මාව අමතක වෙන්න ගිහිනුත් ඇති... තවත් නිශ්ශබ්දව හිටියොත් සින්ඩියෙන් නිළ වශයෙන්ම මාව පන්නන්න ඉතිරි වෙලා තියෙන්නෙ තවත් දවස් හතරක් නිසා මොකක් හරි තේරුමක් ඇති දෙයක් සටහන් කරල යන්න තමා මේ පැත්තෙ ආපහු ආවේ. :D

මේ බ්ලොග් එක නිතර කියවන අය දන්නවනේ මම ලියන තාක්ෂණික ලිපි වලින් අති බහුතරය ලියැවෙන්නෙ මගේ අත්දැකීම් අනුසාරයෙන් බව. කොපි පේස්ට් නෑ... පරිවර්තන වැඩ නෑ... එකක් දෙකක් හැර අනිත් සියල්ල පෞද්ගලිකව අත්හදා බලා දෙසන ඒවා. නමුත් පහු ගිය කාලේ මම යෙදිලා හිටපු වැඩ කටයුතු වල ස්වභාවයයි තරමයි අනුව මම අදහස් කළා ටිකක් විතර බ්ලොග් ලියන වැඩෙන් ඈත් වෙලා ඉන්න.

Tuesday, May 11, 2010

විකිපීඩියා | Wikipedia

විකිපීඩියා කියන්නෙ මොකක්ද කියල අමුතුවෙන් හඳුන්වල දෙන්න අවශ්‍ය නැහැනේ... අද මම කල්පනා කළා මේ ඕනෑම කෙනෙකුට වැඩිදියුණු කළ හැකි, ලොව වැඩි දෙනෙක් විශ්වාසය තබන, ලොව විශාලතම නිදහස් විශ්වකෝෂය ගැන පොඩි විස්තරයක් සරලව ලියන්න. ඇත්තෙන්ම කියනව නම්... මේ දවස් වල විකිපීඩියාවට ශාකුන්තලගෙ බැල්ම වැටිලයි තියෙන්නේ... :P

මට විකිපීඩියාව සෙට් වුණෙත් හරි අපූරු විධියකට. විකිපීඩියාවෙන් අපමණ දේවල් මෙතෙක් ගත්තට අබමල් රේණුවක දෙයක් ඒ වෙනුවෙන් ලියලා තිබුණෙ නෑ. මේ කාලේ මගේ 'ඉන්ටර්න්ෂිප්' කාලේ නොවැ... ආධුනිකයෙක් විධියට මට වැඩ කරන්න අවස්ථාව ලැබිල තියෙනවා ආසියා-පැසිෆික් ටෙලිසෙන්ටර් ජාලය (APTN) සම්බන්ධයෙන්. කලාපීය වැදගත්කමක් තියෙන මෙහි මහලේකම් කාර්යාලය (secretariat) පිහිටුවා තිබෙන්නේ ශ්‍රී ලංකාවේ. මම APTN වැඩ වලට සම්බන්ධ වෙන්න කලින් ඒ පිළිබඳව යම් හැදෑරීමක් කළ යුතු වුණා. ඉතින් APTN වෙබ් අඩවියෙන් පසු නිතැතින්ම මම යොමු වුණේ විකිපීඩියාවට. කෝ..? අපේ මාතෘකාව ගැන සඳහනක් නෑ...! මේ වගේ ලෝකවාසීන් දැන ගත යුතු, ජාත්‍යන්තර වැදගත්කමකින් යුත් කාරණාවක් සම්බන්ධයෙන් විකිපීඩියා ලිපියක් නැති එක මට පෙනුණේ සැලකිය යුතු අඩුපාඩුවක් විධියට. ඔන්න ඔහොමයි විකිපීඩියාවට ලිවීමෙන් දායක වෙන වැඩේ සෙට් වුණේ.

ආපහු එමු මාතෘකාවට... විකිපීඩියාවේ තියෙන වඩාත්ම සිත්ගන්නාසුළු ලක්ෂණය තමයි එහි නිදහස් බව. ඒ කියන්නේ ඕනම කෙනෙකුට වැඩිදියුණු කරන්න පුළුවන්. හැබැයි මේ සියල්ල සිදු වෙන්නේ මනා පරිපාලනයක් සහිතවයි. සරල සිංහලෙන් කිව්වොත් පිස්සු කෙළින්න බෑ. ඉතින් මට අවශ්‍ය වුණේ ආසියා-පැසිෆික් ටෙලිසෙන්ටර් ජාලය ගැන ලිපියකින් විකිපීඩියාවට දායක වෙන්න. ඒ අත්දැකීම් මගේ බ්ලොග් එකේ ලිපියක් විධියට මේ ලියන්නේ විකිපීඩියාවට ලිපි ලියන්න තවත් අයව උනන්දු කරවන්න සහ, විකිපීඩියාව අළුත් අයට උදව්වක් වශයෙනුයි.

විකිපීඩියාවට මුල්වරට ලිපියක් ලියද්දී සැළකිලිමත් විය යුතු කාරණා කීපයක්ම තියෙනවා. තමන් විසින් ලිපි ලියන්න බලාපොරොත්තු වෙන විෂය ක්ෂේත්‍රය පිළිබඳ සැළකිය යුතු දැනීමක් තිබිය යුතුයි. කිසිම තේරුමක් නැති, nonsense වගේ පේන්න පේළි දෙකෙන් තුනෙන් ලියන අළුත් ලිපි විකිපීඩියාවෙන් ඉවත් කෙරෙන්න තියෙන සම්භාවිතාව ඉතා වැඩියි. අදාළ විෂය ක්ෂේත්‍රය ගැන ප්‍රවීණයෙක් වීම අවශ්‍ය නැහැ. දැනුම සහ ගවේෂණය කිරීමේ උනන්දුව තිබුණාම හොඳට ඇති.

මාතෘකාව තෝරගත්තට පසුව ඊළඟට කරන්න තියෙන දේට සරල භාෂාවෙන් කියන්නේ RTFM කියලා. :D දී ඇති උපදෙස් වරක්, දෙවරක් හොඳින් කියවන්න. ඇත්තෙන්ම කියනවා නම්, විකිපීඩියාවට ලිපි ලියන්න දැනගන්න ඕනේ අදාළ විෂය ක්ෂේත්‍රය හැරුණාම භාෂාව විතරයි. HTML, CSS, feed වගේ මළ ඉලව් ඕනෙ නැහැ. වැඩේ බ්ලොග් ලියනවට වඩා පහසුයි!

අදාළ මාතෘකාව යටතේ ලියැවුණු ලිපියක් දැනටමත් තියෙනවද කියල සොයා බලන්න. උදාහරණයක් විධියට ගනිමු අපි ලංකාවේ තියෙන හුම්මානය. ඒ ගැන ලියැවුණු ලිපියක් විකිපීඩියාවෙ දැනට නැහැ (සෙවුම් ප්‍රතිපල බලන්න). අපට ඊට අදාළව ලිපියක් ලියන්න පුළුවන් නම් "You may create the page Hummanaya," කියලා තියෙන රතු සැබැඳිය ක්ලික් කරලා, එවෙලෙම ලිපිය ලියලා, ලියූ වහාම අන්තර්ජාලයට නිදහස් කරන්නත් පුළුවන්.

නමුත්, පළමු වරට විකිපීඩියාවට ලිපියක් ලියන කෙනෙක් මේ විධියට 'එකවරම' ලිවීම සුදුසු නැහැ. විකිපීඩියාවේ 'ලිපි ඉඩ' (Article Spaces) වර්ග කිහිපයක් තියෙනවා. ඔය මුලින් කිව්ව විධියේ ලිවව් ගමන් අන්තර්ජාලයට නිදහස් වෙන තැන හැඳින්වෙන්නෙ Public Article Space කියලා. එතැන සකස් කළ ලිපියක් අන්තර්ජාලයට නිදහස් කළාම ඩෝං ගාලා අතෑරියා වගේ... හැම දෙනාටම පේනවා. ලියන ලිපිය විකිපීඩියාවේ තියෙන ප්‍රමිතීන් වලට අනුකූල නොවුණොත් ලිපිය මකා දැමෙන්නට තිබෙන සම්භාවිතාව වැඩි නිසා, විකිපීඩියාවට නවක අය මේ පොදු ඉඩ එකවරම පාවිච්චි නොකිරීම වඩාත් සුදුසුයි.

බිත්තර කටුවක් ඇතුලේ විකසනය වෙන කුකුළු කළලයක් වගේ, විකිපීඩියාව ඉගෙනගන්නා ගමන් ලිපියක් ක්‍රම ක්‍රමයෙන් ගොඩනගන්න 'පරිශීලක ඉඩ' (User Space) භාවිත කිරීමෙන් පුළුවන්. මෙහි ලියන ලිපි සෙවුම් යන්ත්‍ර වලින් සූචිගත කෙරෙන්නේ නැහැ. ඒ වගේම වැඩිය කාටවත් දකින්න ලැබෙන්නෙත් නැහැ. මම ආසියා-පැසිෆික් ටෙලිසෙන්ටර් ජාලය ගැන ලිපිය ටිකෙන් ටික ගොඩනැඟුවේ ඒ ආකාරයෙන්. පරිශීලක ඉඩ කොටසේ ලිපියක් ආරම්භ කරන්න, http://en.wikipedia.org/wiki/User:ඔබේ පරිශීලක නම/ලිපියේ මාතෘකාව ආකාරයේ වෙබ් ලිපිනයක් වෙත යාමෙන් පුළුවන්. උදාහරණයක් ලෙස, http://en.wikipedia.org/wiki/User:Shaakunthala/Asia-Pacific_Telecentre_Network යන තැන තමා මගේ මුල්ම ලිපිය මම සකස් කළේ.

මේ විධියට ලිපිය ටිකෙන් ටික සකස් කරද්දි අත්දැකීම් ඔස්සේ විකිපීඩියාවේ තියෙන 'එක එක දේවල්' ටිකෙන් ටික ඉගෙනගන්න පුළුවන් වෙයි. අපට පිටින් පෙනෙනවට වඩා මහා දැවැන්ත යාන්ත්‍රණයක් විකිපීඩියාව ඇතුලේ ක්‍රියාත්මකයි. මේකෙදි අපට වැඩ කරන්න වෙන්නෙ ගෝලීය ප්‍රජාවත් එක්ක. අනිත් අයගේ අදහස් එක්ක ඔට්ටු වෙවී තමයි වැඩ කරන්න වෙන්නේ. හැබැයි අපේ අය ලංකාවේ එක එක ෆෝරම් වල දාන දෙකයි පනහේ චණ්ඩි පාට් මේකේ දැම්මොත් සති දෙකෙන් නොකවුට්!

ලිපිය සකස් කරලා අවසානයේ ඒක පොදු ලිපි තියෙන කොටසට පහසුවෙන් මාරු කරන්න පුළුවන්. ලිපි ලියද්දී මහා බර වචන ඕනෙ නැති වුණත්, සාමාන්‍ය ලිඛිත භාෂාව යොදා ගැනීමයි සම්මතය. ඒ වගේම ඉදිරිපත් කරන සියළුම කරුණු සාක්ෂි සහ යොමු සටහන් (citation) සහිතව ඉදිරිපත් කිරීමත් විකිපීඩියාව අපේක්ෂා කරනවා. ඒ වගේම අපක්ෂපාතී ලෙස කරුණු ඉදිරිපත් කිරීම කළ යුතුයි. මේ ගුණාත්මක බව නිසාවෙන් තමයි ලොව අන්තර්ජාලය භාවිත කරන අති බහුතරය විකිපීඩියාව ඉතා ඉහළින් සලකන්නේ.

ඉතින්, විකිපීඩියාවට දායක වෙද්දි මම ඉගෙනගත් දේවල් වලින් බිඳක් බලාගන්න පුළුවන් User_talk:Shaakunthala කියෙව්වොත්. මේ talk pages, නැතිනම් සාකච්ඡා පිටු වල තමා ලිපි වල තිබෙන කරුණු, අන්තර්ගතයේ බලපත්‍ර සම්බන්ධ ගැටළු ආදිය ගැන සංවාද ඇති වෙන්නේ. මේක ඉතින් වචනයෙන් කියනවට වඩා හොඳයි තමා ම කරල බලන එක. ප්‍රජා දායකත්වය සහ සන්නිවේදනය හරිම අපූරුයි! :-)

මම මේ ලිපිය ලිව්වේ සිංහල විකිපීඩියාවට දායක වීම ගැන යමක් ලියන්න ප්‍රවේශයක් විධියට. මම පෞද්ගලිකව විශ්වාස කරන හැටියට, කෙනෙකුට මුලින්ම විකිපීඩියාව ඉගෙනගන්න සදුසු ඉංග්‍රීසි විකිපීඩියාව. ඒ සිංහල සිප්යුරු වදන් වල නුහුරු බව නිසා ඇති විය හැකි ගැටළු මඟහරවා ගන්නත්, විකිපීඩියා උදව් පිටු තවම සම්පූර්ණයෙන් සිංහලයට හරවා නැති නිසාත්.

සිංහල විකිපීඩියාව පැත්තෙත් මම මේ දවස් වල සක්මනේ යෙදෙනවා... මේ මගේ සිංහල පිටුව.
ඉදිරි ලිපියකින් සිංහල විකිපීඩියාවේ දැන් තත්වය, සිංහල බ්ලොග්කරුවන් සහ බ්ලොග් කියවන්නන් ලෙස අපට ඒ වෙනුවෙන් දැක්විය හැකි දායකත්වය පිළිබඳ ලිපියක් ඉදිරි දිනයකදී ලියන්න මම බලාපොරොත්තු වෙනවා.

ප්‍රයෝජනවත් විය හැකි සබැඳි (මේවා ඉතා හෙමින්, ඉතා හොඳින් කියවන්න):
විකිපීඩියාවට අන්තර්ජාලය තුළ හිමි වී ඇති තත්වය කියා පාන එක සාධකයක් එහි Alexa Rank එක.

මගේ අත්දැකීමෙන් දුටු අනෙක් කාරණය... මම ලියූ Asia-Pacific Telecentre Network ලිපිය නිදහස් කරලා මිනිත්තු 15ක් ඇතුළත Google හි සූචිගත වෙලා සෙවුම් ප්‍රතිපල වල දෙවන පිටුවටත් පැමිණීම...! O_o

Thursday, March 18, 2010

නයිට් ක්ලබ් එකේ...

මට මෑතකදි පොඩි පහේ චාන්ස් එකක් සෙට් වුණා අපහු වතාවක් GTA Vice City සෙල්ලම් කරන්න. ඒ අතරෙදි මාර සිරා දෙයක් දකින්න ලැබුණා. ඉතිං ඒකත් ඔන්න ඔහෙ දානව බ්ලොග් එකේ................

මේ කියන නගරේ තියෙනවා Malibu Club කියලා මාර සිරා නයිට් ක්ලබ් එකක් නොහොත් රාත්තිරි සමාජ ශාලාවක්. හැබැයි මේකේ නං මහ ගිනි දවාලෙත් තැටිජොකී පාටි තියෙනවා... :D

ඉතිං පොඩි පහේ වැඩකට සෙට් වෙලා ඉන්න අතරෙ මේක ඇතුලටත් රිංගුවා මම. මෙන්න වැඩක්...! O_o පිංතූර වලින්ම බලන්ට මරු දෙයක්....... (පිංතූර පැහැදිලිව බලන්න පිංතූරෙ ක්ලික් කරන්න)

මේකෙ වමේ සිට දකුණට බැලුවොත් ඉන්නවා ගිනි නිවන භටයෙක්, කම්කරුවෙක්, මැරයෙක්, හමුදා භටයෙක්, පොලිස් නිලධාරියෙක්
ඒ දිහා බලාගෙන ඉන්නෙ අපේ starting character එක, Tommy Vercetti

මේ කට්ටිය එකට සෙට් වෙලා පණුගාය වන්නම නටනවා. :P

නිකමට මොනව වෙයිද කියල බලන්න ආසාවට Mr. Vercetti ලවා දෙන්නෙක්ව පරලෝ සැපත් කෙරෙව්වා. ඕක මහලොකු දෙයක් නෙමෙයිනේ.... මවුස් එක ගෙවෙනකං ඒකට අනින්නයි තියෙන්නේ.. :D

අනුමාන කළ පරිදිම එය සිදු විය! ඉතිරි තුන්දෙනා කිසිත් සිදු නොවූ පරිදි සිය කාර්යය කරගෙන යති!!


Vice City සෙල්ලම් කරල තියෙන අය දන්නව ඇතිනේ.... ඔය නගරේ කාකි ඇඳුමක් පේන තෙක් මානෙක ඉඳලා මේ වගේ ගේමක් දුන්නොත් සිද්ධ වෙන දේ.................. තරු එකායි දෙකායි ඊට පස්සේ මේලෝක සිහියක් නැතුව එළවනවා පස්සෙන්..... :S

මට නම් මේක දැකලා මාර හිනා (Vice City vs Sri Lanka කියලා පොඩි සංසන්දන පාරක් දැම්ම හිතින්).... ;-) මේ පාස්කු බිත්තරයක් නොහොත් ඊස්ටර් එගක් ද? නැත්තම් අහඹුවක්ද?

මේක ටිකක් වෙලා බලාගෙන හිටියා ක්ලබ් එකේ සිංදුවත් අහගෙනම. මගේ ලියමන එපා වෙන සයිස් එකේ වැඩකට නැති එකක් කියල හිතෙනවනම් Malibu Club එකේ නැටවෙන සිංදුව අහන්ටකෝ........


Old is gOld කියන්න වගේ මේක 1984 අවුරුද්දේ අතිශයින් ජනප්‍රිය වුණු ගීතයක්.

එහෙනම් අපි ගියා..... ගුඩු නයිට්.....! Ciao............!!!!!!!!!!!!!!

Monday, March 1, 2010

අනං මනං... 2010 ජනවාරි, පෙබරවාරි...

මගේ අහවල් කාව්‍යකරණය ගැන ලිව්වට පස්සෙ ගොඩක් දවසකින් මේ පැත්තෙ එන්න බැරි වුණා. මාර්තු අවසාන වෙන්න කලියෙන්වත් මොනව හරි නොලිව්වොත් සිංහල බ්ලොග් කියවනයෙන් මාත් විසික් වෙයි එළියට. කොත්තුවෙන් නම් තාම දොට්ට දාලා නෑ.. :)
(මාස තුනක් ඇතුළත නොලිව්වොත් සිංහල බ්ලොග් කියවනයෙන් එළියට... :| මාස දෙකක් ඇතුළත නොලිව්වොත් කොත්තුවෙන් එළියට.... :| )

මට මතකයි 2009 අවුරුද්දෙත් බ්ලොග් ලිවිල්ල පටන් ගත්තෙ ටික දවසක නිහැඬියාවකට පසුව. සුපුරුදු පරිදි තාක්ෂණික සටහනක් ලියන්න අවශ්‍ය කරන වස්තු බීජයක් ලැබුණෙත් නෑ. පහුගිය දවස් වල මට එක එක ජාතියේ වැඩ තිබුණ නෙව... විභාගයක් තිබුණා... ඉතිං මගේ පුරුදු වැඩ ටිකක් අතමක කරලා 'ගිරවාරූඪය' ට මාරු වුණා. විභාගේ ගැන නම් මතක් කොරනකොටත් බයයි වගේ... හාපෝයි...! විභාගේ 'to be continued' කියල ඒ අතර කාලේ ඡන්දෙකුත් තිබුණනේ.... ඔන්න ඉතිං ජනාධිපතිකමට සුදුසුයි කියල මට හිතුණු පුද්ගලයට මමත් අත පුරෝල පොඩි කතිරයක් ගහල ආවා. :)

දැන් ඉතිං කැම්පස් ජීවිතේ අන්තිම මාස හය... මේ කාලේ අපට තියෙනව ආධුනිකත්ව වැඩසහටනක්...හුරු පුරුදු විධියට කිව්වොත් අපේ internship programme එක. ඉතිං ජනවාරි 25 මමත් ජැන්ඩියට ඇඳලා ගියා ඉන්ටර්වීව්... මගේ ජීවිතේ පළවෙනිම ජොබ් ඉන්ටර්වීව් එක... මම ඒක සමත් වුණා! මාර්තු 02, ඒ කියන්නෙ හෙට උදේ ඉඳලා මට යන්න තියෙන්නෙ අළුත් ගමනක්... අළුත් පරිසරයක්... අළුත් මුහුණු... ලංකාවේ ලොකු ම තැනක පොඩි ම මනුස්සයෙක් විධියට මම හෙට ඉඳලා වැඩ! :)

ඊට පස්සේ ආයෙමත් විභාගේ... ඉතිරි ටිකත් ඩෙෆා රිපීට් කියලා දැනගෙනම නියම නෑමක් නෑවා... විභාගේ තමා අපේ අභාගේ. :( System and Network Administration නම් නාගන්නෙ නැතුව කරගත්තා... ලේසි පාසු එකකට තිබුණෙ ඒක විතරයි මම හිතන්නේ... :D (ලිනක්ස්ට ජය වේවා!)

විභාගේ අස්සේ තවත් වැඩකට ගියානේ... පෙබරවාරි 10 හවස දෙකට Human Resource Management ප්‍රශ්නපත්‍රයකුත් තියෙද්දි උදේ 9ත් 10ත් අතර සජීව ගුවන්විදුලි වැඩසටහනකටත් සහභාගි වුණා... O_o
ඉන්ටර්නෙට් සම්පත් භාවිතය -- මේ වැඩසටහන කොළඹ විශ්වවිද්‍යාලයීය පරිගණක අධ්‍යයනායතනයේ තවත් සද්කාර්යයක්... :) නිදහස් අධ්‍යාපනයෙන් අප ලබන ජවය මුදා හරින එක විධියක් තමයි ඒ... අප ලබන දැනුම සමාජය වෙතත් ලබා දීම... ශිෂ්‍ය සහභාගීත්වයෙන් හැම බදාදාවකම පෙරවරු 9.00 ට සජීව ව විකාශය කෙරෙන මේ වැඩසටහන් මාලාවේ පෙබරවාරි 10 බදාදා වැඩසටහන ගැන විශේෂයෙන් සඳහන් කළේ ඒකෙ තේමාව සිංහල බ්ලොග්කරණය නිසා... වැඩි විස්තර සිංහල බ්ලොග්කරුවන්ගේ ගුග්ල් සමූහයෙ ඇති වුණු මෙන්න මේ කතාබහෙන් දැනගන්න පුළුවන්. එදා වැඩසටහන මෙතනින් බාගන්නත් පුළුවන්. :)
එදා තවත් පාඩමක් ඉගෙනගත්තා... පූර්ණකාලීනව ලිනක්ස් වලට මාරු වීමේ ප්‍රතිපලයක් ලෙස මට වින්ඩෝස් සම්බන්ධ සමහර දේ අමතක වෙලා කියල දැනුණෙ අසන්නෙකුගෙන් ගැටළුවක් ඉදිරිපත් වුණාමයි... O_o අන්තර්ජාලය තිබුණු නිසා හිර නොවී යංතං ෂේප් කරගත්තා... :D



ඉතිං විභාගෙත් ඉවර වෙලා නිදහසේ ඉන්න කාලේ තව පොඩි පොඩි වැඩ ටිකකට අත ගැහුවා... අපේ ඇන්ත්‍රැක්ස් අයියගේ අළුත් ව්‍යාපෘතියක් තියෙනවා... පරිගණක ආරක්ෂාව ගැන දන්න සිංහලෙන් කතා කරන්න... සිංහල හැකර්ලාගේ තිප්පොල... ඉතිං ඒකටත් පොඩි සහයෝගයක් දෙනවා මේ දවස් වල... තාම සෑහීමකට පත් විය හැකි මට්ටමේ සහභාගීත්වයක් දෙන්න පුළුවන් වුණේ නෑ. :( ඉතිං... මෙන්න තියෙනවා අපි කතාබහ කරන තැන. දැන්ගන්න ඕනේ දෙයක් තමයි මේක සුදු තොප්පිකාරයින්ගෙ තැනක්... "යාළුවගෙ ඊමේල් ගිණුමට හොරෙන් පිවිසෙන්නෙ කොහොමද?" ඒ වගේ දේවල් ගැන කතා කරන්න වෙනින් තැනක් හොයාගන්න. "කොහොමද අපේ ඊමේල් ගිණුම ආරක්ෂා කරගන්නේ?" මෙන්න කතා කරන්න තැන...! තව,... පරිගණක වයිරස් ගැන... වින්ඩෝස් පාවිච්චි කරන අයට ලොකුම කරදරේ ඕකනේ... එන්න ඇවිත් සෙට් වෙන්න... අපි මේ දේවල් ගැන දන්න සිංහලෙන් කතා බහ කරමු... ඉගෙනගනිමු.... http://hacker.lk

පහුගිය දවස් වල මම වැඩියෙන්ම මහන්සි වුණේ මොකකටද කියන පුරස්නෙට නම් එක එක උත්තර තියෙනවා... වඩාත්ම හරි උත්තරය දන්න කස්ටිය සද්ද නැතුව ඉන්නවා හොඳයි... :P :D



පෙබරවාරි 13 නම් විශේෂයෙන් සඳහන් කරන්න ඕනෙ දවසක්. අපේ කැම්පස් එකේ සම්ප්‍රදායක් විධියට පළමු වසර විනෝද චාරිකාව යොදාගන්නෙ හන්තාන ආශ්‍රිතව. මේ දක්වා ඔය ගමන ගිහිපු අපේ කිසිම බැච් එකකට කිසිම උපද්‍රවයක් සිද්ධ වුණේ නෑ.... නමුත් මේ වතාවේ අපේ පළමු වසර පොඩ්ඩන්ට පේරාදෙණිය විශ්වවිද්‍යාලයේ 'මහා' ශිෂ්‍ය සංගමයෙන් බොහොම නින්දිත සහ දරුණු විධියට සලකලා තියෙනවා... වැඩි විස්තර මෙතනින් කියවන්න පුළුවන්. මේ සම්බන්ධයෙන් විරෝධතාව දක්වලා වෙනම බ්ලොග් සටහනක් ලියන්න මම අදහස් කළත් ඒකට වෙලාවක් ලැබුණෙ නැහැ.


මේ ගැන මගේ සගයින් එක්ක කතා බහ කරද්දි දැනගන්න ලැබුණා වෙනත් විශ්වවිද්‍යාල වල සිසුන්ටත් මේ කරදරයටම මුහුණදෙන්න සිද්ධ වුණු බව... අපි දේශපාලන පක්ෂ වලට කඩේ යන්නෙ නැති නිසා අපිව ඇලජික් වගේ ඇති...

මෙන්න මේකත් බලන්න... ත්‍රස්තවාදය පිළිබඳ විශේෂ උපාධියකුත් පේරාදෙණියෙ ඇති මං හිතන්නේ...
 

පේනව ඇතිනේ... පේරාදෙණියේ 'මහා' ශිෂ්‍ය සංගමයේ 'මහා ලොකු' අයියලා නිදහස් අධ්‍යාපනයෙන් ලද ජවය මුදා හැර තියෙන හැටි... ඉතින් මේ ගැන වැඩි commentary දෙන්න මම කාලය වැය කරන්නෙ නෑ.. කියවන ඇත්තෝම සිය නැණ පමණින් වටහා ගනිත්වා..!

එකක් ඉවර වෙනකොට තවත් එකක්... උතුරේ ත්‍රස්තවාදය නැත්තටම නැති කළා වගේම හන්තාන පැත්තේ ඉවර කරන්න තවත් ඒ වගේම මෙහෙයුමක් අතිගරු ජනාධිපතිතුමාට ඉතිරි වෙලා තියෙනවා.... මේකත් කියවලම බලන්න.

තවත් වැදගත් කාරණාවක්... පේරාදෙණියෙ ඔය 'මහා' ශිෂ්‍ය සංගමයත් එක්ක ඇයි හොඳයියක් නැති පිරිසකුත් ඉන්නවා... මම දන්න තරමින් ඒ අයට කියන්නෙ අලයො කියලා... අලයො අහිංසකයි... ඒ නිසා පේරාදෙණියෙ ඉන්න අල පිරිසට මේ සිද්ධිය සම්බන්ධයෙන් ගරහන්න එපා... උන් නිර්දෝෂයි. (මං වැරදි නම් පේරා අලයෙක්ම ඇවිල්ලා නිවැරදි කරන්ඩෝ.... :) )



පෙබරවාරි 13 Lirneasia AT Tester Soft Launch සඳහාත් සහභාගි වුණා. මට දැන් ඒ ගැන වෙනමම සටහනක් ලියන්න කාල වේලාව මදි... සවිස්තර සටහනක් ලෙස මාලින්ද ලියූ සටහනින් සෑහීමකට පත් වෙන්න පුළුවන්. :-)
වැදගත්ම කාරණාව තමයි ලංකාවේ broadband අන්තර්ජාල සබඳතා ලබා දීමේ ගුණාත්මක ප්‍රමිතියක් තවම නැහැ. එහෙමත් නැත්තම්, ගුණාත්මක සේවාවක් ලංකාවේ අන්තර්ජාල පාරිභෝගිකයන්ට ලැබෙන්නෙ නැහැ. මේ සම්බන්ධව පාරිභෝගිකයන් ලෙස හඬක් නගන්න අපට අවශ්‍ය කරුණු කාරණා, සාක්ෂි, සාධක පිළිබඳව අදාළ පර්යේෂණ පවත්වනවා Lirneasia ආයතනයෙන්. ඒක ඒ අය ලංකාවේ අන්තර්ජාල පාරිභෝගිකයා වෙත කරන ලොකු උදව්වක්. ඉතින්.. මේ පර්යේෂණ වලට සහය දීලා ලංකාවේ අන්තර්ජාල සේවා වල දියුණුව වෙනුවෙන් යමක් කිරීම තමයි අන්තර්ජාලය භාවිත කරන්නන් ලෙස අපෙන් සිදුවිය යුතු දේ. :)

පෙබරවාරි 14 වැනිදා ඔය AT Tester එකේ source code එකත් එක්ක ටිකක් ලව් කළා... මට හීනියට වගෙ අදහසක් ඇවිත් තියෙනවා ඒ code එක අධ්‍යයනය කරලා, ලිනක්ස් වල වැඩ කරන්න පුළුවන් AT Tester එක්ක හදන්න. බලමු... වෙලාව තිබුණොත් තමා....



ලිවිය යුතු වැදගත් දෙයක් තව ලැබුණෙ නෑ... ආ.... තංගල්ල පැත්තෙ පොඩි ටුවර් එකක් ගියා... දේශීය - විදේශීය හැමෝටම කියවන්න පුළුවන් වෙන්න ඒක ලිව්වෙ කඩ්ඩෙන්.... ගිහින් කියවලම බලන්න.... වැඩි හරියක්ම තියෙන්නෙ පිංතූර... :)

මගේ අද ලියමන මෙතනින් ඉවරයි... හෙට උදේ නවයෙන් මතු වැඩ කරන්න ලැබෙන කාර්යාල වටපිටාවත් එක්ක බ්ලොග් ලියන්න ඉස්පාසුවක් ලැබෙන එකක් නැති වෙයි... දන්නවනේ... රාජකාරිය = දේවකාරිය :D

ඉතිං... කස්ටිය  ඔය පහළින් තියෙන කොටුවේ ගල්-මුල්-මල්-එකඟතා-නොඑකඟතා මේ මොනව හරි ලියල යන්න..... ඔන්න මං කැපුනා... චෙරියෝ....! :D

Wednesday, December 30, 2009

ව්‍යාවසාදනය – bash කාව්‍යකරණයේ අත්ගුණය


කාව්‍යකරණයක් ගැන නොවැ මං කියල තියෙන්නේ... කලා රසයෙන් යුත් කවි දෙපදක් රස විඳින්න හිතාගෙන මේ පැත්තෙ ආපු අයගෙන් මුලින්ම මං සමාව අයදිනවා... නෝනාවරුනි, මහත්වරුනි.... ඔබේ බලාපොරොත්තු කඩවෙනවා. :-)

පරිගණක ක්‍රමලේඛණයට අධික ඇල්මක් දක්වන නිසා ඒක මට දැනෙන්නෙ කාව්‍ය රචනයක් වගේ.... මම දන්නෙ නෑ අනිත් අයටත් එහෙමද කියල. එදිනෙදා ඇති වෙන ලොකු - පොඩි ගැටළුවකදි ශිල්ප දාලා program කෑල්ලක් අටවගන්න එක පරිගණකත් එක්ක ගෙවෙන මගේ ජීවිතේ සාමාන්‍ය දෙයක් බවට පත් වෙලා. ඇත්තෙන්ම මම පරිගණක ක්‍රමලේඛණයේ අපූර්වත්වය විඳින්න පුරුදු වෙලා තියෙනව කිව්වොත් නිවැරදියි, programming is passion!

එතකොට ව්‍යාවසාදනයක් (disinfect) ගැන කියල තියෙන්නෙ මොකක්ද? මේ සටහන මගේ පසුගිය සටහනට සම්බන්ධයි. ඒකෙ ඉතිරි කොටස කියමුකෝ. මෙතනින් එහාට යන්න කලින්, මම මීට කලින් ලියූ බ්ලොග් සටහන වරක් කියවල මේ පැත්තෙ එන්න පුළුවන් නම් ඉතාම හොඳයි. මීළඟ අභියෝගය වුණේ malware හේතුවෙන් ආසාදිත වී තිබුණු ගොනු ටික හොයා ගන්න එකයි, වෙබ් අඩවිය සම්පූර්ණයෙන් ශුද්ධ කරන එකයි. (ආසාදිත ගොනු ටික කිව්වට පසුව සොයා බැලුවම 602ක්!)

මම කළ ප්‍රතිකර්මය කියන්න කලින් මම මේකෙ මුල් කොටසට ආපු ප්‍රතිචාර ගැන යමක් සඳහන් කරන්න හිතුවා. ලැබුණු ප්‍රතිචාර වලින් මම තෘප්තිමත්. එහෙම නොවුණනං දෙවෙනි කොටසක් ලියවෙන්නෙ නැහැනේ. :-)  හැබැයි, මේ වගේ තාක්ෂණික ලියවිලි වලදි මම ප්‍රතිචාර වලින් බලාපොරොත්තු වෙනවා තවත් යමක්. ඒ මගේ අඩු පාඩු. මම පොට වරද්දාගෙන තියෙන තැන්... නොමග ගිය තැන්... සටහන් අන්තර්ගතයෙ වැරදි... වගේ දේවල්. ඒ විතරක් නෙවෙයි සමහර අය වැරදි වැටහීමක් ඇති කරගෙන තිබුණා මේ ආසාදිත වෙබ් අඩවිය ශාකුන්තල.com කියලා. ඒක එහෙම නැහැ, ශාකුන්තල.com බොහොම සුවසේ තියෙනවා. ජනවාරි පළවෙනිදා ස්වයංක්‍රීවයම දියත් වෙන අළුත් නැවක් ඒක. ආසාදිත වෙබ් අඩවිය මට අයිති එකක් නෙවෙයි. ඒකෙ නම රහසක්. ;-)

ඉතින්... මම ලිව්ව එක ආපහු නිවී හැනහිල්ලෙ කියවනකොට මට දැනුණා අවුලක්. අන්තර්ගතය, නිගමන... ඒවයෙ අවුලක් පේන්න නෑ. අවුල තියෙන්නේ මම ගිය පාර.

අපේ පැත්තේ වලි වල සුලභ දෙයක් -- එකෙක් ගුටි කනවා තව එකෙක්ගෙන්... දැන් ගුටි කාපු එකාට ඕනේ පුළුවන් ඉක්මනින් ආපිටට නෙළන්න. සමහර විට ආපිටට නෙළන්න කල්ලි පිටින් යන්නෙ ගුටි කාපුවයෙ ඉදිමුම්වත් බහිනකම් ඉන්නෙ නැතුව. ඉතිං මේ වෙබ් අඩවි සංසිද්ධියෙදිත් මම කරල තිබුණේ එහෙම දෙයක්. අපේ වෙබ් අඩවියට වෙච්ච හානිය ගැන මුලින් තක්සේරුවක් කරනවා වෙනුවට මම කළේ වෙබ් අඩවියට ප්‍රහාරය එල්ල කළේ කවුද,.. කොහෙන්ද,... ආපිටට නෙළන්නෙ කොහොමද... ඔන්න ඔය වගේ විකාර හොයපු එක. මාර ඇඩ්මින් නේද? :P (හැබැයි ඒ සෙවිල්ල යම් තරමකින් හෝ වැඩක් ඇති දෙයක්)

හරි... දැන් ආපහු එමුකො මාතෘකාවට. හැම index ගොනුවක්ම සහ හැම javascript ගොනුවක්ම ආසාදනය වෙලා තියෙන බව සොයාගන්න පුළුවන් වුණු නිසා මුලින් මගේ අදහස වුණේ උපස්ථයකින් (backup) වෙබ් අඩවිය යළි පිහිටුවන්නයි. තිබුණු අළුත්ම උපස්ථයත් සෑහෙන පරණ ගතියක් දැනුණු නිසා මට backup වැඩේ හිතට හරි මදි. කොහොමටත් Backup & Restore මට එච්චර දිරවන මාතෘකාවක් නෙවෙයි.

ඒ නිසා මම කල්පනා කළා PHP වලින් සෙල්ලමක් දාලා ස්වයංක්‍රීයව ආසාදිත ගොනු ටික හොයාගෙන ඒවයෙ තියෙන ආගන්තුක කේත කොටස් ඉවත් කරන්න ක්‍රමයක් හදන්න. ආසාදනයේ ස්වභාවය අනුව මේක කරන්න පුළුවන් දෙයක්. නමුත්, PHP වලින් කරනවනම් ආරක්ෂාව ගැන තවදුරටත් හිතන්න වෙනවා. ඒකත් අමාරු දෙයක් නෙවෙයි.

Web hosting ආයතනය විසින් ssh ප්‍රවේශ පහසුකම් සලසා තිබුණු නිසා ssh හරහා වෙබ් අඩවියට පිවිසිලා මේ කාරණය ඉටු කරගන්න පුළුවන් බවත් මට වැටහුණා. මෙහෙයුම් පද්ධතිය විධියට ලිනක්ස් පාවිච්චි කරන මට bash එක්ක වැඩ කරනවා කියන්නේ අතිශයින්ම සාමාන්‍ය දෙයක්. ssh ප්‍රවේශ පහසුකමත් තියෙන නිසා, පරිගණකයත් එක්ක කතා බහ කරන්න මම නිතර පාවිච්චි කරන bash scripting මේ වැඩේට PHP වලට වඩා සුදුසු බව තේරුම් ගන්න මට වැඩි වෙලාවක් ගියේ නැහැ. අවසානයේ 'ඇන්ටිවයිරස්' එක bash පාවිච්චි කරලා linux shell script එකක් (මගේ වචන වලින් නම් bash කාව්‍යයක්) විධියට සකස් කරන්න තීරණය කළා.

අපි ලියන ක්‍රමලේඛයක අහම්බෙන් සිදු විය හැකි එක කුඩා විචල්‍යයක (variable) වරදක් නිසා සමහර විට පද්ධතියේ සියළු දත්ත ක්ෂණයකින් විනාශ වෙන්න පුළුවන්. ඒ වගේ අවදානමක් ගන්න ඕනේ නැති නිසා මම ලියන ක්‍රමලේඛය පරීක්ෂණ ධාවනයට (test run) ලක් කරන්න වෙබ් අඩවි ගොනු සියල්ල මගේ පරිගණකයට පිටපත් කරගත්තා.

$ ssh user@mysite.com

දැන් අපි සර්වර් එක ඇතුළේ...

$ tar cvfj mysite.tar.bz2 mysite/
$ exit

Compressed archive එකක් නිර්මාණය කළා. දැන් ඒක මගේ පරිගණයට ඩවුන්ලෝඩ් කරගන්න ඕනේ...

$ scp user@mysite.com:/home/user/mysite.tar.bz2 /home/shaakunthala/

දැන් පැක් එක ලිහන්න ඕනේ...

$ tar xvjf mysite.tar.bz

දැන් ලිහපු පැක් එක පැත්තක තියෙද්දි මගේ සුපුරුදු එඩිටරය වන vim පාවිච්චි කරලා shell script එක ලිවීම ආරම්භ කළා. ලියන්න කලින් අවශ්‍යතාව අවබෝධ කරගන්න ඕනේනේ... මෙන්න මෙහෙමයි ආසාදනයේ ස්වභාවය:
  • ආසාදිත ගොනු වල ආගන්තුක කේත කොටස තියෙන්නේ ගොනුවෙ අවසාන පේළිය ලෙස.
  • ආගන්තුක කේත කොටස තැනින් තැනට වෙනස්. නමුත් පොදු රටාවක් ලෙස එහි පහත දැක්වෙන පාඨ කොටස් හඳුනාගන්න පුළුවන්. ඒ නිසා සංකීර්ණ regexp ලිවීම අනවශ්‍යයි.
    • GNU GPL
    • window.onload
    • .replace
  • ආසාදනය වෙලා තිබුණෙ index ගොනු සහ javascript ගොනු පමණයි. (මෙය නිවැරදි තක්සේරුවක් කියා පිළිගන්න අපහසු දෙයක්. මේ නිසාත්, අපේ වෙබ් අඩවියෙ ශ්‍රව්‍ය-දෘෂ්‍ය වගේ විශාල ගොනු නොතිබුණු නිසාත් සියළුම ගොනු පරීක්ෂා කෙරෙන script එකක් ලිවීමෙන් වරදක් වෙන්නෙ නැහැ)
මේ කාරණා සැලකිල්ලට අරගෙන මුළු වෙබ් අඩවියම එකවර ශුද්ධ කරන script එකක් ලිවීම බොහොම පහසු කාරණයක් වුණා. bash functions සහ find -exec / xargs අතර පරහක් තියෙන නිසා මට script එක කොටස් දෙකකට වෙන් කරන්න සිදු වුණා.

sitefix.sh
#!/bin/bash
# Author: Sameera Shaakunthala

rm fixlog.txt
rootdir=`pwd`/mysite/
sup=`pwd`"/fixfile.sh"
find $rootdir -exec $sup {} \;
echo "JOB DONE!"

fixfile.sh
#!/bin/bash
# Author: Sameera Shaakunthala

echo "Processing file: "$1
code=`tail --lines=1 $1 | grep "GNU GPL" | grep window.onload | grep .replace`
l=`echo $code | wc -m | awk '{ print $1 }'`

if [ $l -ne 1 ]
then
 lc=`wc -l $1 | awk '{ print $1 }'`
 lc=`expr $lc - 1`
 head $1 -n $lc > tempfile.tmp
 mv tempfile.tmp $1
 echo "File "$1" has been fixed!" | tee -a fixlog.txt
fi

දැන් පරීක්ෂණ ධාවනය. මේක හරි ගියොත් වැඩේ තිතටම හරි.

$ chmod +x sitefix.sh fixfile.sh
$ ./sitefix.sh

මේක අහවර කරලා fixlog.txt ගොනුව පරීක්ෂා කරල බැලුවා.... ආසාදිත ගොනු 602ක්! අහඹු ලෙස ගොනු කීපයක් පරීක්ෂා කරල බැලුවා. ඒ හැම එකක්ම සුද්ධයි. යංතං අටවගත්ත වයිරස් ස්කෑනරේ සාර්ථක වෙලා! දැන් තියෙන්නෙ සර්වර් එකට මගේ දෙකඩ script එක පටවලා (upload) ක්‍රියාත්මක කරන එක.

$ scp sitefix.sh fixfile.sh user@mysite.com:/home/user
$ ssh user@mysite.com
$ chmod +x sitefix.sh fixfile.sh
$ ./sitefix.sh

අවසාන ප්‍රතිපලය වුණේ මිනිත්තු කිහිපයක් ඇතුළත අපේ වෙබ් අඩවිය සාර්ථක ලෙස ව්‍යාවසාදනය වීම. සියළුම malware කොටස් ඉවත් වී ඇති බව තහවුරු කර වුණේ antivirus මෘදුකාංග මගින් අපේ අඩවිය තවදුරටත් අවහිර නොකරන බව දැන ගත් විටයි. කොහොමද bash කාව්‍යකරණයේ අත්ගුණය? :-)

Hallelujah!

මේ සියල්ල සිද්ධ වුණේ දෙසැම්බර් 27 අළුයම් කාලයේ. මම ලියූ කේතය මගේ මිත්‍රයෙකුටත් ප්‍රයෝජනවත් වුණා. ඔහුගෙ වෙබ් අඩවියකුත් මේ ප්‍රහාරයටම ලක් වෙලා කියල ආරංචි වුණා. ඒක අපූරුවට වැඩ කළා ලු!

අද සටහන අවසාන කරන්නෙ බොහෝම නරක ආරංචියක් එක්කයි. මම භාෂා පරිවර්තකයෙක් නෙමෙයි... ඒ නිසා සිංහලෙන් ලියන්නෙ නෑ මේක >> ක්ලික් කරලම බලන්න...!


අවසානයේ කපිතන් ශාකුන්තල විසින් අනෙක් කපිතන්වරුන්ගේ හා නැවියන්ගේද උපකාර ඇතිව අහවල් නෞකාව බේරා ගන්නා ලදී. හිකිස්! :D

Thursday, December 24, 2009

Hacker ප්‍රහාරයක්...?


වෙබ් අඩවියක් පරිපාලනය කරනවා (website administration) කියන්නෙත් හරියට නැවක කපිතන් තනතුරේ ඉන්නව වගේ වැඩක්. හැම දෙයක් ගැන ම හැම ආකාරයකින් ම විමසිල්ලෙන් ඉන්න ඕනේ. ඇතුළතින් - පිටතින් දෙපැත්තෙන්ම එන සතුරු ප්‍රහාර වලට මුහුණදෙන්න ඕනේ... අන්තර්ගතය ගැන බලන්න ඕනේ... සෙවුම් යන්ත්‍රත් එක්ක තියෙන පළහිළව් විසඳන්නත් ඕනේ....
වෙබ් අඩවියෙ ප්‍රතිපත්තිත් (policies) එක්ක මේ වැඩ රාජකාරි ප්‍රමාණය  අඩු වැඩි වෙන්නත් පුළුවන්.

හරි.... එමුකො මාතෘකාවට. මගේ පරිපාලනය යටතෙ තියෙන එක වෙබ් අඩවියක් මෑතකදි හදිසියෙම අකර්මණ්‍ය වුණා. වෙබ් අඩවියට ගියාම සුදු පාට පිටුවක පෙන්නනවා දෝෂ පණිවුඩයක්... index.php ගොනුවෙ 38 වෙනි පේළිය... < ලකුණ තමයි අවුලට මුල කියල ඒ පිටුවෙ කියන්නේ. මේ අවුල දැක්ක සැණින් මට දැන්වූ බ්‍රයන් වෙත මගේ ස්තුතිය!

ඉතින් මමත් මේ ගැන සොයා බලන්න Filezilla මෘදුකාංගය පාවිච්චි කරලා FTP හරහා වෙබ් අඩවියෙ ගොනු තියෙන ඩිරෙක්ටරියට පිවිසුණා. මේ වෙබ් අඩවිය CMS එකක් භාවිතයෙන් නිර්මාණය කළ එකක්. index.php ගොනුව පිරික්සා බැලුවාම අමුතු දේවල් කීපයක්ම දකින්න ලැබුණා.

සාමාන්‍යයෙන් අපි PHP කේත ලිවීමේදී අපේ PHP කේත කොටස ලියන්නේ <?php හා ?> යන ටැග අතර. නමුත්, සුපුරුදු සම්මතයට පටහැනි වුණත්, අපේ php ගොනුවෙ තිබුණෙ ආරම්භක (<?php) ටැගය පමණයි.

PHP කේතයෙ අන්තිමේ HTML Script ටැගයක් තිබුණා. බොහොම භයංකර, බැලු බැල්මට hieroglyphs වගේ පේන අමුතු HTML/ Javascript කේත කෑල්ලක් ඒක.

එතකොට සම්පූර්ණ කේතය මෙන්න මේ වගේ:
<?php
/* වෙබ් අඩවියේ
PHP
කේත */

<script> // ආගන්තුක Javascript කේත කොටස </script>

හේතුනිර්ණය: දෝෂයට හේතු වුණේ PHP අස්සේ HTML තිබීම නිසා HTML කේත කොටසත් PHP කියල හිතාගෙන, අපේ සර්වර් එකේ PHP එන්ජිම මඤ්ඤං වීම.

---

ඉතින් මේක දැක්කාම මම කළ පළවෙනි දෙය මේ ගැන අනිත් පරිපාලකවරුන්ගෙන් (administrators) විමසීම. මේ කේතය ගැන ඒ කිසිවෙක් දැන සිටියෙ නැහැ.

එහෙනම්......
Hacker ප්‍රහාරයක් ද?

මගේ අනුමානය වුණේ මේ කවුරුහරි hacker කෙනෙකුගෙ වැරදුණු කුරුමානමක් කියලයි. මොකද අපේ වෙබ් අඩවිය අකර්මණ්‍ය කළා කියල කාටවත් අත්වෙන වාසියක් නැති නිසා. Phishing වගේ වැඩකට අපේ වෙබ් අඩවිය යොදා ගත්ත නම් ඒකෙන් ඔවුන්ට යම් වාසියක් ලබන්න අවස්ථාව තිබුණා.

කොහොම නමුත් අනිත් ඇඩිමින්ලා මේ ගැන නොදන්න නිසා (අනිත් අයගෙ දැනුවත් වීමකින්/ මැදිහත් වීමකින් තොරව සිද්ධ වුණු නිසා) මම ආගන්තුක HTML/ Javascript කේත කොටස විශ්ලේෂණය කිරීමේ අවශ්‍යතාව සඳහා මගේ පරිගණකයට පිටපත් කරගෙන, index.php ගොනුවෙන් ඉවත් කරලා ඒක save කළා. දැන් සයිට් එක බබා වගේ වැඩ.

හැබැයි.......... මගේ වැඩ එතනින් අහවර වෙන්නෙ නැහැ. මීළඟ පියවර සිද්ධියෙ අග මුල කොනක සිට සෙවීම. මෙන්න මෙහෙමයි අපේ වෙබ් අඩවියට ආසාදනය වෙලා තිබුණු විෂබීජය:



ඉතින්,... මේක එකපාර දැක්කාම මහ ලොකු පටළැවිල්ලක් වගේ.... බැලු බැල්මට ඇසෙම්බ්ලි වලින් ලිව්ව එකක් වගේ.... :P මේ කේතය පරීක්ෂා කරමින් ඉන්නකොට පැය විසි හතරක් ඇතුළත දෙවන වතාවටත් වෙබ් අඩවිය අකර්මණ්‍ය වුණ බව අහම්බෙන් දැනගන්න ලැබුණා.

සිද්ධ වෙලා තිබුණෙ කලින් සිද්ධියමයි. ඉතින් මම පෙර වතාවෙ කළ සැත්කම ම ආපහු කරලා මීට විසඳුමක් හොයන්න උත්සුක වුණා. කාලෙකට පස්සෙ පොඩි අභියෝගයක්! මේක කරදරයක් නෙමෙයි.... අභියෝගයක්....!! සතුටු විය යුතුයි ඒ ගැන.

---

දැනට සිද්ධ වුණු දේවල් ගැන පොඩි සාකච්ඡාවක් මෙතනම ඉදිරිපත් කරන්න හිතුණා. සාකච්ඡාවට සහභාගි වුණේ මගේ මස්තිෂ්ක අර්ධගෝල දෙක.... තනියට පාලුවට අනුමස්තිෂ්කයත් පිටුපස්සෙන් හිටියලු...... :D

මේ මගුල අටවපු කෙනා ඒක කරල තියෙන්නෙ වෙබ් පිටුවක මේ කේතය අඩංගු කරලා වෙබ් පිටුව පූරණය වෙන අවස්ථාවෙ ඒක පරිශීලකගෙ පැත්තෙන් ක්‍රියාත්මක කරවන්න. නමුත් අපේ php ගොනුවෙ අග වැසීමේ ටැග් එක (?>) නැති නිසා, සර්වරය පැත්තෙන් ආගන්තුක HTML කේත කොටසක් PHP කේතයක් ලෙසම සලකලා interpret කරන්න උත්සාහ කිරීමෙ අවසාන ප්‍රතිපලය වුණේ මුළු වෙබ් අඩවියම අකර්මණ්‍ය වීම.


එක්කෝ අපිත් එක්ක සෙල්ලම් කරන කෙනා/ bot එක ට index.php ගොනුවෙ සම්පූර්ණයෙන් කියවන්න හැකියාවක් නැහැ. එහෙම නැත්නම් කියවා අවබෝධ කර ගන්න හැකියාවක් නැහැ. කියවා අවබෝධ කරගැනීමේ හැකියාවක් තිබුණා නම් ඒකාන්තයෙන්ම මේ වැඩේ කරන්නෙ මනුස්සයෙක්. නමුත් මේ දෙ වතාවේදී ම php කේතයෙ ව්‍යූහය නොතකා එහි අගට අන්ධ ලෙස HTML කේත කොටසක් එක් කර තිබීම නිසා මගේ නිගමනය වුණේ මේකට වගකියන්න ඕනෙ bot එකක්ම විය යුතුයි කියන එක.

මම මෙතෙක් ලබලා තියෙන දැනුමේ හැටියටත්, අපේ වෙබ් අඩවියෙ ස්වභාවයත් අනුවත්, වෙබ් ගවේශකයක් හෝ වෙනත් උපක්‍රමයක් පාවිච්චි කරලා HTTP හරහා මේ ප්‍රහාරය ක්‍රියාත්මක කිරීම අතිශයින්ම අසීරු දෙයක්. (HTTP ගැන හොඳ අවබෝධයක් තියෙනව නම් Firefox පවා hacking tool එකක් කරගන්න බොහොම පහසුයි! -- ඒක වෙනම කතන්දරයක්)

මේ නිසා මගේ සැකය යොමු වුණේ වෙබ් අඩවිය ස්ථාපනය කරලා තියෙන සර්වරය වෙත. සර්වරය වෙත අනවසරයෙන් පිවිසෙන්න සමත් වුණු තක්කඩියෙකුගෙ වැඩක් වෙන්න ඇති! << හැබැයි මේ උපකල්පනයක් පමණයි.

---

අගමුල හෙවිල්ල පොඩ්ඩකට පැත්තක තියලා අර කේත කොටස මම ආපහු පරීක්ෂා කළා. බැලු බැලුමට ආධුනිකයෙකුගේ ධෛර්යය හීන කරවන විධියෙ සංකීර්ණ පෙනුමක් ඒකට තියෙන්නේ. නමුත් ඕනම සංකීර්ණ ගැටළුවක් සරල කොටස් වලට වෙන් කරගත්තාම පහසුවෙන් විසඳන්න පුළුවන්. අන්තිමේ බැලුවම ඒකත් බොහොම සරල දෙයක් නොවැ!

මුලින්ම කියවන්න පහසු ක්‍රමයකට කේතය පේළි කීපයකට වෙන් කරගත්තා,



මේ තියෙන්නෙ අමාරුකාර පේළිය,



ඒ පේළිය දිහා පරීක්ෂාකාරීව බලන්න... javascript පිළිබඳ එතරම් ම දැනුමක් අවශ්‍ය වෙන්නෙ නැහැ. :)



Javascript වල තියෙන replace නම් method එක තමයි මෙතන පාවිච්චි කරල තියෙන්නේ. (අහඹු ලෙස) විරාම ලක්ෂණ මුසු කිරීම මගින් සූක්ෂ්ම ආකාරයට සඟවන ලද පාඨ කොටසක්, ක්‍රමලේඛය ධාවනය වෙන අවස්ථාවේදී ඒ විරාම ලක්ෂණ ඉවත් කර නැවත ප්‍රයෝජනයට ගැනීමේ අපූරුව! හැබැයි ඉතිං මේක හරියට අගුළු දමාපු අල්මාරියක යතුර ඒකෙ යතුරුකටේම තියෙන්න අරිනව වගේ වැඩක්.

ඔය කේත කොටසෙ අවසාන ප්‍රතිපලය:



බැලු බැල්මටම පේනව නෙව මේක phishing වගේ වැඩකට පාවිචිචි කරන්න හදපු එකක් කියලා.... :)

මේ සම්පූර්ණ කේතය ධාවනය වෙද්දි වෙබ් ගවේශකය මත දිස් වන වෙබ් පිටුවේ තවත් javascript object එකක් නිර්මාණය වෙනවා. ඒ javascript කේතය තියෙන්නෙ/ තිබිය යුත්තෙ ඔය රතු පාටින් දීල තියෙන URL එකේ. නමුත් වෙබ් ගවේශකයෙන් මේ URL එක වෙත ගියාම දිස් වෙන්නෙ හිස් වෙබ් පිටුවක්. දෙවැනි ප්‍රහාරයෙදි මම පිටපත් කරගත් කේතයෙන් දැක්වුණේ මේ ව්‍යූහයම දරණ වෙනත් URL එකක්. පහත දැක්වෙන්නෙ attacks කීපයකින් පසුව මම එකතු කරගත් තවත් මෙවැනි URL දෙකක්.



---

මේ වෙබ් ලිපින මම පරීක්ෂා කර බැලුවා... මේ කේත කොටස shaakunthala.com හි මගේ වෙබ් අඩවියට දාලා ඇතැම් විට අවශ්‍ය පරිදි Wireshark පවා යොදාගෙන පරීක්ෂා කරල බැලුවා. ඒත් කොයි URL එකෙන් වුණත් ලබා දෙන්නෙ අපේක්ෂිත javascript කේතය නෙවෙයි, හිස් පිටුවක්.

ඒ හැම host එකකම port 80 හා 8080 හි වෙබ් සර්වර් ක්‍රියාත්මකව තිබෙනවා.

මේ port 80 හි ක්‍රියාත්මක වෙබ් සර්වර මත තියෙන අඩවි:




තිරපිටපත් මත ක්ලික් කරලා පැහැදිලිව බලන්න පුළුවන්

---

වෙබ් අඩවි ලඝු සටහන් (site logs) වලිනුත් කිසිම දෙයක් හොයාගන්න බැරි වුණා. ඒවයෙ මේ ගැන කිසි දෙයක් සටහන් වෙලා තිබුණෙ නැහැ. මේ කිව්වෙ server logs ගැන නෙවෙයි.

මේ ගැන කරන විමර්ශනය මම අතහැර දමා නැහැ. ඊට සමගාමීව මීළඟ පියවර අපට web hosting සේවාව සපයන ආයතනය සමඟ සාකච්ඡා කර විසඳුමක් සොයන එකත් කළ යුතුයි. තාවකාලික පැලැස්තර විසඳුමක් ලෙස index.php ගොනුවෙ අගට පහත දැක්වෙන කේත කොටස එකතු කළා. 

die();

මෙහෙම 'මැරියං!' කිව්වාම එතනින් එහාට කේතය interpret වෙන්නෙ නැහැ. ඒ නිසා අර කෙහෙල්මල් javascript එක interpret වෙන්නෙවත්,  වෙබ් ගවේශකය වෙත එන්නෙවත් නැහැ. වෙලාවෙ හැටියට මේ 'මැරියං!' එක පැලැස්තර විසඳුමක් හැටියට බොහොම ප්‍රයෝජනවත් වුණා.

---

අපේ වෙබ් අඩවිය දැන් කිසිම ගැටළුවකින් තොරව ක්‍රියාත්මකයි. හැබැයි නැවත නැවතත් ප්‍රහාරයට ලක් වෙමින් පවතිනවා. die() කියන PHP මෙතඩ් එක පළිහක් වගේ අපේ වෙබ් අඩවිය අකර්මණ්‍ය වෙන්න නොදී ආරක්ෂා කරනවා. බලමුකො ඒකෙත් අපූරුව!

හැබැයි, විමර්ශණ මෙතනින් නවතින්නෙ නෑ. index.php ගොනුවෙ permissions තිබුණෙ 664 (-rw-rw-r--) ලෙස. ඒක ටිකක් විතර අසාමාන්‍යයි වගේ (සාමාන්‍යයෙන් මේක 644 හෙවත් -rw-r--r--). මේ වෙබ් අඩවිය නිර්මාණය කළ අය වෙබ් අඩවිය සකස් කරන්න සහ host එකට upload කරන්න පාවිච්චි කරල තිබුණෙ වින්ඩෝස් මෙහෙයුම් පද්ධතිය හා ඒ පාදක කරගත් මෘදුකාංග. මේක වින්ඩෝස් වල තියෙන 'අල' permission system එක නිසා මෙතන එය 664 වුණා කියලයි මම හිතන්නේ.

මගේ ඊළඟ ඇටවුම වුණේ මේ permissions 600 (-rw-------) ආකාරයට සැකසීම. සරලව කිව්වොත්, දැන් index.php කියවන්න සහ සංස්කරණය කරන්න පුළුවන් සර්වරය පැත්තෙන් ඒ ගොනුවෙ අයිතිකරු ලෙස ඉන්න userට පමණයි. අනෙක් අයට කිසිම දෙයක් කරන්න බැහැ. කලින් තිබුණු ක්‍රමය අනුව අදාළ පරිශීලකටත්, කණ්ඩායමටත් මේ අවසර ලැබී තිබුණා. මේ නව permission සැකසීම මගින් මම සොයාගන්න අදහස් කළේ කලින් කිව්ව bot හෝ ස්වයංක්‍රීය උපක්‍රමය ධාවනය වෙන්නෙ අදාළ පරිශිලක යටතේම ද කියන එක.

මේ ආගන්තුක කේත කොටස javascript වීම නිසා ඇති වුණු සැකයක් ඔස්සේ  (මේ දැන් මොහොතකට පෙර) කළ සෙවීමකදී jQuery සහය සඳහා පාවිච්චි කරන jquery.js ගොනුවත් මෙලෙසම ආසාදනය වී ඇති බව දැනගන්න ලැබුණා. නමුත් එය Javascript ගොනුවක් නිසා කලින් වගේ ප්‍රතිපල බාහිරයට පෙනුනේ නැහැ. තවදුරටත් සොයා බැලීමේදී මුළු වෙබ් අඩවියෙම විවිධ තැන් වල තියෙන index.php ගොනු වලටත් javascript ගොනු වලටත් මෙය ආසාදනය වී ඇති බව සොයාගන්න හැකි වුණා. මට හීන්දාඩිය දාන්න ගත්තේ දැන්. තවදුරටත් සොයා බැලීමේදී මේ ගොනු බොහොමයක permissions තිබුණේ 644 (-rw-r--r--) ආකාරයෙන් බවත් නිරීක්ෂණය වුණා. මේ (permissions) නිරීක්ෂණයත් එක්කම මම කලින් ඡේදයෙ විස්තර කළ ඇටවුමේ ප්‍රතිපල ලැබෙන තෙක් බලා සිටීම අනවශ්‍ය කාරණයක් බවට පත් වෙනවා.

සියළුම නිරීක්ෂණ සලකා බලා මගේ අවසාන නිගමනය මෙය web hosting සේවාව සපයන ආයතනයේ වරදකින් සිදු වුණා කියන එක. වෙබ් අඩවි ලඝු සටහන් වලත් වැදගත් යමක් සටහන් නොවී තිබීම නිසා, මෙය HTTP හරහා වෙනත් පාර්ශවයක් අනවසර පිවිසීමක් ලබාගෙන සිදු කළ දෙයක් නොවෙයි කියන එක පැහැදිලියි.

---

අද සටහන අනවශ්‍ය පරිදි දීර්ඝයි කියා මට හිතෙන්නේ.... සුළුවෙන් හරි අපැහැදිලි තැනක් තියෙනවනම් comment එකක් දාන්න.... මම තවත් සරල කරලා විස්තර කරන්නම්.

ඒ වගේම මේ ක්ෂේත්‍රයේ අත්දැකීම් තියෙන අයගෙ උපදේශත් මේ ලිපියට ප්‍රතිචාර හෝ ඊමේල් ආකාරයෙන් බලාපොරොත්තු වෙනවා. (cyber forensics කියන්නෙ මේවද මන්දා.... :-/ )

විමර්ශණ කෙසේ වෙතත් නත්තලත් ළඟටම ඇවිත්.... ඉතින්... මගේ බ්ලොග් අඩවියට යන එන හැම දෙනාටම හැකර් ප්‍රහාර වලින් තොර සාමකාමී සුභ නත්තලක් වේවා කියල ඔන්න මගෙනුත් නත්තල් සුභපැතුම්! :-)





පසු සටහන (2009/12/25):
මේ සටහනේ අන්තර්ගතය ලෙස malicious source code කොටස් සඳහන් කිරීම නිසා විවිධ වයිරස් නාශක මගින් මගේ බ්ලොග් අඩවිය අවහිර කර ඇති බව දැනගන්න ලැබුණා. ඒවා කේත ලෙස නොව පාඨ ලෙස render වන නිසා හානි රහිතයි. මෙය වයිරස් නාශක මෘදුකාංග වල සිදුවූ වරදක් (False Positive).


Image credit: Ravin Perera

මෙය වළක්වන්න අදාළ source code සියල්ල පිළිබිඹු (images) ලෙස යොදන්න සිදු වුණා. නමුත් ඒ ඒ තැන් වලට අදාළ කේත කොටස් අවශ්‍ය නම් පහත දැක්වෙන සබැඳියෙන් බාගත කරගත හැකියි.

  http://www.4shared.com/file/180832826/c4c709df/altcodetxt.html
Password: malcode

(ඔබ වින්ඩෝස් මෙහෙයුම් පද්ධතිය පාවිච්චි කරනවා නම් මේ ගොනුව විවෘත කරන්න wordpad මෘදුකාංගය යොදාගන්න -- notepad පාවිච්චි කරන්න එපා)

යොමු:
http://forum.avast.com/index.php?topic=52588
http://groups.google.com/group/techkatha/browse_thread/thread/ab92437e0054fcec

මේ වින්නැහිය ගැන මට දැන්වූ සියළුම දෙනාට මගේ හෘදයාංගම ස්තුතිය පිරිනමනවා! :)

Merry X'mas to you all again!!

Tuesday, December 22, 2009

සිංහල බ්ලොග්කරුවන්ගේ සුහද හමුව


2009 දෙසැම්බර් 19, තවත් එක අපූරු දවසක්. මීට ටික කලකට පෙර සිංහල බ්ලොග්කරුවන්ගේ සංසදයෙ ගුග්ල් සමූහයේදී ඇති වුණු යෝජනාවක ප්‍රතිපලයක් විධියට සිංහල බ්ලොග්කරුවන්ගේ සංසදයෙ සුහද හමුවක් (ඇත්තෙන්ම පළවෙනි සුහද හමුව) 19 වෙනි දා කොළඹ Excel World හි පැවැත්වුණා. මේක තවත් ඔන්ලයින් මීටිමක් නෙවෙයි.... හැබැහින් හමු වීමක්. සියළුම සිංහල බ්ලොග්කරුවන්ගේ සහභාගීත්වය ඇතිව නොවුණත්, අන්තර්ජාලය හරහා අදහස් ඇසුරෙන් පමණක් දැන සිටි බොහෝ පිරිසක් දැක හඳුනාගෙන කතාබහ කරන්න අවස්ථාව ලැබුණා. බ්ලොග් ලියන අය විතරක් නෙවෙයි, බ්ලොග් කියවන අපේ පාඨකයින් කීපදෙනෙකුත් මේ සුහද හමුවට සහභාගි වුණා. දවල් 11 සිට හවස 1 දක්වා සිංහල බ්ලොග්කරණය ආශ්‍රිත සාකච්ඡාවක යෙදෙන්න අපට හැකි වුණා. (හැබැයි මං ආවෙ පරක්කු වෙලා :D ) අපේ කතාබහත් 1.20 විතර වෙනකම් ඇදිලා ගියා. ඊට පස්සේ ඉතිං සප්පායම් වෙලා පොඩි ආතල් එකක් ගන්නත් අමතක කළේ නෑ.

පිංතූර තුනක් විතර මෙතන දාන්නම්. Facebook එකේ ඉන්නවනම් ඉතිරි ටිකත් බලන්න පුළුවන් වේවි. ඒ විතරක් ම නෙවෙයි.... ඒවට ආපු මරු comments එක්කම බලන්න පුළුවන්. :D


වසරේ ඇට්ටර බ්ලොග්කරු -- සුපුන් සුදාරක සමඟ
(සුදාරකයා හිටියා පැත්තක -- "මෙහෙ වර" කියලා ඇදලා ගත්තා... මම ම ගත්තා පොටෝ එක! :D )



සමූහ ඡායාරූපය - ඡායාරූපය ගත්ත කෙනා හැර අපි ඔක්කොම මෙතන
ඒකෙත් හැටි!
(ඒ අස්සේ මට ඩැනීගෙන් හදිසි ප්‍රහාරයක්! :D )


සභාව හමුවේ බොහෝම හරවත් කථාවක් කළ කුෂාන් සසංක

ඉතින් එදා දවස බොහොම සුන්දර විධියට ගෙවිලා ගියා. අඩුපාඩුවකට තිබුණේ සංගීත භාණ්ඩ ටිකක්. කොහොම වුණත් අපේ කස්ටියට පරක්කු වෙන නිසා වැඩේ හවස තුනට අවසාන කරන්න සිද්ධ වුණා.

මේ කෙටි සටහන ලිව්වේ ඒ සුහද හමුව වෙනුවෙන්. මම බොහොම ආසාවෙන් කියවන බ්ලොග් අඩවි කීපයකම රචකයින් හැබෑවටම හමු වෙලා කතා බහ කරන්න අවස්ථාව ලැබුණා. ගුග්ල් සමූහයෙ කස්ටිය කතා වුණු හැටියට මම නම් හිතුවෙ එක්සෙල් වර්ල්ඩ් ඉඩ මදි වේවි කියල! ඒත් සහභාගීත්වය නම් මදි. සමහරවිට ඒ අයගෙ කාල සටහන් මේ හමුවට හරස් වෙන්න ඇති. කොහොම වුණත්..... එදා නම් අපූරු දවසක්! :-)

මේ ගැන ප්‍රවීන් ඉන්ද්‍රනාම ලියූ සවිස්තර ලිපියක් මෙතැනින් කියවන්න පුළුවන්.

Monday, December 14, 2009

මෝරුන් ලවා සිංදු බෑම


අද කියන්න යන්නේ තාක්ෂණය හා සංගීතය සම්බන්ධ කාරණයක්. මගේ දෛනික අත්දැකීම් අතරට එකතු වෙන තවත් එක අත්දැකීමක්. බළලුන් ලවා කොස් ඇට බෑවීම ට ආදේශකයක් හොයන අය මේ ලිපිය කියවන්නෙ නැතුව මගේ Flickr සේයා දහර පැත්තේ ගිහින් බලන්න. :D

තාක්ෂණික දේවල් කියවන්න අකමැති නම් සටහනේ අන්තිමේ ඇති දෙසවනට හා දෙනුවනට රසවිඳින්න යමක්. තාක්ෂණික මාතෘකා අප්පිරියා වගේ නම් මඟැහරල ඔහොමම යන්න පහළට.

පොප්, රෙගේ සහ හිපොප් අහන්න ටියුන් වෙලා තිබුණු මගේ කන් දෙක රොක් සංගීතයට ටියුන් වෙන්න පටන් ගත්තේ එක්තරා තහනම් වෙළඳ දැන්වීමක තිබුණු සිංහල රොක් සිංදුවක් අහලා. ඉනික්බිති ගල්, තද ගල්, තලන ලෝහ, බර ලෝහ, මර ලෝහ සහ කළු ලෝහ මේ හැම ජාතියටම බරපතල ලෙස ඇබ්බැහි වුණා. තේරුණේ නැත්තම් ඔය ලැයිස්තුව rock, hard rock, thrash metal, heavy metal, death metal සහ black metal කියල හිතාගන්ටකෝ.

චිත්‍රාල් සෝමපාලගෙ නදී ගංගා තරණයේ තවමත් මම බොහොම ආස කරන සිංදුවක්. දවසක් අහම්බෙන් Facebook හරහා මාව යොමු වුණේ මෙන්න මේ පිටුවට. ඒකෙ තිබුණා මම ප්‍රිය කරන ගීතයෙ සාමාන්‍යයෙන් අහල පුරුදු එකට වඩා වෙනස් අනුවාදයක්. රොක් ම තමා.... හැබැයි පොඩ්ඩක් විතර වෙනස්. ගායකයා එම ම තමා, කටහඬ පාලනය මුල් අනුවාදයෙ තරම්ම හොඳ තත්වයක නැහැ. හැබැයි පසුබිම් සංගීතයට පොඩි වර්ණවත් බවක් එකතු වෙලා.... මුල් ගීතයෙ තිබුණු තේජාන්විත බවත් ටිකක් අඩු වෙලා.



එකම ගීතයෙ වුණත් විවිධ අනුවාද රසවිඳින්න මම ගොඩක් ප්‍රියයි. විවිධත්වය කොතැනද - රසය එතැන! ඉතින් වෙබ් පිටුවෙ embed කරලා තිබුණු මගේ ප්‍රියතම ගීයත්, අනෙක් රොක් සිංදු ටිකත් බාගන්න මම උත්සාහ කළා. නමුත් සාමාන්‍යයෙන් මේ වගේ වැඩ වලට මම පාවිච්චි කරන Video Download Helper ඇඩෝනය මේ ගීත වල බාගැනීමේ සබැඳි (download links) හොයාගන්න අපොහොසත් වුණා. ඒ නිසා මම ඒ හා සමාන තවත් ඇඩෝනයක් පාවිච්චි කරලා නැවත උත්සාහ කළා. අසාර්ථකයි! :(

ගිනිහිවල් ආම්පන්න කෙරුවාව එකින් එක හොය හොයා ගියොත් මට වෙනින් වැඩක් කරගන්න කාලයක් ඉතිරි නොවෙන නිසා මම වෙනත් විසඳුමක් හොයන්න උත්සුක වුණා. මුලින් ම බැලුවෙ Firefox සහ Adobe Flash Player මෘදුකාංග වල cache ඩිරෙක්ටරි ඇතුළෙ. නමුත් මගේ බලාපොරොත්තු සුන් කරමින් ඒවයෙනුත් කිසිම දෙයක් හොයාගන්න බැරි වුණා. :(

ඉතින් අවසාන තීරණය වුණේ පරිගණකයට පිටතින් (ජාලය හරහා) එන සියළුම අමු දත්ත (raw data) මෘදුකාංගයක් මගින් ග්‍රහණය කරගෙන ඒ ග්‍රහණය කරගත් බිටු සහ බයිට අතරේ මට අවශ්‍ය දේ තියෙනව ද කියල සොයා බලන එක! :-O එහෙම බර වචන වලින් කිව්වාම බය වෙන්න එපා :) -- මේ කාරිය ඉතාම පහසුවෙන් කරගන්න පුළුවන් Wireshark කියන මෘදුකාංගයෙන්. මේ ලියමනේ මාතෘකාවෙ සඳහන් මෝරා මොකාද කියල දැන් වැටහෙන්න ඕනේ. :) Wireshark මෘදුකාංගය network protocol analyzer එකක්. පරිගණකයත් ජාලයත් අතර දත්ත හුවමාරුව සිද්ධ වෙන්නේ දත්ත 'පැකට්' කියන කුඩා ඒකක (chunks) ආකාරයෙන්. Wireshark මෘදුකාංගයට පුළුවන් මේ දත්ත පැකට් දෙස විමසිල්ලෙන් බලා සිට ඒ පැකට් පිළිවෙලකට පිටපත් කරගන්න. මේ පැකට් පසුව විශ්ලේෂණය කිරීමේ පහසුකමත් Wireshark විසින්ම ලබා දෙනවා.

කොළඹ සරසවියෙ මෙතෙක් මම පෙනී හිටපු විභාග වලින් එකම A+ සමාර්ථය ලබපු පරිගණක ජාලකරණය පිළිබඳ ප්‍රශ්නපත්‍රයෙත් Wireshark මෘදුකාංගයෙන් ග්‍රහණය කරගත් දත්ත පැකැට්ටුවක් විශ්ලේෂණය කරන්න ගැටළුවක් තිබුණා ලාවට වගේ මතකයි. ඉතින් මේවත් අපට වැඩද කියලා හිතින් හිතාගෙන වැල්මෝරා සූදානම් කරගෙන වැඩේට බැස්සා.

මුලින්ම වෙබ් ගවේශකයෙ මට අවශ්‍ය ටැබ් එක (ගීතය අඩංගු වෙබ් පිටුව) හැර ඉතිරි සියළුම ටැබ් වහලා දැම්මා. Twitter සඳහා පාවිච්චි කරන Echofon ඇඩෝනය අක්‍රිය කළා. මේ දේවල් කළේ අනවශ්‍ය දත්ත පැකට් Wireshark මගින් ග්‍රහණය (capture) වීම වළක්වන්න. ඉන්පස්සේ ගීතය අඩංගු වෙබ් පිටුව ප්‍රතිපූරණය (reload) කරලා ඒ ප්‍රතිපූරණය සිද්ධ වෙන අතරෙම පැකට් ග්‍රහණය කරන වැඩේ පටන් ගත්තා. ගීතය මුළුමනින්ම වාදනය අවසාන වුණාම වෙබ් ගවේශකය වසා දමලා දත්ත පැකට් ග්‍රහණය කරන වැඩෙත් නතර කරලා දැම්මා. ග්‍රහණය කරගත් අමු දත්ත විශ්ලේෂණය කිරීමේ පහසුව තකා වෙනම ගොනුවකට save කරගත්තා.

දැන් විශ්ලේෂණය කරන වැඩේ. අමු දත්ත පැකට් හරීම ලස්සනයි :P . කොළ පාටට - කළු පාටට - ලා නිල් පාටට - වෛවාරන්න පැකට්! ඒ මදිවට TCP, UDP, HTTP, SSL, DNS මෙකී නොකී හැම ජාතියෙම පැකට්!! ඉතින් දත්ත පැකට් දහස් ගණනක් අතරේ අතරමං නොවී මට අවශ්‍ය දේ පහසුවෙන් හොයාගන්න පොඩි 'පෙරහනක්' පාවිච්චි කළා. වෙබ් ගවේශකය ක්‍රියාත්මක වෙන්නේ HTTP කියන ජාලකරණ සම්මුතියට අනුව. HTTP වල එක ලක්ෂණයක් තමයි HTTP සර්වරයක් වෙතින් යම් අන්තර්ගතයක් (content) සඳහා ඉල්ලීමක් කළාම අදාළ අන්තර්ගතය, එහි තත්වය පිළිබඳව HTTP තත්ත්ව කේතයක් සමඟ පෙරළා දැනුම් දීම. සාමාන්‍යයෙන් දෝෂ කේතයක් නොවේ නම් මෙය අන්තර්ජාල ගවේශණයේදී පරිශීලකයා වෙත දිස් වන්නේ නැහැ. වෙබ් ගවේශකයෙන් ඉල්ලුම් කරන අන්තර්ගතය කිසිම බාධාවකින් තොරව ඒ වෙත ලබා දෙන්න වෙබ් සර්වරය සමත් වුණා නම් මේ තත්ත්ව කේතය වෙන්නේ 200. ඒක සම්මුතියේ තියෙන සම්මතයක්. ඒ නිසා මේ නිර්ණායකය පාවිච්චි කළා මම ඉහත කියපු පෙරහන හදාගන්න. මිළඟ තිරපිටපත බැලුවාම පෙරහන ගැන පැහැදිලි වෙයි. මේ දේවල් පැහැදිලි කරන්න ටිකක් වැඩිපුර වචන පාවිච්චි කළාට අකුණක් ගහනවා වගේ ඔය සියළුම අදහස් මගේ මනසේ ගොඩනැගෙන්න ගත වුණේ එක නිමේෂයයි.


 පැහැදිලි මදි නම් තිරපිටපත මත ක්ලික් කරන්න

ඔය තිරපිටපතෙත් සලකුණු කරල තියෙන එක දත්ත පැකැට්ටුවක් ගැන මගේ අවධානය විශේෂිතව යොමු වුණා. බැලු බැල්මට ඒක නම් MP3 ගොනුවක ආරම්භක දත්ත පැකැට්ටුව වගේ පෙනෙන්නේ. නමුත් වැඩිදුර සොයාබැලීම සඳහා ඒක මත ක්ලික් කළාම Wireshark වැසී යනවා. ඒක Wireshark මෘදුකාංගයෙ සුළු දෝෂයක් නිසා ඇති වුණු දෙයක් විය හැකියි. නමුත් අදාළ පැකැට්ටුව විවෘත කරගන්න බැරි නිසා මගේ අවසාන උත්සාහය වුණේ HTTP මගින් ලැබුණු සියළුම දත්ත, ගොනු බවට export කරගන්න එක. File -> Export -> Objects -> HTTP මෙනු විධානය දුන්නාම තවත් පොඩි අතුරුමුහුණතක් හරහා මේ සියල්ල ගොනු ආකාරයෙන් ලබාගන්න පුළුවන් වුණා. ඒ අතර තිබුණා -- මොනවද? මට ඕන කරපු දේ! :) මෙහෙයුම සාර්ථකයි!!

බලන්න මීළඟ තිරපිටපත.


පැහැදිලි මදි නම් තිරපිටපත මත ක්ලික් කරන්න

ඔය අස්සේ Facebook වෙළඳ දැන්වීමක ෆෝන් විකුණන කෙල්ලෙකුත් ඔතනට ඇවිත්... ඒව ගනංගන්න එපා.. :P .

 ---

Wireshark හරිම අපූරු මෘදුකාංගයක්. දවසක් මම බැචෙකුට SSL කුප්පියක් දාන්න ආරම්භයක් විධියට Wireshark වලින් පොඩි වැඩකෑල්ලක් දාල පෙන්නුවා. මුලින් පෙන්නුවේ මගේ අතහැර දමාපු SLT Dial-up ගිණුමට ලොග් වෙලා ඒ අතරේ Wireshark එකෙන් ග්‍රහණය කළ දත්ත අතරේ ගෙඩි පිටින් username/ password තියෙන හැටි. ඊළඟට මගේ Gmail එකට ලොග් වෙලා username/ password හොයන වැඩේ ඌටම කරගන්න දුන්නා. :D

(SLT අය SSL පාවිච්චි කරන්නෙ නැත -- සහතිකේ ගිණි ගණං නිසා වෙන්නට ඇත)

---



ඔය තිරපිටපතේ තියෙන විධියේ පිවිසුම් ක්‍රමය සමහර වෙබ් අඩවි වල පාවිච්චි වෙනව දැකල ඇතිනේ.... මේක තරමක් දුරට අනාරක්ෂිතයි. හිතන්න තමන් දැනට ඉන්න local area network එක ඇතුළෙ තවත් කෙනෙක් ඔය විධියෙ අඩවියකට තමන්ගෙ පරිශීලක නමයි මුරපදයයි දීලා ලොග් වෙනව කියලා. ඒ කෙනා ලොග් වෙන වෙලාවේ දත්ත පැකට් ටික Wireshark මගින් ග්‍රහණය කරගන්න පුළුවන් නම් සොරි ඩොට් කොම්! අපට නෙමෙයි එයාට.

මෙතනදි username/ password යන්නෙ encrypt කරල නෙමෙයි. හැබැයි බැලු බැල්මට ඒ වගෙයි. පොඩි සෙල්ලමක් දාලා ආයෙම username/ password අදාළ දත්ත වලින් පහසුවෙන්ම ගණනය කරගන්න පුළුවන්. (base64 encoding ගැන පොඩි ගුග්ල් සෙවුමක් දාලා බලන්ටකෝ.... ;) )

මේව වැරදි වැඩ තමයි.... හැබැයි hacking කියල වරදවා වටහාගන්න එහෙම එපා..... :P



සිංදුවත් අහමුකෝ.... හැබැයි මේ මම බාගත් එක නෙමෙයි. ඔරිජිනල් නදී ගංගා තරණයේ. වෙනස් සන්දර්භයක් ඇතුව රස විඳිමුද? ඒකට ඕන කරන උත්ප්‍රේරකය තමයි ඔය Youtube ලින්ක් එකට පහළින් සඳහන් කරල තියෙන්නේ.....


Youtube එකේ තියෙන දර්ශන පෙළ නරඹන අදහස අතහැර දමන්න. බය වුණාම බොන ජාතිය අමතක කරන්න. Youtube එකේ ගීතය වාදනය වෙන අතරේ තවත් ටැබ් දෙකක මෙන්න මේ වෙබ් පිටු විවෘත කරගන්න. පිංතූර එකින් එක බලන අතරේ ගීතයට හොඳින් සවන්දෙන්න.


(අනුන්ගෙ සිංදු අනවසරයෙන් කොපි කරලා ඩවුන්ලෝඩ් කරන්න දෙන එක නෝටි වැඩක් නේ..... අනෙක..... තව ටික දවසකින් ඕකෙ ඩවුන්ලෝඩ් දෙයි. ඒ නිසා මම ශිල්ප දක්වලා බාගනිපු එක මගෙ ළඟම තිබුණාවේ -- ඕනෙ නම් මම කරපු විධියටම කරලා සිංදුව බාගන්න. ;-) )



එහෙනං ඉතිං.... නැවතීමේ තිත තියන්න හෙවත් කැපෙන්න වෙලාව ඇවිත්. මේ සිංදු බෑවිල්ල මහා ලොකු දෙයක් නෙවෙයි. නමුත් සිංහලෙන් වැඩ කරන පාඨක පිරිස අතරේ බෙදා හදාගන්න හිතුණා. තවත් මොනවහරි දෙයක් අරගෙන ආපහු එනකම්.... Rock on! :D

Sunday, November 1, 2009

කැපූ කෙස්ස ගැන රස කතා


දිගින් දිගටම ලිනක්ස් ගැනයි අරකයි මේකයි කියවලා කස්ටියට එපා වෙලත් ඇතිනේ.... ඉඳ හිට දවසකවත් පොඩි ආතල් එකක් තියෙන්න එපායැ; නැද්ද මං අහන්නෙ? ;)

මම කාලයක් කොණ්ඩේ වවාගෙන හිටියනේ... රොක් \m/ හෙවි මෙටල් ශෛලිය සහ සංගීතය ගැන තියෙන අසීමිත උණත් එක හේතුවක් තමා... (*) . ඒ දවස් වල බස් එකේ යද්දි මාරු කාසි නැති වෙලාවට කොන්දොස්තර පූසා වගේ, රුපියල් හයේ දුර යන්න පණහෙ නෝට්ටුවක් දික් කළත් අනම් මනම් ලොකු ටෝක් නැතුව හරියට ගානට ඉතුරු දෙනවා. >:)

මේ ලියමන මම නිකං විහිළුවට වගේ වෙච්ච පොරොන්දුවක්. මේ වගේ තව සිද්ධි කීපයක්ම තියෙනවා කියන්න. =))

---

අපේ නෑදෑ ගෙදරක් තියෙනවා තංගල්ලේ. කලක ඉඳලා එහේ යන්න තිබුණු අවශ්‍යතාව අන්තිමේ ඉටු කරගත්තේ වෙසක් පෝය දවසේ. කාටත් නිවාඩු දවස නොවැ. ඉතින් ගිහිල්ලා කාරිය කස්ටිය කතා බහ කරලා කාලා බීලා ඉන්න අතරෙ මට ඕනැ වුණා වෙරළ පැත්තෙ ටිකක් ඇවිදින්න යන්න.

තංගල්ලෙ මුහුදු වෙරළ ඉතාම සුන්දරයි. ඊට වඩා ලස්සන මුහුදු වෙරළක් මම දැක්ක එකම තැන නිලාවේළිය. ඉතිං 'බීච්' යන්න මම සපත්තු දෙක ගලවලා, ඇඳගෙන හිටපු ඩෙනිමත් දණිසට වෙනකම් නවාගෙන පාර දිගේ ඇවිදගෙන යනවා. ෂර්ට් එකත් කට්ට කළුයි. පිට මැද්දට වැටුණු දිග කොණ්ඩෙයි.

මේ වෙසක් පෝය දවසනේ... ඉතිං එක එක පළාත් වල කොල්ලො ගැන්සි සෙට් වෙලා ට්‍රිප් යනවා. යන්නෙ ආතල් එකටත් එක්ක ලෑන්ඩ් මාස්ටර් වගේ පොඩි පොඩි වාහන වලින්. ඔහොම යන එක සෙට් එකක් අමුතු විධියට පොඩි සද්දයක් කරාපි! :-"

"ආ... ආ...."

ඉතිං මාත් එකපාරටම හැරිල බැලුව මොකද සීන් එක කියල (ඇත්තටම මාත් කල්පනා කළේ සුන්දර යුවතියක් එහෙම ඒ පැත්තෙ හිටියනං පොඩි wink :-" පාරක් එහෙම දාන්න :P ). එතකොටම සද්දෙ නතර වුණා. ඔක්කොම තක්බීර් වෙලා වගේ මං දිහා බලං ඉන්නවා. හරියට දැං කුඩු ගහපු වඳුරො ටිකක් වගේ. මේ මොකො!?? :-O

ටික වෙලාවක් යද්දි තමයි මට සීන් එක තේරුණේ. බීච් යන්න ඕන නිසා දණිසට වෙනකම් නවපු ඩෙනිම මුන්ට පෙනිල තියෙන්නෙ 'ත්‍රී ක්වාටර්' එකක් වගේ. ඒ මදිවට පිට මැද්දට වැටුණු දිග වරලස! තංගල්ල වගේ ගම් පළාත් වල නෑ නොවැ කොළඹ පොෂ් වෙන්න දඟලන කෙල්ලෝ කරන එක එක ෆැෂන්. ඒක තමයි මුන් ටික නිකං තොප්පි වෙළෙන්දා දැක්ක වඳුරො ටික වගේ ෆෝම් වෙලා තියෙන්නෙ. මුං ටික මගේ මූණ දැකල එකපාරටම අන්දමන්ද වුණේ මූණෙ තිබ්බ පත රැවුල නිසා. හොඳ වෙලාවට මං ඒක කැපුවෙ නැත්තෙ. =)) =)) =))

---

ඊළඟ සිද්ධිය වුණේ සඳුද දවසක උදේ දුම්රියෙන් කොළඹ එද්දි. මම සාමාන්‍යයෙන් යන්නෙ එන්නෙ සමුද්‍රදේවියේ. එදා ටිකක් කලින් ඇහැරුණු නිසා ඊට කලින් තියෙන බලවේග කට්ටල දුම්රියෙන් ('ගෝල් ට්‍රේන්' එක) ආවේ.

කට්ටිය දන්නව ඇතිනේ... බලවේග කට්ටල දුම්රිය මැදිරි වල ආසන තියෙන්නේ දික් අතට. ඒ කියන්නේ වාඩි වෙන අය වාඩි වෙන්නෙ දුම්රිය මැදිරි ජනේල වලට පිටුපාල. ඉතින් වැඩිය සෙනග නැති නිසා මටත් වාඩි වෙලා යන්න චාන්ස් එකක් හම්බ වුණා.

මේ දුම්රිය කොස්ගොඩ දුම්රිය ස්ථානයෙ නවත්තල තියෙද්දි ගාල්ල පැත්තට යන තවත් බලවේග කට්ටල දුම්රියක් එතනින් මාරු වෙනව. ඒ අනෙක් දුම්රියත් මම ගමන් කළ දුම්රියත් ටිකක් වෙලා කොස්ගොඩ නතර කරල තියෙනව. මෙන්න ඒ වෙලාවෙ එක පාරටම මට හරියටම පිටුපසින්, ඒ කියන්නෙ අනිත් දුම්රිය තියෙන පැත්තෙන් කටහඬක් ඇහෙනව.

"ඩබ්ලිව් ඩබ්ලිව් ඩොට් නෙට් ෆෝරම් ඩොට් එල් කේ. අයෑම් අ මෙම්බර් ආන්ට් යූ"

ඈ යකෝ... ඒ මම ඇඳගෙන ඉන්න ටී ෂර්ට් එකේ පිටේ ගහල තියෙන එකනේ? මේ යකා මොකද ඒක සද්දෙට කියවන්නේ....?? :-?

උදේ පාන්දර හිමිදිරි නිදිමතේ මට සීන් එක හරියට මීටර් වුණේ නෑ. දුම්රිය හෙමින් ඉදිරියට ඇදෙන අතරේ ටියුබ් ලයිට් පත්තු වුණා. ~X(

අපරාදේ... සිරා බයිටක් දෙන්න තිබ්බ චාන්ස් එක. :( මීට වඩා හොඳයි සම්පත් බැංකුව වගේ හෙට දින එළිය කළා නං! :))

---

ඉතින් ඔය වගේ කොණ්ඩෙ නිසා ආතල් සීන් තව තව තියෙනවා... ඒවට වැය කරන්න ඒ තරම් වෙලාවක් නැති නිසා ලියන්නෙ නෑ. මගේ නම -- ශාකුන්තල, අමුතු නමක් නිසා වක්කඩ කැඩුවා වගේ Facebook එකෙන් යාළු request ආපු හැටි... තව තව රස කතා ගොඩයි. ඒව ගැන වෙන ම දවසක ලියන්නං... අදට ආයුබෝ.... buona notte......!

Monday, October 26, 2009

ලිනක්ස් මත MP3 ප්‍රති-කේතාංකනය


අද මගේ බ්ලොග් එක කියවන අයට පොඩි script එකක් ලැබෙනවා... MP3 වල bitrate අඩු කරගන්න පුළුවන්.  ඒක පිටපත් කරගෙන තියාගන්න. ප්‍රයෝජනවත් වෙයි. සටහන කියවන්න කම්මැලී වගේ නම් මෙන්න බාගන්න ඒක. :)

මාතෘකාවෙම තියෙනව ටිකක් නේද මහ අමුතු බර වචනයක් -- ප්‍රති-කේතාංකනය. බය වෙන්න එපා.. මේ යෙදුම මෙතනට ගැළපෙනවද කියල මමවත් දන්නෙ නෑ :D . Re-encoding කියන ඉංග්‍රීසි යෙදුමට සුදුසු සිංහල වචනයක් ගැන කල්පනා කරද්දි සිහියට ආවෙ ප්‍රති-කේතාංකනය. මේ වචනෙ පාවිච්චි කරන එකේ හරි වැරැද්ද මම දන්නෙ නැහැ :-/ . මොකක් වුණත්, මගේ අවශ්‍යතාව මුලින්ම කියන්නම්.

මම බොහෝම දැඩි ලෙස සංගීත ලෝලියෙක් B-) . ඒ නිසා මගේ පරිගණකයෙ තියෙන සම්පූර්ණ MP3 එකතුවම ජංගම දුරකථනයට ඔබාගත්තත් මට මදි වගේ. ජංගම දුරකථනයෙ තියෙන M2 චිප් එක 1 GB. පිංතූර ගන්නත් චිප් එකේ ඉඩ තියෙන්න ඕන නිසාත්, ගීත වැඩි ගණනක් ජංගම දුරකථනයට දමාගන්න ඕන නිසාත් මම කල්පනා කළා මගේ ළඟ තියෙන MP3 ගොනු වල bitrate අඩු කරන්න. එහෙම කළාම ගොනු ප්‍රමාණය සෑහෙන අඩු වෙනවා.

උදාහරණයක් විධියට ගත්තොත්,
320 kbps, 44100 Hz, මින්ත්තු 6 තත්පර 5 වෙන sterio MP3 ගොනුවක ප්‍රමාණය 14 MB නම්, ඒක 128 kbps දක්වා bitrate අඩු කළාම 5.6 MB පමණ ප්‍රමාණයක් වෙන්නේ. ඉතින්, ලොකු ඉතුරුවක්!

ඉතින්, අන්තර්ජාලයෙන් විසඳුමක් හොයද්දි හම්බවුණා එකක්. ඒ lame මෘදුකාංගය. Audacity පාවිච්චි කරල තියෙන අය මේ මෘදුකාංගය ගැන දන්නවා. Audacity වල MP3 encoding library එක වෙන්නෙ lame. ඉතින්, lame නැත්තම් මුලින්ම පරිගණකයෙ lame ස්ථාපනය කරගන්න.

# apt-get install lame

මෙන්න මට ලැබුණු විසඳුම:
http://www.linuxquestions.org/questions/linux-software-2/reduce-mp3-bitrate-336791/

#!/bin/bash

for file in `ls`
do
file=`echo $file | sed s/\ /_/g`
echo $file
lame --decode $file
lame -b 128 $file.wav
rm $file
rm $file.wav
mv $file.wav.mp3 $file
done

වැඩේ හොඳයි. මොකද MP3 ගොනු 100ක් විතර encode කරන්න ඕන වුණ වෙලාවට lame මෘදුකාංගයෙන් batch processing විධියට කරන්න බැහැ. ඒ නිසා loop එකක් ධාවනය වෙන පොඩි script එකක් අවශ්‍ය වෙනවා. හැබැයි මේක ප්‍රායෝගික නෑ. හේතුව, එයාල දීල තියෙන script කේතය වැඩ කරන්නෙ නැහැ MP3 ගොනු වල නමේ හිස්තැන් (whitespaces, ASCII character 32) තිබුණොත්. For loop එකෙන් ගොනු නමේ සීමාව ලෙස හඳුනගන්නෙ හිස්තැන. නමුත් ප්‍රායෝගිකව අපට ලැබෙන MP3 ගොනු බොහොමයක නමේ මැද හිස්තැන් තියෙනවා. ඉතින් මේවා එකින් එක rename කර කර ඉන්නවට වැඩිය හොඳයි පැය ගාණක් වැය කරලා එකින් එක වෙන වෙනම encode කරන එක.

ඉතින් මම කල්පනා කළා විසඳුමක්. මුලින් කල්පනා කළේ, ls වෙනුවට ls -Q පාවිච්චි කළොත් ප්‍රතිපලයෙ හැම ගොනු නමක්ම වෙන වෙනම උධෘත සලකුණු දෙකක් අතරට එනවා. දැන් ඒකෙන් ගොනු නම් ටික වෙන් කරගන්න ලූප් එකක් ඇතුලෙ වැඩ කරන පොඩි ඇල්ගොරිතම් එකක් ලියන්න පුළුවන්...........

........... හාපෝයි බෑ.... අවශ්‍යතාව අනුව බරපතල වැඩියි... මම යන්නෙ වැරදි පාරේ............!!!! :-O

විසඳුමක් කල්පනා කරද්දි මතක් වුණා කැම්පස් එකේදි ළඟදි ඉගෙනගන්න ලැබුණු find shell විධානය. ඉතින් කෑලි බෑලි ටිකක් එක්ක අටවලා මම script එකක් ලිව්වා. මම ඉතින් free ඇන්ඩ් open නොවැ... බෙදා හදාගෙන කාලා බොහෝම පුරුදුයි. ඒකයි මේ ලියමන ලියන්නේ.... මෙන්න code එක. වැඩ දන්නා ඇත්තෝ මේක දියුණු කරත්වා!

if [ $# -eq 2 ]
then
mkdir $1/output
cd $1
find . -maxdepth 1 -exec lame -h -b $2 {} ./output/{}  \;
else
echo "Invalid arguements, please refer http://blog.shaakunthala.com/2009/10/mp3.html"
fi

මේක අළුත් text file එකකට copy-paste කරගන්න. ඒක කැමති නමකින් (උදා: mp3enc.sh) සුරකින්න.

දැන්,
$ chmod +x mp3enc.sh

පාවිච්චි කරණ පිළිවෙළ:
ප්‍රති-කේතාංකනය කරන්න අවශ්‍ය MP3 ගොනු සියල්ලම එක ඩිරෙක්ටරියකට (ෆෝල්ඩරයකට) පිටපත් කරන්න. දැන්,

$ ./mp3enc.sh <mp3_files_directory> <target_bitrate_kbps>

උදාහරණයක් විධියට අපට අවශ්‍ය ප්‍රතිදාන bitrate එක 128 kbps ලෙසත්, අපේ MP3 ගොනු ටික තියෙන්නෙ /home/shaakunthala/Desktop/music ඩිරෙක්ටරියෙ බවත් සලකමු. එහෙම නම් කරන්න තියෙන්නේ,

$ ./mp3enc.sh /home/shaakunthala/Desktop/music 128

හරිම පහසුයි නේද? දැන් අපේ MP3 ගොනු තියෙන ඩිරෙක්ටරිය ඇතුළෙ output ලෙස තව ඩිරෙක්ටරියක් නිර්මාණය වෙනවා. Bitrate අඩු කළ (ප්‍රතිදාන) ගොනු ටික එහි ඇති. :)

එතකොට code එකේ තේරුම? ඒක තනියම තේරුම් ගන්න පහසුයි. නමුත්,

find . -maxdepth 1 -exec lame -h -b $2 {} ./output/{}  \;

මේක මත තමයි අපේ වැඩේ රඳා පවතින්නේ.
find වලින් කරන්නේ දෙන ලද ඩිරෙක්ටරියක සහ සබ්ඩිරෙක්ටරි වල තියෙන ගොනු සෙවීම.
-maxdepth 1 මේකෙන් කරන්නේ අපි ලබා දුන් ඩිරෙක්ටරියෙ සිට පහළට එක මට්ටමකට පමණක්, එනම් අපි ලබා දුන් ඩිරෙක්ටරියෙ පමණක් ගොනු සෙයන්න කියන එක. තවත් පහළට ගියොත් හමු වෙන්නේ output ඩිරෙක්ටරිය ඇතුළෙ තියෙන ප්‍රති-කේතාංකනය කළ ගොනු. ඒවත් එක්ක පටලැවිල්ලක් ඇති වීම වැළැක්වීමයි අරමුණ.
-exec find විධානයෙන් දෙන ප්‍රතිදානය මත වෙනත් විධානයක් ක්‍රියාත්මක (execute) කරන්නෙ මේකෙන්.
$1, $2 මෙයින් නිරූපණය වෙන්නේ විධාන පෙළට ලබා දුන් පරාමිතීන්. ඒ කියන්නේ අපේ MP3 ගොනු තියෙන ඩිරෙක්ටරිය සහ ප්‍රතිදාන bitrate එක.
{} find විධානයේ ප්‍රතිදානය.

මේක මාගලක් වගේ මහා ලියමනක් ලියන්න තරම් ලොකු දෙයක් නෙමෙයි. මට නම් සුළු දෙයක්. නමුත් වැඩි පිරිසකට තේරුම් ගන්න පුළුවන් විධියට ලියන්න මට ඕන වුණ නිසයි ටිකක් දීර්ඝව විස්තර කළේ. Shell Script ලිවීම ගැන සිංහලෙන් උපකාරක අත්වැලක් diGIT සඟරාවේ පළ වෙන බවත් නැවත මතක් කරන්න කැමතියි. මමයි ලියන්නේ. :) ඉතින්, අදට ආයුබෝ....!

Sunday, October 4, 2009

GRUB මගින් ක්‍රියාරම්භිත flash drive එකක් සහ හාඩ් ඩිස්ක් ආතල්


ලිනක්ස් වැඩ කිඩ ලිවිල්ල නං එපා වෙන්නෙම නෑ. මේකත් එහෙම එකක්. මේ සති අන්තෙ ගෙදර එද්දි අපේ බාල මලයා මට වැඩ වැඩි කරලා. :P ඒ ගැන පස්සෙ කියන්නම්. කෝකටත් කලින් වැදගත්ම දේ මාතෘකාව.

අද කියන්න යන්නේ මම කරපු පොඩි අත්හදා බැලීමක් ගැන. ඒ මගේ 4 GB flash drive එකට කියාරම්භක (bootable) හැකියාව ලබා දුන්න එක. දැන් කස්ටිය කියයි 'ආපෝයි.. ඕකත් වැඩක්ද ඔය රයිට් ක්ලික් කරලා ෆෝමැට් ගිහිං..........' හෝව්..... එහෙම එකක් ගැන නෙමේ මං මේ කියන්නෙ. කවුද DOS bootable එකක් හදන්නෙ? :P මං මේ කියන්න යන්නෙ GRUB එක දාගන්න හැටි. මං අටවගත්ත එකේ GRUB විතරක් නෙමෙයි කර්නල් එකත් තියෙනවා. DOS bootable එකකින් කරන්න පුළුවන් අටමගලයක් නෑ. :D

මුළින්ම කියන්නම් GRUB කියන්නෙ මොකක්ද කියලා. විකිපීඩියාවෙ නම් පිළිවෙලට ලියවිලා තියෙනවා... ඒත් මමත් පොඩ්ඩක් විස්තර කරන්නම්. සරලව කිව්වොත් බූට්ලෝඩරයක්... ඒකත් සරලව විස්තර කළොත්, පරිගණකය බූට් වීමේ ක්‍රියාවලියෙදි මෙහෙයුම් පද්ධතිය RAM එකට load කරන්නෙ මේ බූට්ලෝඩරයෙන්. වින්ඩෝස් තියෙන හාඩ් ඩිස්ක් එකකට වැඩ දාන්න ගිහින් ඇණගත්තාම බූට් වෙද්දි NTLDR is missing කියල මොකක්දෝ එකක් පෙන්නනව නේද? අන්න ඒ NTLDR කියන්නෙ Windows NT බූට්ලෝඩර් එක. ලිනක්ස් වලදි බූට්ලෝඩර් එක විධියට පාවිච්චි වෙන්නෙ LILO (LInux LOader) හෝ GRUB (GRand Unified Bootloader). විවිධ හේතු මත දැන් ඒ දෙකෙන් ජනප්‍රිය එක GRUB. ඒ හේතු මෙතන විස්තර නොකරන්නෙ බ්ලොග් සටහන අනවශ්‍ය විධියට දීර්ඝ වෙන නිසා.... GRUB ගැන පොත් ලියන්න තරම් දේවල් තියෙන බව අන්තර්ජාලය පිරික්සලා හොයාගන්න පුළුවන්.

GRUB එකට මොනවද පුළුවන් වැඩ? ඇත්තටම ඒ ඔක්කොම නම් මමත් තවම හරියට දන්නෙ නැහැ. මෙන්න මේවා තමයි දැනට දන්නේ:
  • ගතිකව වින්‍යාසගත කරන්න පුළුවන්.. (මොකක්දෑ ඒ හරුපෙ? :-? ) ඒ කිව්වෙ බූට් වෙන වෙලාවෙදි GRUB එකේ සරල විධාන අතුරුමුහුණතින් අපට අවශ්‍ය කර්නල් එක අවශ්‍ය විධියට තෝරගන්න පුළුවන්. කර්නල් එකට දෙන පරාමිතීන් (parameters) සකස් කරන්නත් පුළුවන්.
  • Chainloading - මේක තමයි GRUB එකේ පරාර්ථකාමී ගතිය :) - ලිනක්ස් තියෙන පරිගණකයකට වින්ඩෝස් ස්ථාපනය කළොත් වින්ඩෝස් බූට්ලෝඩරය GRUB එක overwrite කරනවා. ඒත් වින්ඩෝස් තියෙන පරිගණකයට ලිනක්ස් ස්ථාපනය කළොත් ලස්සන දෙයක් සිද්ධ වෙනවා. GRUB එකෙන් මුලින්ම වින්ඩෝස් බූට්ලෝඩරය වෙන සෙක්ටර් එකකට පිටපත් කරනවා. දැන් GRUB ස්ථාපනය වෙනවා. බූට් වීමේ ක්‍රියාවලියෙදි අපට වින්ඩෝස් බූට්ලෝඩරය ඕන නම් chainloading කියන ක්‍රියාවලිය මගින් වින්ඩෝස් බූට්ලෝඩරයට පාලනය භාර දෙනවා.
  • GRUB එකට හානි වුණු පද්ධතියක් ගොඩගන්න පුළුවන්.
  • Partition හංගන්න එහෙමත් පුළුවන්. ;)

දැනට මං එච්චරයි දන්නේ... දැන් ආපහු එමු මාතෘකාවට... අපේ තුන් වෙනි වසර පාඨමාලා වලින් එකක් System And Network Administration. මේ පාඨමාලාව පටන් ගත්තා විතරයි එහෙට මෙහෙට වැනි වැනී තිබුණු ලිනක්ස් ගැන මගේ දැනුමත් වේගවත් ව ප්‍රසාරණය වෙන්න පටන් ගත්තා. ඉතින් ඒකට අදාළ social forum එකේ post එකකට අපේ Off the Planets කණිෂ්ක දාපු reply  එකකින් තමයි අයිඩියාව ආවෙ. කෝමද flash drive එකකට GRUB එක දාගත්තොත්?

It's simple. You have to restore the grub.
boot from the live cd.
open terminal
type sudo grub
find /boot/grub/stage1
grub> root(hdx,y)
setup(hdx)
you will get the values for x and y in find /boot/grub/stage1
I am not sure about the stage1 thing. It just works for me. I am not sure how the grub finds where the / is at the first place. To find the /boot/grub and the old files. Any way it works

මේකෙන් වාසි කීපයක්ම තියෙනවා...
  • Live CD එකෙන් බූට් කරන්න ගොඩක් කාලය ගත වෙනවා. නමුත් මෙතන බූට්ලෝඩරය විතරක් නිසා ඉක්මන්.
  • අළුත් දේ ඉගෙනගන්න ලැබෙනවා.
  • අහිංසක විධියට ගිහින් hijack/ hack කරන්න පුළුවන්. CD එකක් දානකොට සද්දෙ එනවා... කවුරුත් බලනවා... ඒත් flash drive එකක් කවුද ගණන් ගන්නෙ? ;) (මේ hijacking/ hacking කරන්න පුළුවන් එක එක ක්‍රම වරින් වර සිංහල බ්ලොග් කීපයකම පළ වුණා)
  • memtest86+.bin කර්නලය පාවිච්චි කරලා RAM එක පරීක්ෂා කරගන්නත් පුළුවන්.


ඉතිං මෙන්න මෙහෙමයි මම කළේ...
1. මුලින්ම මගේ 4 GB flash drive එකේ තියෙන කුණු කන්දල් ඔක්කොම මගේ හාඩ් ඩිස්ක් එකට පිටපත් කර ගත්තා...

2. දැන් ඒක partition දෙකකට වෙන් කළා. එකක් අපේ පුද්ගලික ගොනු වලට. ඒක වින්ඩෝස්/ ලිනක්ස් දෙකේදිම වැඩ කරන්න ඕන නිසා FAT32. අනෙක කර්නල් එකයි GRUB එකට අදාළ ගොනුයි තියාගන්න ext-2 එකක්.

# fdisk /dev/sdb
මේකත් එක්ක ටිකක් ඔට්ටු වෙලා කීප වතාවක්ම විවිධ අගයයන් දීලා හරියටම මට ඕන ප්‍රමාණයට partition කරගත්තා.

parted වලින් පෙන්නන විධියට පළවෙනි එක 3997 MB primary එකක්. ගොනු පද්ධති ආකෘතිය FAT32. දෙවැන්න 49.4 MB primary එකක්.

root@shaakunthala-laptop:~# parted /dev/sdb
GNU Parted 1.8.9
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                           
Model: Kingston DataTraveler 2.0 (scsi)
Disk /dev/sdb: 4047MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  3997MB  3997MB  primary  fat32            
 2      3997MB  4047MB  49.4MB  primary  ext2         boot

(parted) q                                                               
root@shaakunthala-laptop:~#


මේ partition කෙරුවාව කරන්න ඕන පිළිවෙලක් තියෙනවා. නැත්තම් flash drive එක වින්ඩෝස් වලදි පිස්සු කෙළිනවා. Flash drive එකේ පළමු වෙනි physical partition එක හැර ඉතිරිය හඳුනාගැනීමේ හැකියාවක් වින්ඩෝස් වලට නෑ. ඒ නිසා අපේ පෞද්ගලික ගොනු පිටපත් කරන කොටස මුලටත්, GRUB එකට අදාළ ගොනු සහ කර්නල් එකට අවශ්‍ය කොටස අගටත් එන්න partition කළේ.
Format කළේ මෙහෙමයි:
# mkdosfs /dev/sdb1 -v -F 32 -n LEONIDAS_4G
# mke2fs /dev/sdb2 -L boot


දැන් flash drive එක පරිගණකයට සම්බන්ධ කළාම /media/LEONIDAS_4G , /media/boot විධියට partition දෙකම mount වෙනවා.

3. මේක කරන්න ක්‍රමවත් පිළිවෙලක් ඇති. ඒත් මොනව හරි වැඩක් කරද්දි මට අන්තර්ජාලය ඕන වෙන්නෙ අන්තිමට. මම කැමති මුලින් අත්හදා බලලා අන්තිමේ ඇණගත්තාම අන්තර්ජාලයෙන් විසඳුම් හොයන ක්‍රමයට. :P ඉතිං මෙතන ඉඳලා වැඩ ටික ජෝක් වගේ නම් වැඩ දන්න අය මට හිනා වෙන්න එහෙම එපා.. :D
# cd /
# cp -rfv boot /media/boot

දැන් අපේ කණිෂ්කගෙ ටිප් එක.
# grub
grub> find /media/boot/boot/grub/stage1

දැන් මෙහෙම එකක් පෙන්නනවා:
(hd1,1)

ඒ කියන්නෙ නියමිත නිරූපණ ක්‍රමය (notation) අනුව flash drive එකේ දෙවෙනි partition එක දක්වන්නෙ (hd1,1) විධියට. ඊළඟ පියවර:
grub> root (hd1,1)
grub> setup (hd1)
grub> quit

දැන් GRUB එක ස්ථාපනය වෙලා අවසානයි. මේ වැඩේදි පරිගණකයෙ දෘඩ තැටියට කිසිම බලපෑමක් වෙන්නෙ නෑ.

4. දැන් ටිකක් සුද්ධ පවිත්‍ර කළා. අපේ boot partition එක. ඒකෙ කර්නල් දෙකකට අදාළ ගොනු තිබුණා. එකක් අයින් කළා.. දෙකක් මක්කටැයි? ;)
දැන් තියෙන්නෙ මෙන්න මේ ගොනු ටික:
root@shaakunthala-laptop:/media/boot# ls -aR -w 1
.:
.
..
boot

./boot:
.
..
abi-2.6.27-14-generic
config-2.6.27-14-generic
grub
initrd.img-2.6.27-14-generic
lost+found
memtest86+.bin
System.map-2.6.27-14-generic
vmcoreinfo-2.6.27-14-generic
vmlinuz-2.6.27-14-generic

./boot/grub:
.
..
default
device.map
e2fs_stage1_5
fat_stage1_5
installed-version
jfs_stage1_5
menu.lst
minix_stage1_5
reiserfs_stage1_5
stage1
stage2
xfs_stage1_5

./boot/lost+found:
.
..
root@shaakunthala-laptop:/media/boot#


5. menu.lst එකත් කපලා කොටලා ගත්තා.

title           Linux kernel 2.6.27-14-generic
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.27-14-generic root=UUID=d1670f8e-eb3f-4dba-bba5-e00f0437e2a2 ro single
initrd          /boot/initrd.img-2.6.27-14-generic

title           memtest86+
root            (hd0,1)
kernel          /boot/memtest86+.bin


මෙතන තවත් වැදගත් කාරණා කීපයක් තියෙනවා කියන්න. GRUB ස්ථාපනයෙදි flash drive එක ගත්තෙ (hd1) විධියට වුණාට ඒකෙන් boot වෙද්දි ඒක ගන්නෙ (hd0) විධියට. menu.lst ගොනුව සංස්කරණයෙදි ඒ ගැන සැළකිලිමත් වෙන්න ඕනා. ඒකට හේතුව කියන්න තරම් දෙයක් නෙමෙයිනේ... BIOS එකේ boot priority උඩින් තියෙන කෙනාට අඩු අංකය.

අනෙක UUID එක. ඒක කර්නල් එකට පරාමිතියක් විධියට යවල තියෙනවා. UUID එක බලාගන්න මෙන්න මේ විධානයෙන් පුළුවන්:
# vol_id --uuid /dev/sdb2

6. දැන් බූට් කරන එක තමයි කරන්න තියෙන්නෙ. මම මෙහෙම පියවර විධියට විස්තර කළාට ටැපලිලා වැරදිලා පැය ගාණක් මේකත් එක්ක දඟලලා තමයි ඉගෙනගත්තෙ මේ දේවල්. ඉතින් flash drive එකෙන් මගේ ලැප්ටොප් එක බූට් කළා. එළට වැඩ! GRUB එක ක්‍රියාත්මක වෙනවා.  කැමති නම් flash drive එකේ තියෙන කර්නල් එකෙන්ම බූට් කරන්නත් පුළුවන්.

ඉතින් මේක වැඩ කරන්න පටන් ගත් වෙලාවෙ ඉඳලා මමත් අළුත් සෙල්ලම් බඩුවක් ලැබුණු පොඩි එකෙක් වගේ. ;) කන්න බොන්න ඕනෙත් නෑ. හාඩ් ඩිස්ක් එකට එක එක වැඩ කෑලි දානවා. අළුතෙන් ඉගෙනගන්න දේවල් ගොඩයි.

Flash drive එකේ init නැති නිසා No init found කියලා දෝෂ පණිවුඩයක් පෙන්නලා එතනින් නතර වෙනවා. නතර වෙනවා කිව්වට එහෙම නතර වෙන්නෙම නෑ. ;) එතනින් එහාට load වෙන්නේ BusyBox shell එක. BusyBox ක්‍රියාත්මක වෙන්නෙ RAM එක මත. සරල භාෂාවෙන් කිව්වොත් shell එකක් තියෙනවා කියන්නෙ සුළුවෙන් හරි 'වැඩක්' කරගන්න පුළුවන් කියන එක. :)

7. Flash drive එකේ ඉතිරි partition එකට තමන්ගෙ පුද්ගලික ගොනු ටික ආපහු පිටපත් කරගන්න. වින්ඩෝස් වලදි flash drive එක පෙන්නන්නෙ මෙහෙමයි:



දැන් ඔය partition දෙකෙන් එකක් වත් Windows Management Console එකෙන් ගිහින් delete කරන්න එපා... My Computer වල පෙන්නන partition එක අවශ්‍ය නම් format කරන්න පුළුවන්. අනිකට අත තියන්න එපා. Flash drive එකේ සම්පූර්ණ filesystem එකටම කෙළවෙයි!!!



මේ සටහනේ මුලින්මත් මම කිව්වනේ අපේ බාල මලයා මට වැඩ වැඩි කරල කියලා. මම දන්න ශිල්ප දාලා අටවලා දීපු හාඩ් ඩිස්ක් එක ගලවලා යාළුවෙකුගෙ මැසිමට හයි කරලා. :-O ඒ මදිවට ඇවිත් කියනවා දැන් අපේ මැසිම වැඩ කරන්නෙ නැතිලු - වයිරස් ඇවිත්ලු! වින්ඩෝස් repair කළාට හරි ගියෙත් නැතිලු!! ඒ මදිවටද මන්දා IDE කනෙක්ටර් එක හරිම තදයිලු!!! :-O :-O :-O

හොඳ වෙලාවට තාම මගේ වයස අවුරුදු 23යි. නැත්තම් එතනම අධිරුධිර පීඩනය ඇති වෙලා මළ ජංජාලයක් වෙන්නේ. මමත් ඉතිං හාඩ් ඩිස්ක් එක ගලවලා ආපහු අර සැත්කම ම කළා. Pins තුනක් යට ගිහින්. කලින් වතාවෙ යට ගිහිපු pin එකත් ඒ අතර! ඒක යට ගිහින් මදිවට කැඩිලා! :-O

මමත් අතෑරියෙ නෑ ගේම් එක... ඒක පෑස්සුවා. අපේ ලොකු මලයා නිකං ඉන්න බැරිකමටද මන්දා පිටකොටුවෙ පේමන්ට් එකෙන් soldering iron එකක් ගෙනත්. ඉතින් දිලිසි දිලිසි අළුත් පිට තියෙන බිට් එක නිසා මම ඒක ගත්තා පාස්සන්න. අළුත් බිට් එක තියෙනකොට පාස්සන්න හරි ලේසියි.

ඉතිං හාඩ් ඩිස්ක් එකේ පරිපථ පුවරුවත් අතට අරං පාස්සද්දි මෙන්න වැදුන නේද කරන්ට්!!! :-O කොරේ පිටට මරේ කියාපි. මේකෙන් ලීක් වෙනවනේ.. :-/ මම හිතුවෙ හාඩ් ඩිස්ක් එක ඉවරයි කියල. පිටකොටුවෙ පීචං තොරොම්බල් කාරයින්ගෙන් එක එක අටමගල් ගන්නවට මම අපේ මලයත් එක්ක වාග් සංග්‍රාමයක යෙදෙන ගමන් පත්තර කොළ කෑල්ලකින් පරිපථ පුවරුවත් අල්ලගෙන කොහොම හරි පෑස්සුම කරල ඉවර කළා. හැබැයි ආපහු පරිගණකයට සම්බන්ධ කරනකම් වැඩේ ෂුවර් නෑ. :(


සමූහ ඡායාරූපය :P


පෑස්සුම කරපු තැන -- මගේ පෑස්සුම් නම් සුමට නෑ... :-/

ඉතින් මේකත් අටවලා හයි කරලා බලද්දි.... දැනෙන සතුට කියා නිම කරන්න බෑ... හාඩ් ඩිස්ක් එක වැඩ කරනවා!! වින්ඩෝස් බූට් වෙනවා.. ඒත් කෝ මේකෙ තිබුණු GRUB එක? එතකොට තමයි මතක් වුණේ මලයා මේකෙ වින්ඩෝස් repair කළා කියලා. හැබැයි ලිනක්ස් partition දෙක තියෙනවා. Bootloader එක නැත!

ඉතින් මේ වෙලාවෙ ඒ හාඩ් ඩිස්ක් එකේ තිබුණු ලිනක්ස් ස්ථාපිතය ගොඩ ගත්තෙ මම මෙච්චර වෙලා විස්තර කරපු USB flash drive එකෙන් තමයි. වැඩි වෙලාවක් ගියෙත් නෑ. Off the Planets ලියන එකාට තැංකූ වේවා!



ඉතින් මට මේකෙන් කියන්න ඕන දේවල් කීපයකුත් තියෙනවා.
  1. IDE හාඩ් ඩිස්ක් වල කේබල් නිතර ගලවන්න/ මාරු කරන්න එපා.
  2. GRUB එකෙන් බූට් වෙන flash drive එකක් ළඟ තියා ගන්න. ඒක ගොඩක් ප්‍රයෝජනවත්. දැනට මම ඒ ගැන ස්වයං හැදෑරීමක් කරනවා. අහල තියෙන විධියට GRUB කියන්නෙ මතුපිටින් පේනවට වඩා වැඩකාරයෙක්!
  3. ලිනක්ස් හරිම සුන්දර OS එකක්... වින්ඩෝස් OS එකෙන් කෑල්ලක් ගලවලා මේ විධියට වෙනම අටවගන්න එක නීති විරෝධීයි. ඒ වගේම ඒ ගැන අධ්‍යයනය කිරීමත් නීති විරෝධීද මන්දා... :-?
  4. පිටකොටුවෙ පේමන්ට් එකේ පීචං තොරොම්බල්කාරයින්ගෙ බඩු ගන්න එපා. මේ ළඟදි මම අඳුනන එකෙක් රුපියල් තිහට Troy ගෙනත්... දාලා බලද්දි මොකක්දෝ පරණ දෙමළ film එකක්ලු. :D :D :D (අර තහනම් කරපුවයින් එකක්වත් වුණා නම් වටිනව නෙව! :P)

තව දෙයක්... මම මල්ලිලා දෙන්න ගැන මෙහෙම කිව්වට... ලිනක්ස් සම්බන්ධ වැඩ වලදි උන් අදක්ෂ වුණාට... අනිත් වැඩ වලදි සූරයෝ. එකෙක් Freelance Graphic Designer කෙනෙක්. පොඩි එකා Martial Arts පොරක්.

අදට ආයුබෝ.....!

෴ සමීර ශාකුන්තල | Sameera Shaakunthala ෴