Showing posts with label මගේ වැඩ. Show all posts
Showing posts with label මගේ වැඩ. Show all posts

Sunday, November 8, 2020

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

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

 

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


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

Thursday, January 16, 2014

PL/SQL වැනුම

සෑහෙන කලකට පස්සෙ තාක්ෂණික සටහනක් ලියන්න හිතුණා. මගේ රැකියාවේ හැටියට බොහොමයක් අළුත් දේවල් අත්හදා බලන්න ඉඩ ලැබුණත්, මගේ රුචිකත්වය අනුව අත්හදාබැලීම් වල යෙදෙන්න තියෙන නිදහස කැම්පස් යන කාලෙ තිබුණ නිදහසට සාපේක්ෂව ගොඩක් අඩුයි. ඒ නිසා තාක්ෂණික සටහන් ලිවිල්ල සෑහෙන අඩු වුණා (නැත්තටම නැති වුණා). බයික් ගැන බ්ලොග් සටහනක් ලිව්වෙ ඒ ගැන යමක් කමක් අත්හදා බලන්න නිදහසක් ලැබුණු නිසා. 2013 මට තරමක් කරදර සිද්ධ වෙච්ච වගේම ගොඩක් වැඩ අධික අවුරුද්දක් වුණු නිසා 2013 අවුරුද්දම මගේ බ්ලොග් එක නිහඬයි. 2014 අවුරුද්දත් එහෙම වෙන්න එපා කියල හිතාගෙනම මගේ ඩේටාබේස් අත්දැකීම මෙසේ සටහන් වන වගයි. :-)

මේක තාක්ෂණික සටහනක්. Database ගැන අත්දැකීම් නැති අයට, IT නොකරන අයට මේක නොතේරෙන්න හොඳටම ඉඩකඩ තියෙනවා. මේක අණ්ඩර දෙමළ වගේ කියල හිතුණොත් මගේ මෝටර්සයිකල් ටුවර් එක ගැන කියවන්න. :)

Wednesday, February 23, 2011

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

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

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

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 ෴

Saturday, May 30, 2009

මගේ laptop එකට වූ හදිය!

එක කාලයක මට සරසවි දේශන වලට සහභාගී වෙන්න දිනපතා අම්බලන්ගොඩ-බම්බලපිටිය අතර දුම්රියෙන් යාම් ඊම් කරන්න සිද්ධ වුණා. එක ගමන්වාරයකට පැය දෙකකටත් වඩා කාලයක් අපතේ යන නිසා මම කල්පනා කළා ඒ කාලයෙනුත් ප්‍රයෝජනයක් ගන්න. දුම්රියේ ගමන් කරන අතරෙදි ලැප්ටොප් එකත් දිගඇරගෙන මොකක් හරි වැඩක් කරන්න පුරුදු වුණේ එහෙමයි.

දුම්රියේ එහාට මෙහාට වැනි වැනී eBook කියවන කාලෙ එකපාරටම මගේ ලැප්ටොප් lid එකේ තද ගතිය ටිකක් අඩු වුණා වගේ දැනුණා. දැන් යන්තම් අත වැදුණත් lid එක පහළට එනවා. මම හිතුවෙ දුම්රිය නිතර ඉහළ පහළ ගැස්සෙනකොට lid එකත් ඉහළ පහළ ගැස්සෙන නිසා ලැප්ටොප් lid එකේ hinge ගෙවිල කියල. ඒත් ඊයෙ දැනගත් විධියට ඒක එහෙම නෙමෙයි වෙලා තියෙන්නේ... දුම්රියේ නැළවිල්ල වැඩිකමටම එක hinge එකක් පුපුරලා! :-O

ඊයෙ රෑ මම ලැප්ටොප් එක මස් කළේ දූවිලි පිසදමන්න. මට ඔය අතරෙ නිකමට හිතුණ මේ lid අවුල ගැනත් බලන්න. එතකොට තමයි මේ ශෝචනීය දසුන දකින්න ලැබුණෙ :( . Hinge එක හදල තියෙන්නෙ 'චීනච්චට්ටි පෙනුමක්' තියෙන සවි ගැන්වූ විශේෂ රෙසින් ප්ලාස්ටික් වර්ගයකින්. ඒක universal joint එකක් වෙලා තිබුණා. :(


මේ hinge එක ඉවත් කළ පසු

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


මේ වර්ගයේ මැලියම් වලින් වානේ පවා ඉතා ශක්තිමත්ව අලවන්න පුළුවන්ලු

ඔන්න ඉතිං අදහස ක්‍රියාවට නංවලා ලැප්ටොප් එකේ නිවෙස්නයත් (housing) සවිකරලා පොඩ්ඩක් lid එක එහෙට මෙහෙට හොලවලා බැලුවා. අර මොකක්දෝ එක කළා කිව්වලු තාප්පෙටම :-O ! මෙහෙයුම එහෙම්පිටින්ම අසාර්ථකයි.

අද උදේ තමයි මම දන්නෙ ප්ලාස්ටික් අලවන්න වෙනම ඉපොක්සි මැලියම් වර්ගයක් තියෙන බව. මම පාවිච්චි කරල තියෙන්නෙ වානේ අලවන්න පාවිච්චි කරන එකලු. කවුද ඉතිං ඕව දන්නෙ... ඇලෙව්වා අතට අහු වෙච්ච එකෙං... ඉතිං හරි යාවියැ?

දැන් hinge එක වටේට මැලියම්. ඒක සුද්ධ කරන්න අමාරු වෙයි. කොහෙන් හරි අළුතෙන් එකක් හොයාගන්න වෙනව. දුක තමා... :(



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

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

Tuesday, December 30, 2008

ආසයි මේකත් මස් කරන්න

මේ තියෙන්නෙ මං assignments, projects කරන, මම ඉගනගන්න, බ්ලොග් ලියන්න පාවිච්චි කරන ලැප්ටොප් යන්ත‍රේ. පසුගියදා මේකෙ වගකීම් කාලසීමාව අවසන් වුණා. මාත් ඉතිං අවුරුද්දක් තිස්සෙ පෙරුම් පුරාගෙන හිටියෙ මේ මොහොත උදා වෙනකං. පිලිප්ස් ස්කුරුප්පු නියනකුත් අරගෙන මං වැඩේට බැස්සෙ හරිම ආසාවෙන්.









පංකාව වටේ දූවිලි විමානයයි. අවුරුද්දක් තිස්සෙ සුද්ධ කරල නැහැනෙ. දූවිලි ‍බැඳෙන්නෙ නැතුව තියේවියැ; අපට කොහෙද AC කරපු කාමර? කොහොම හරි මද්‍යසාර ස්වල්පයක් පාවිච්චි කරල පරිස්සමින් පංකාව වටේ පවිත්‍ර කළා. දැං බලන්න ලස්සනයි. බබා වගේ.

ඔය CPU එකේ ඉඳල පංකාව පැත්තට යන මහත තඹ කම්බිය තමයි තාප ගිල්ලුමයි (heat sink) පංකාවයි අතර ප්‍රධාන තාප සන්නයන මාධ්‍යය. බලමුකො ඒකෙත් හැටි! සාමාන්‍ය desktop පරිගණකයක heat sink හදන්නෙ ඇළුමිනියම් මිශ්‍රලෝහයෙන් (alloy). මේකෙ තඹ! (තඹ ඇළුමිනියම් වලට වඩා මිලෙන් වැඩියි)

ඔය කළුපාට දිලිසෙන සිහින් වයරය තමයි Wi-Fi ඇන්ටෙනාව.

මම ලැප්ටොප් පරිගණකයක නිවෙස්නය (housing) විවෘත කරපු පළවෙනි වතාව තමයි මේක.

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

Saturday, December 27, 2008

මගේ බ්ලොග් ලිවිල්ල හා අළුත් කඩු හරඹය

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

මේ අවුරුද්දෙ මැද විතර UCSC LODGE පටන් ගත්තම ඒකෙ මම ඉගෙනගන්න තාක්ෂණික දේවල් බ්ලොග් එකකින් ලියන්න පටන් ගත්තා කඩ්ඩෙන්. UCSC LODGE එක UCSC ශිෂ්‍ය සංගමයෙ වැඩක් නිසා UCSC එකේ මගේ බ්ලොග් එක කියවන්න අය කොහොමත් ඉන්නවා. ඉලක්කය junior batch එකේ අය සහ UCSC ඉදිරි පරම්පරාව. ඒ අයට තමන්ගෙම කියල කියන්න පුළුවන් තැනක ප්‍රයෝජනවත් යමක් ඉතිරි කරල යන එකයි මගේ UCSC LODGE බ්ලොග් එක ලිවීමේ අරමුණ. ඒ නිසා මම ඒකෙ ලියන්නෙ අනෙක් අයට ප්‍රයෝජනවත් වෙන තාක්ෂණික දේවල්ම පමණයි. ඒක දෙමළ, මුස්ලිම් (සිංහල නොදන්න අය) අයටත් කියවන්න පුළුවන් වෙන්න කඩ්ඩෙන්ම ලිව්වා. ඔන්න ඔය කාරණා නිසා හිතට එන අනං මනං ඒ බ්ලොග් එකේ ලිව්වෙ නැහැ. ඒවයින් කාටවත් ප්‍රයෝජනයක් නැහැනෙ.

ඊළඟට ශාකුන්තලගේ සටහන් පොත. ඒ කියන්නෙ ඔයා දැන් කියවමින් ඉන්න එක. අහම්බෙන් ‍වගේ සිංහල වචනයක් සිංහල අකුරෙන්ම ගූග්ල් එකෙන් හොයද්දි තමයි මම සිංහල බ්ලොග් කියවන්න සෙට් වුණේ. Ubuntu වල සිංහල අවුල විසඳගන්න හැටි UCSC LODGE එකේ සිංහලෙන්ම ලිව්වට පස්සෙ තමයි මම මුළුමනින්ම සිංහල බ්ලොග්කරුවෙක් වුණේ. ඊට පස්සෙ දන්න සිංහලෙන්ම ලියන්න මේ බ්ලොග් එක හැදුවා. මේ බ්ලොග් එක මම තියාගෙන ඉන්නෙ කප්පාදු කරපු ක්‍රෝටන් පාත්තියක් වගේ. අනම් මනම් පිස්සු විකාර නැතුව පුළුවන් තරම් ලස්සනට පිළිවෙළකට මේක තියාගන්නයි උත්සාහ කරන්නෙ. ඒත් ඉතින් ඔය න්‍යායෙන් පිට පැනපු තැන් නැතුව නොවෙයි.. හරියට ‍මේ සටහන වගේ :D . කොහොම කොහොම හරි මේකෙත් පිස්සු කෙළින්න බෑ.

ඊළඟ එක තමයි කැම්පස් ආතල් බ්ලොග් එක. අපේ බැචාලා ගන්න ආතල්.. සරසවි කුරුටු ගී.. ඔන්න ඕව ලියවෙන තැන තමා ඒක. ඒකෙ ඕන දෙයක් ලියන්න පුළුවන් තමයි.. ඒත් ඒක අපේ බැචාලා අතර පමණයි. ඒකත් හරියන්නෙ නෑ.

තව ටිකෙන් අමතක වෙනවා.. මිනි බ්ලොග් මැරතන් වලට හදපු එක.. Hayabusa the Marathoner. මේකෙ කඩු ගතියක් තිබුණට වැඩ සුද්ධ සිංහලෙන්. ඒ වෙලාවට බලමුකෝ.

ඔය නිසා මගේ ඔළුවට එන අනංමනං අදහස් ලියන්න මම අද අළුත් බ්ලොග් එකක් හැදුවා. ඒ බ්ලොග් එකේ නමේ, URL එකේ ඉඳල අගට යනකම් හැම දෙයක්ම පිස්සු විකාර කියල කෙනෙක් කිව්වොත් මම විරුද්ධ වෙන්නෙ නැහැ. කැමති නම් ගිහින් බලන්න, Shaakunthala's Geekbook. දැන් සිංහලෙන් ලියන්න පටන් අරගෙන නිකං කඩ්ඩත් අමතක වේගෙන යනව වගෙ නිසා ඒක ලියන්නෙ කඩ්ඩෙන්. ඒකෙ ලියනව ඔය අනංමනං බහුබූත. ඒවයින් කාටවත් ප්‍රයෝජනයක් නෑ. නමුත් කොහෙ හරි ලියල තියන්න ඕන කියල හිතෙන අච්චාරු සටහන් ඒකෙ ලියනව.

මේ සටහන කියවූ ඔබට මගේ හර්දයාංගම ඉස්තූතිය!

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

Saturday, December 13, 2008

පරණ assignment එක සහ තවත් එක් network කතාවක්

කැම්පස් එකේ පළමු වසර දෙවන සෙමෙස්ටරයේ අපට ලැබුණු එක පැවරුමක් (assignment) වුණේ ලිනක්ස් මෙහෙයුම් පද්ධතියක් මත HTTP version 1.0 අනුව ක්‍රියාත්මක වන වෙබ් සර්වර් එකක් නිර්මාණය කිරීම. මම සෑහෙන උනන්දුවකින් කළ assignment එකක් මේක (අළුත් අවුරුද්දෙ නොනගතය වෙලාවෙත් වැඩ). ආදර්ශණය සඳහා HTML පිටු කීපයකුත් නිමැවුණා. මේක මහා ලොකු වැඩක් නෙ‍වෙයි. බබා සර්වර් එකක්. ගිනි හිවල ඉල්ලුවම දෙන්න විතරයි තිබුණෙ. :D
මේක මට වැදගත් වෙන්නෙ මම මෙයින් ලද දැනුම් සම්භාරය නිසා. Assignment එක භාරදීල සති ගණනක් ගිහිල්ලත් මට පරිගණකය ඉදිරිපිටට වෙලා කේත ලියන එක නතර කරගන්න බැරි වුණා. Server Sockets වලින් කරන මේ සෙල්ලමට එතරම්ම මගේ හිත ඇදී ගියා. අන්තිමේ ඒ දැනුම පාවිච්චි කරල සරල (බබා) chat server එකක් සහ proxy server එකක් නිර්මාණය කළා. ලොකු ලොකු වැඩ වලට බහින්න බැරි වුණේ කැම්පස් එකේ NAT (Network Address Translation) අක්‍රිය කර තිබීම නිසයි. පසුව තව තව assignments සෙට් වුණු නිසා වැඩේ අල්ලල දැම්ම. අනිත් දේවලුත් ඉගෙනගන්න එපැයි. ;)
---
අද නිකමට පරණ assignment එකෙන් සෙල්ලම් කර කර ඉඳිද්දි තමයි දැක්කෙ telnet එකෙන් පොඩි සෙල්ලමක් දාපු ගමන් බබා ඩවුන් කියල. කමක් නෑ දැන් බාර දීල ඉවරයිනෙ. මොනව කරන්නද? අනෙක error handling අවශ්‍ය නෑ කියල තිබුණ.. ඒ නිසා බයක් නෑ.. :)

Browser has made a connection to the server.
Browser requests: nawathiyan yako!!!!!!!!!!!!
Error: String index out of range: -1

ඔන්න බබා මළා!



හරි.. ජාලය සම්බන්ධ තාක්ෂණික කතාව මේකයි.
Dialog HSDPA අන්තර්ජාල සම්බන්ධතාවයෙ කෙරෙන්නෙ ග්‍රාහකයන්ට NAT සක්‍රීය කළ dynamic IP ලිපින ලබා දීම. ඒ කියන්නෙ මම දැන් විසන්ධි කරල ආයෙම සම්බන්ධ වුණොත් මට ලැබෙන්නෙ වෙන IP එකක්. (කොහොම වුණත් Dialog එපා වෙන්නෙ Rapidshare වලින් මොනවහරි බාගන්න ගියාම තමයි. :( )
මේ ක්‍රමය නිසා (සියළුම) Dialog HSDPA ග්‍රාහකයින් ඉන්නෙ එකම subnet එකක. මම බබා සර්වර් එක ක්‍රියාත්මක කරල Dialog HSDPA පාවිච්චි කරන යාළුවෙකුට Gtalk හරහා මගේ IP ලිපිනය දුන්න.. මේ වගේ. http://***.***.***.***:3001/
"ඒක වැඩ කරනව මචෝ" එහා පැත්තෙන් reply එක ආවා. මේ server එක local loopback එකෙනුත් ගෙදර අනෙක් පරිගණකය මගිනුත් පරීක්ෂා කර තිබුණත් මේක ඊට වඩා ආතල් වගේ.

ඊලඟට කළ වැඩේ මේකයි.
මම එවෙලෙ වැඩ කරමින් උන්නෙ Windows වල. මම හවුල් බහාලුමක් (Shared Folder) හදල යාළුවට කිව්ව Windows Explorer හරහා \\***.***.***.***\Shared\ යන්න පුළුවන්ද බලන්න කියල. වැඩේ හරි. මිත්‍රයා මට ඒ ටිකට මට MP3 එකකුත් එවල. නමුත් upload වේගය ගොඩක් අඩුයිලු. (ඒකනෙ HSPA කියන්නෙ නැතුව HSDPA කියන්නෙ :D )
මට එවෙලෙ හිතුණෙ මේක මාරයි කියල. මොකද අපි කරන කණ්ඩායම් ව්‍යාපෘති වල අදාළ ගොනු වැඩ කරන වෙලාවෙම share කරගන්න පුළුවන් කියලයි මට හිතුණෙ. Username එකකුයි password එකකුයි දුන්නම ඒක දන්න අයට විතරයි ප්‍රවේශ වෙන්න පුළුවන්.
ඔහොම ටිකක් වෙලා ආතල් එකේ ඉන්නකොට avast කියාපි අර shared folder එකේ virus එකක් තියෙනව කියල. දැන් තමයි දෙලෝ රත් වුණේ. ඒක ඩිලීට් කරගමන්ම දෙවෙනි එක හම්බ වුණා C:\Users\All Users\Documents\ ඩිරෙක්ටරිය ඇතුලෙ තිබිල.. අජීර්ණයක් වගේ..
මම වහාම ක්‍රියාත්මක වන පරිදි shared folder එක ඉවත් කළා.. (අනෙක් ඩිරෙක්ටරියත් shared වුණාට ඉවත් කළේ නැහැ) යන්තම් ඇති. Virus මම පරිගණක නොදන්න කාලෙ මට හොඳ ආතල් දීල තියෙනව. දැන් නම් virus එකක් ආවොත් අයින් කරගන්න එක ගේමක් නෙවෙයි. ඒත් ඒව කරන්න ගියොත් අපේ project කරගන්න වෙලාවක් නැති වෙනවා.

13-Dec-2008 9:19 PM Shaakunthala 1960 Sign of "Win32:Trojan-gen {Other}" has been found in "D:\Entertainment\Shared\ltsnpb.exe" file.
13-Dec-2008 9:20 PM Shaakunthala 1960 Sign of "Win32:Trojan-gen {Other}" has been found in "C:\Users\All Users\Documents\ltsnpb.exe" file.

ඔන්න ඔහොමයි අද ගත්ත ආතල් එක. අත්දැකීම් ටිකක් විතර එකතු වුණා. ඒක වටිනවා. පිටු 1000 ක් 2000 ක් තියෙන පොත් ගිරව දානවට වඩා මේ ලබන අත්දැකීම් පොඩි වුණත් වටිනව කියලයි මට හිතෙන්නෙ.

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

Monday, November 10, 2008

වෙන වැඩ නැතුවට...

Dialog HSDPA සම්බන්ධතාව පාවිච්චි කරන අය මේ මොකක්ද කියා දන්නවා. හැබැයි කාටවත් මේ වැඩේ වැදගත් කමක් ඇති කියල නම් මට හිතෙන්නෙ නැහැ. මේ තිර රූපසටහන ක්ලික් කරල හොඳට ඒ දිහා බලන්න.




Sunday, October 19, 2008

Sri Lanka Flag Screen Saver

මේක මම 2007 අවුරුද්දෙ Visual Basic 6.0 භාවිත කරමින් කළ නිර්මාණයක්. මම මෙහෙම දෙයක් කරන්න හේතු වුණේ මීට කලින් මේ වගේ ‍නිර්මාණයක් දැක නොතිබීම. සජීවීකරණය Macromedia Flash වලින් හදපු එකක්. මම ග්‍රැෆික් නිර්මාණකරණයේ එතරම් දක්ෂයෙක් නොවන නිසා ඒක හිතපු තරම් ලස්සනට හදන්න බැරි වුණා.
Screen Saver නිර්මාණය කරන්න පුළුවන් මෘදුකාංග වෙනම තිබුණත් ඒවායින් හදන screen savers වල කොතැනක හරි ඒ මෘදුකාංගයේ නම සඳහන් වෙනවා (Created with @#$%^^). ඒ වගේම ප්‍රකාශන හිමිකම් සඳහන (Copyright Notice) බලන්න. නමුත් මේ screen saver එකේ එහෙම වෙනත් මෘදුකාංගයකින් නිර්මාණය කරපු බවක් දක්වල නෑ.


---

Linux සඳහා screen savers නිර්මාණය කරන්නෙ කොහොමද කියල මම මේ දවස් වල හොයනව. දැනගත්ත දවසක මේක මම නැවත Linux සඳහා නිර්මාණය කරල බෙදාහරිනව GNU/GPL යටතේ.

---








~ ශාකුන්තල ~