Tuesday, 29 December 2009

ඕපදූප සහ ක්‍රොස් සයිට් ස්ක්‍රිප්ටින්

මාස තුනක් උනා අන්තිමට post එකක් දාලා.

ඔය සුලු කාලෙට උබන්ටු 9.10 relese උනා, ssh ආයෙත් වතාවක් දනින් වැටුනා( https:( ), සුප්‍රසිද්ධ Shaolin Temple website එක සති දෙකක් ඇතුලත පිට පිට තුන් පාරක් hacker attacks වලට ලක් උනා, Twitter එකේ user password එක වෙනස් කලාට පස්සෙත් 3rd party application වලට account එක access කරන්න පුලුවන් flow එකක් තිබිලා හොයාගත්තා, ලාවට හිම වැටුනා, iPhoneවලට බැන බැන හිටපු änthräXට iPhone user කෙනෙක් වෙන්න සිද්ධ උනා, änthräX ඇටයා කාලේ කසනවට ලියපු විද්‍යා ප්‍රබන්ධ තියන පොතකක් änthräX ගේ මලයා විසින් හොයාගන තිබුනා, යස අගේට foss වෙලා හිටපු HD Moore කොලුවව Rapid7 එකේ වැඩට ගත්තා (ඒකත් කාල ඇදල ඉන්න එපැයි), Internet Explorer 8 වල 0day එකක් leek උනා (ඕකත් නිව්ස් ද, හැමදාම වෙන එකනේ), SBU කට්ටිය මුණගැහුනා, änthräXගේ රාජකාරි ආයතනයට ලියපු gigantic pain in the @$$ project එකේ white box testing ඉවර උනා, sherlock Holmes movie එක release උනා සහ තව තව දේවල් අම්බානක් උනා.

වැඩි විස්තර කියන්න කලින් ඔන්න කට්ටියටම ලබන්නා වූ 2010, කිරියෙන් පැණියෙන් ඉතිරෙන(ආවඩා..), සිහින සැබෑ වෙන(ආවඩා..),crushes->relationships වෙන(ආවඩා..), interviews->jobs වෙන(ආවඩා..), අම්බානට වෙරි වෙන(ආවඩා..), පඩි වැඩි වෙන(ආවඩා..), promotions හම්බෙන(ආවඩා..), විභාග පාස් වෙන(ආවඩා..) ඉටිම ඉටිකිරිස් අවුරුද්දක් වේවා කියලා සුබ ප්‍රාර්ථනා කරනවා.

දෙයියනේ කියල පොඩ්ඩක් වේගෙන් කර කර හිටපු සිංහලෙන් ටයිප් කෙරුවාව ආයෙත් හොදටම "කෝ කෝ" වෙලා. ඒ මදිවට ලියාගෙන ආපු එක දැන් මතක නෑ.

XSS
ක්‍රොස් සයිට් ස්ක්‍රිප්ටින් කියලා කතාවක් ඔයාල අහල ඈතුවට කිසිම සැකයක් නෑ. අර අවුරුදු එකහමාරකට විතර උඩදි facebook ට ඇදගන නාන්න සිද්ධ උනේ? අපි හුගදෙනෙක් tinyurl, tr.im වගේ සේවාවන් වලට බරපතල විදියට ඈබ්බැහි වෙලා ඉන්න නිසා සහ තමන්ගේ බ්ලොග් තමන්ම host කරගෙන maintain කරන අයට පොඩි අදහස් ටිකක් දෙන්න හිතාගෙන තමයි මේ ලිපිය ලියන්නේ. (සහ වෙන ලියන්න දෙයක් ඔලුවට ආවෙ නැති නිසා)

යාලුවෙක් ගෙ post එකකට comment එකක් දාද්දි < a > </a> පාවිච්චි කරලා link එකක් දාන්න අපි හැමෝම දන්නව නේද? gmail වල password එක save කරල තියෙද්දි javascript: alert(document.getElementById('Passwd').value); කියලා password එක බලන්නත් දන්නව නේද? ඔය දෙක එකතු කලොත් මොකද වෙන්නෙ කියලා හිතුවද?? හරි හරි, වෙන page එකක ඉදන් තව page එකක password එකක් බලාගන්න බෑ තමයි. නමුත් account එකකට log වෙන්න username සහ password ඕනමද?

1. log වෙන්න ඔයාගෙ gmail account එකට
2. click කරන්න inbox එකේ තියන කැමති mail එකක්
3. address bar එකේ තියන address එක select කරලා ctrl+c ගහන්න (copy කරගන්න)
4. දැන් gmail tab එක close කරන්න. (log out වෙන්න එපා)
5. ctrl+t ගහලා (වෙන tab එකක් අරන්) address bar එකේ ctrl+v ගහන්න(paste කරන්න)

tab එක close කරන්න කලින් බල බල හිටපු mail එක එහෙමම පේනවා නේද? (IE6 නම් පාවිච්චිය, browser එක close කරලා open කලත් page එක පේන්න ඕනා)

එහෙම වෙන්නේ කොහොමද? band width save කරන්න සහ page loading speed එක වැඩි කරන්න web pages වල පාවිච්වි කරන cookies කියලා ජාතියක් ගැන අහල තියනව නේද?
එයා කරන්නේ නැවත භාවිතාකලහැකි ආකාරයේ දත්ත, පරිශීලකයාගේ පරිඝණයේ රදවාගන්න එක. එහම තියනකොට පරිශිලකයා එකම තොරතුර ආයෙත් ඉල්ලපුවහම browser එක කරන්නේ server එකත් client එකත් අතර තියන session එක valid ද කියලා බලන එක. අපි log out උනේ නෑ නේ. එහෙම උනාම server එක එකතරා කාලයක් තිස්සේ session එක validව තියාගන්නවා. ඒ කාල පරාසය ඇතුලත අපි අර session ID එකත් එක්ක request එකක් යැව්වොත් කතා දෙකක් නෑ server එක අපිට authorized connection එකක් දෙනවා. ඕහොම කරනවට තමයි සිංහල භාෂාවෙ "session hijacking" කියන පදය යොදාගැනෙන්නෙ.

වැඩේ පැහැදිලි කරන්න gmail ගාවගත්තට practical attack එකක් නම් මේ විදියට කරන්න අමාරුයි, මොකද google මේ වගේ දේවල් වේනන්න තියන ඉඩ අහුරලයි තියෙන්නෙ. නමුත් ඔයා පොදු තැනක ඉදන් internet access කරනවා නම් මේ වගේ message එකක් ආවොත්, එතනින් එහාට නොයන එක ඈගට ගුණයි.


කතන්දරේ තියරිය ඕකයි. ඕක practically implement කරන්න නම් ඉතින් blog එකක, forum එකක, guest book එකක flow එකක් හොයාගන්න වෙයි. ;)
(උනන්දුවන් සදහා පමනයි: පරණ බඩු මෙතනින් හොයාගන්න)

facebookට වෙලා තිබුනෙ, ඔයාට ඔයාගෙ යාලුවගෙ wall එකේ ලියන්න පුලුවන්කම තිබ්බා script එකක් එක්ක, කිසිම කරදරයක් නැතිව එයාගේ cookies ටික ඔයාට ලැබෙන්න.

------හොද පුරුදු-------
1. IE වෙනුවට firefox පාවිච්චි කරන්න. firefox දිරවන්නෙ නැතිනම් chromeවත්.
2. firefox වල update එකක් තියනව කියලා message එකක් ආවොත් හිත හිත ඉන්නෙ නැතුව update කරන්න.
3. firefox වල edit->preferences (windows නම් tools->options) ගිහින් privacy tab එකේ "firefox will" කියලා තියන drop down list box එකෙන් "use custom settings for history" තෝරලා "accept third party cookies" වලට යටින් තියන "keep until" කියලා තියන drop down list box එකේ "i close firefox" කියලා තෝරන්න.
4. කිසිම site එකකට log වෙනකොට browser එකට username/password එක save කරන්න දෙන්න එපා.
5. මොකක් හරි site එකකට certification error එකක් ආවොත්, හොදටම දන්නවනම් මිසක් exception එකක් add කරන්න එපා. (පොදු ස්ථානයක ඉදන් Internet access කරනව නම් කොහොමටවත් certificate exception එකක් add කරන්න එපා)
6.තමන්ගේ ලිපියකට image එකක් add කරද්දි කවදාවත් වෙන site එකක තියන image එකකට point කරන්න එපා. image එක download කරගෙන ඔයාගේ site එකට හරි, ඔයාගෙ picasa account එකට හරි upload කරලා පාවිච්චි කරන්න.
7. tinyurl හරි trim වගේ link එකක වගේම සාමාන්‍ය දිග url එකක උනත් click කරපුවහම message box එකක් ආවොත් උවමනාවෙන් ඒ දිහෑ බලන්න ආපු message එක genuine එකක් ද crafted එකක්ද කියලා.
8. තමන් ගේ site එකේ blog එකක්, forum එකක්, guest book එකක් තියනව නම් අලුත් updates/patches දාලා ආරක්ශිතව තියාගන්න. user කෙනෙක්ට use කරන්න පුලුවන් tags සීමා කරන්න. XSS කරන කෙනෙක්ට ඔයාගෙ site එක අතකොලුවක් කරගන්න දෙන්න ඒපා.
9. page එකක කොහේ හරි වහපු නැති tags තියනවද කියල විමසිලිමත් වෙන්න.
10. තමන් ඉගනගත්තු දෙයක් තව කෙනෙක්ට යහපතක් කරන්න මිස හානියක් කරන්න යොදාගන්න ඒපා. දන්න දෙයක් බෙදාගන්න මැලි වෙන්න එපා.

සුපුරුදු අපැහැදිලි ගතියට සමා වෙලා ප්‍රශ්ණ තියනව නම් අහන්න.

ආයුබෝ වේවා..

එලවන්නට කලින්

ආයිබොන්ඩලා..

sbu එක පැත්තෙ එන්න බැරි උනා හෙන කාලෙකින්. තාම පණ පිටින්ද බලලා mail කරපු දුකා, පොතේ ගුරා, රොයිලි ඇතුලු හැමෝටම ඉස්තූතී. සති එකහමාරක ඉදලා බ්ලොග් කියව කියව හිටියෙ කික් එක ගන්න. රනා එවපු mail එකක් කියවලා මරණ බයෙන් ගැහි ගැහී තමයි මේ පෝස්ට් එක දාන්නේ, මාව sbu එකෙන් එලවන්න කලින්. හෙටින් "සද්ද නැතිව ඉන්න පුලුවන් මාස තුන" ඉවරයි. ලියන්න දෙයක් හිතලා ලියනකන් මාව එලවන්න එපෝ...

P.S.
දන්න කෙනෙක් ඉන්නවනම් කියනවද රනා කොයි ඉස්කෝලෙ ප්‍රින්සිපල් ද කියලා...

Wednesday, 30 September 2009

කලකට පස්සේ...

ආයිබොන්ඬලා, කාලෙකින් ලියන්න බැරි උනානෙ මොකුත්. වැඬේ කියන්නෙ පොඬ්ඬක් අතපහු උනාම හිතනවා 'දෙන එක දෙනවා සිරා පෝස්ට් එකක් පොරි හැලෙන්න' කියලා. අන්තිමට බලද්දි කෙස් හැලිලා යනකන් පෝස්ට් එකක් ලියලා නෑ. :D මැණික් කැටේ ගැන අහන්න ඉස්සෙල්ල ඕන් කිව්ව මේ දවස්වල programming අජීරණය වෙලා ඉන්නෙ. අනේ තරහනම් වෙන්න එපා තව මාසෙකට Ruby ගැන ලියන එකක් නෑ. මගෙ මහ එකා සුපුරුදු පරිදි මම කියන එක අහන්නෙ නැතුච (මම කලු නිසා හෝ ඌ බොස් නිසා) උගෙත් හත් පොලේම ගාගෙන මගෙත් සරුවාන්ගෙම ගාගන්න උදව් කරනවා මේ දවස් වල. ගිය සෙනසුරාදා රෑ වැඬි වෙලා කබරයා දාද්දි අමුත්තක් දැනිලා පොඬ්ඬක් උවමනාවෙන් බැලුවා දාපුවා දිහෑ... :S dll files වගේකුයි MFC codingවගේකුයි .හොද වෙලාවට බීලා වැඬි උනේ, නැත්නම් C++ විස වෙලා මැරෙන්න වෙන්නෙ.

මගෙ හිතේ තරහ නිවෙන්නයි, ඔයාලට පොඬ්ඬක් හිනා වෙන්නයි අපේ මහ එකාගෙ වීර කිරියා දෙක තුනක් කියන්නම්කො. මේකා මගෙ මහම මහ එකා නෙමේ හොදද? මගෙ immediate මහ එකා. කතන්දර වලට කලින් බුවා ගැන පොඬි ඉන්ටඬස්සන් පාරක් දෙන්නම්කො. 6'6"ක් විතර උස, ඌරෙක්ට වඬා පොඬ්ඬක් කෙට්ටු (බැබුන් එකෙක් විතර), කවුරු මොනවා කිව්වත් තමන්ගෙ මතේ විතරක් හරි කියන, අවුරුදු 18ක් තිස්සේ IT කලා කියන (පොරමයි කියන්නෙ හරිද) නමුත් windows ඬොමේන් එකට user කෙනෙක් add කරගන්න බැරි, ඕනම equipment එකක් ලගින් ගිහින් කඬන්න පුලුවන් අපූරු බලයක් තියන, ලාවට විතර racist පොරක්. ආහ්.. ginger hair ත් තියනවා.(ginger හිසකේ තියන බුවාලට යාලුවෝ නෑ කියන එක හරි ප්‍රසිද්ද කතාවක් මෙහෙ, අර බ්ලොන්ඬ් කෙල්ලෝ මෝඬයි වගේ) මම ඉතින් 6'ක් විතර උස ගිනිසීරිය පොල්ලක් විතර මහත බුවානෙ. (මෙයාම තමා මට £20ක් පැරදුනේ අර fingerprint reader තියන vista laptop එක ගැන පම්පෝරි ගහලා)

server එකේ කථාව
දවස මතකනැති දවසක DHL බුවෙක් ආවා ලොකුවට HP කියල ගහපු පත පෙට්ටියකුත් උස්සගෙන උදේම 'Mr. XX?' කියාගෙන. මම ඉතින් එහා පැත්තෙ කාමරේට ඇගිල්ල දික් කලා. DHL බුවා යන්න ගියා, අපේ බුවා පෙට්ටියත් උස්සගෙන කොහද ගියා, මටත් සීන් එක අමතක වෙලා ගියා. හවස හතරට විතර මූ මට අඬගහලා කියපි 'you gonna have to sort out the new server' කියලා. මාත් ඉතින් ඔලුව වනලා හිටියා. (උජාරුවට කිව්වට ඉතින් මේක කොහෙත් තියන ජාතියෙ බොහොම සාමාන්‍ය server එකක්) පහුවෙනිදා උදේම මම වැඬ ඇල්ලුව අලුත් server එක install කරන්න. අමතක උනානෙ කියන්න, අපිට තියෙන්නෙ win 2000 server licence. කිසි අවුලක් නැතුව install නම් උනා. මෙන්න activate කරන්න internet යන්න බෑ. අපරාදෙ කියන්න device manager ගියපුවම network card එකටයි, vga එකටයි තව තව හැටකටයි විතර drivers නෑලු. 2000 නෙ කියලා බිල් මහත්තයට බැන බැන server එකේ driver cd එක දැම්මා. windows 2003 වලටයි, 2008 වලටයි linux වලටයි විතරයි driversතියෙන්නෙ. hp site එකට ගියාම කියනවා 'We don't support 2000 any more' කියලා. මුගෙ @$#&£ මට කුනුහරුපයක් කියවුනා. එහා පැත්තෙ උන්න එක්කෙනෙක් හිනාවෙලා කියනව බොස් මහත්තය ඊයෙ දවස පුරාවට ඕක එක්ක ඔට්ටු උනාලු. මට බොසාව කන්න තරහයි. වේලාසනින් කිව්වනම් මුගෙ කට හම යනවද? මාත් අල්ලලා දාලා නිකන් හිටියා. පහුවෙනිදා හෙන සද්දෙ, මට ඒ පොඬි වැඬේ වත් කරගන්න බැරිද අහනවා. මමත් ඉතින් ඔලුව නමන් හිටියා.'so, what can we do about this' පොර හැමදාම රෙවුනම දාන වාක්‍ය දැම්මා. 'we either have to buy windows or have to rely on linux':D මම ඇගට නොදැනී කිව්වා. 'alright then, i'll leave you to it' බුවා කියපි. මාත් ඉතින් CentOS දාලා වැඬේ ශේප් කොලා. මට මාර හැපි බුවාට පාඬමක් ඉගැන්නුව කියලා. කොහෙද, එදා ඉදලා printer එක jam උනත් හැම එකාම මන් ලගට දුවන් එනවා. අප්පේ මම කොරගත්තු ගොන් කමක්. :(

stock control එකේ කථාව
ඔන්න අපිට stock control system එකක් ඕන උනා. මමනෙ ඉතින් කොයි එකටත් කරගහන්න ඕනා. මහ එකා කියනව 'we need a system with basic requirementsලු. මම ඉතින් රට වටේ ගියා එක එකාගෙන් අහ අහ මොනවද මේ basic requirements කියලා. එක එකා උනට ඕනා විදියට වැඬ කොරන්නෙ බලන් ගියාම. මම ඉතින් මහ එකා ලගට ගිහින් මගෙ පස්නෙ ඉදිරිපත් කොලා.(හම්බෙන උත්තරේ නොදැනමත් නෙමේ). මූ කියපි වැඬේ කරන්න පටන් ගන්න, පස්සෙ උවමනා හැටියට වෙනස් කරමු ලු. මරු technical manager නේද? මාත් ඉතින් ප්ලෑනක් නැති ගේමක් ගහන්න netbeans ඇරගෙන වෑඬ පටන් ගත්තා. පහුවෙනිදා වැඬ කර කර ඉන්නකොට ආව බුවා හොම්බ දාන්න.
'what is this?' මූ Netbeans IDE එක පෙන්නලා අහනවා.'Netbeans' මම කිව්චා. 'What the hell is that?'පොර ඇහුවා. 'an Integrated Development Environment' වෙන මොනව කියන්නද? 'never hurd of it' මට යකා නැග්ගා. අහල නැත්තම් කට පියාගන ඉදින් කො මට මගෙ වැඬේ කරගන්න දීලා.'anybody who done some programming have herd about it, it is well known as a java IDE. in fact it is being around for 8-9 years' මාත් කට පියාගෙන ඉන්න බැරුවට කියවගෙන ගියා. 'java is shit. i wouldn't let you run java on my server' ඔන්න පොරගෙ තරහ පිට කිරිල්ල. (හික්ස්, මහ ලොකුවට my server කිව්වට ඒක අල්ලන්නෙවත් නෑ) ඕහොම කිව්ව පලියට වෙනස් කරන්න පුලුවනෑ. මම ඉතින් සද්ද නැතිව වැඬෙ දිගටම කරන් ගියා.
කොහොම කොහොම හරි පොරට හොම්බ දාන්න එන්න බැරි උනා මම වැඬේ ඉවර කරනකම්. මාත් ඉතින් සද්ද නැතුව glassfish එහෙම දාලා බඬු deploy කලා server එකේ. bugs දෙකතුනක් තිබිලා හැදුවා, ඉල්ලපු ඉල්ලපු විදියට වෙනසුත් කරලා. පොර බලලා කියනවා, hmm, you did this in PHP? . මට වැරදිලා කියවුනා "no, JSP" කියලා. "hmm, something smiler to ASP eh?" පොර හෙන ලොකුවට අහනව. මාත් ඔලුව වැනුව. මොකටද දැන දැන ඉල්ලන් නාගන්නෙ යන්තම් ශේප් වෙච්ච එක. පොරට රෙද්ද පෙන්නන්න විතරයි ඕනා කපලා, මහලා ඇදගන්නවා. දැනටත් අපේ බුවාලා වැඬ කරන්නෙ ජාවා නොවන JSP stock control එකක. හික්ස්.
(ගීක්ලා නොවන අයගේ හිත සුව පිණිස JSP=Java Server Pages)

c++ කියාදීපු කථාව.
අපිට අලුතෙන් cleaner කෙනෙක් ආවා, ගෑණු පරාණයක්. එසේ මෙසේ එකක් නෙමේ, කාන්ති කඬාහැලෙන පිස්සු කොර කෙල්ලක්. එනකොට ඇදගෙන එන ඒව දැක්කම හොල්මන් වෙනවා. අර කක්කි ෆිල්ම් වල ඉන්න cleaner කෙනෙක් වගේ. වැඬේ කියන්නෙ කෙල්ල වැඬ පටන් ගත්තෙ මගෙ බොසා මහත්තයා නිවාඬු දාපු සති දෙකේ. ඔන්න බොසා මහත්තයා ආවට පස්සෙ කෙල්ල මුලින්ම ආපු දවස. කෙල්ලව දැක්ක විතරයි අපේ බුවා අමුතුම චරිතයක්. උදේ ඉදලා බොරුවට එහෙට මෙහට වෙවී හිටය එකා මාර බිසි උනා. කෝල් ගන්න්වා, printouts ගන්නවා, එහට දුවනවා, මෙහෙට දුවනවා, මට කෑ ගහගහ එක එක එවා අහනවා. එකම ඇඬ් එකයි. මෙන්න බොලේ මූ මා ලගට ඇවිත් අමුතුම ඇඬ් එකක් දාපි. 'i've notice you been struggling with that part of the code. i'll walk you though it' මට උඬ යට නෑ. අවුරුදු 11ක් තිස්සෙ develop කරල තිබ්බ නමුත්, internal හෝ external documentation එකක් නැති මාගල් පහක් විතර code එක ගෙදර ගෙනත් නිදි මරාගන පිලිවලට හදලා document කරලා ඉවර වෙනකනුත්, පරණ system එක එක්ක අලුත් hardware pair කරන්න තියන අපහසුතා නිසා සහ maintenance අවුල් නිසා අලුත් solution එකක් design කරනකන් සහ මේ වෙනකම් develop කරනකන් "is it done yet" කිය කිය කින්ඬී දානව ඇරෙන්න වෙන මුකුත් නොකරපු එකා එකා ඔහොම අහනකොට??? අර දොස්තර හොදහිත එකේ චව් චව්වා වැඬකට පෙරමුන ගත්ත වගේනෙ. නැද්ද ම.. අහන්නෙ. පොර මගෙ පිටිපස්සෙන් හිටගෙන සූ ගාලා සද්දෙට variable names කියවනවා. මට පල්ලෙහාට scroll කරන්නලු, උඬට scroll කරන්නලු. එක කෙලියයි. නිකමට හැරිලා බලපුවම හෙන බැරෑරුම් මූණකුත් හදාගෙන නිකටට අතත් තියාගෙනයි මේ විධාන දෙන්නෙ මට. මටත් මොනවදෝ හිතිලා මගෙ පුටුව පොරට දුන්නා 'අපේ සන්ස්කෘතිය අනුව වැඬිහිටියෙක් නැගිටලා ඉන්නකොට මට ඉදගන ඉන්න බෑ කියලා" ;) අමතක උනා කියන්න මේ වෙනකොට කෙල්ල අපි ඉන්න හරිය hoover කරනවා. පොර ඉදගෙන පොඬ්ඬක් cursor එක එහෙට මෙහට ගෙනියලා 'how do i run this' කියලා අහපි. 'hit the play button' මම කිව්වා. කවුද හිනාවෙන සද්දයක් ආවා. අනේ එතකොටයි මට කල්පනා උනේ බොසා අර ප්‍රශ්නෙ අහන්න තප්පරයක් තියලා hoover එකේ සද්දෙ නැති උනා නේද කියලා. අනේ හිතලා කරපු දෙයක් නම් නෙමේ ඕන්.

Monday, 17 August 2009

රහස් කියන්නෙ මෙහෙමයි...

කතා දෙකක් නෑ කොච්චර හොද දෙයක් උනත් පාවිච්විය අමාරු නම් ඉතින් අපිට ඉතින් වැඬි ආසාවක් ඇතිවෙන්නෙ නෑ නෙ කිසිම දේකට. නිවන් යන්නත් "පස්සෙ වෙලාවක නිවාඬු පාඬුව try එකක් දෙනවා, මේ වැඬ අස්සෙ ඕවට කොහෙද වෙලාවක්" කියල ඉන්න එකනෙ අපි කරනන්නෙ. ;) මේ කියන්න යන්නෙ ඒ වගේ බරපතල සීන් එකක් සරලව කරගන්න පුලුවන් සෙල්ලමක් ගැන. ඔයගොල්ලො හුගදෙනෙක් encryption ගැන අහලා ඇතුවට කිසිම සැකයක් නෑ. අපි හුගදෙනෙක් ඉතින් නමට බයයි නෙ. අපෝ ඕව අපිට තේරෙන්නෙ නෑ, අපි geekලා නෙමේ කියලා මග ඇරලා යනවා. සරලව වැඬේ කරගන්නෙ මෙන්න මෙහෙමයි.

මේක firefox plugin එකක්. මෙතනින් download කරගන්න පුලුවන්.(දන්නවනෙ ඉතින firefox plugin install කිරිල්ල කොව්චර ලේසිද කියලා. ඔක්කොටම default settings දෙන්න.) මේකෙන් කරලා දීලා තියෙන්නෙ GPG (gnu privacy guard) කියන encryption තාක්ශණය භාවිතය පහසු කරල දීලා තියන එක. GPG/PGP වලදි වෙන්නෙ ඔයාට keys දෙකක් දෙනවා. එකක් private key එක, ඒක දන්නෙ ඔයා විතරයි. ඒක password එකකිනුත් ආරක්ශිතයි. අනික public key එක. ඒක ඔයා එක්ක රහස් කියන්න ඕන අය අතරෙ බෙදාහරින්න පුලවන්. ඔය public key එක පාවිච්චි කරලා කෙනෙක් encrypt කරපු එකක් decrypt කරන්න පුලුවන් ඔයා ලග තියන private key එකයි password එකයි පාවිච්වි කරලා විතරයි. හරියට තැපැල් පෙට්ටියක් වගේ. ඕනා කෙනෙක්ට ලියුම් දාන්න පුලුවන්, නමුත් ලියුම් ගන්න පුලුවන් අයිතිකාරයට විතරයි. කතන්දරේ පැහැදිලිද?

plugin එක install කරගත්තට පස්සෙ තමන්ටම කියලා key එකක් හදාගන්න එපැයි. browser එකේ කොහෙ හරි right click කරලා බලන්න අලුත් menu item එකක් තියනවා නේද කියලා FireGPG කියලා? ඒකෙ තියන key manager කියන menu item එක click කරපුවම key manager කියලා dialog box එකක් දකින්න ලැබෙයි. ඒකෙ පල්ලෙහා වම් පැත්තට වෙන්න තියන new key කියන button එක click කරපුවම එන dialog box එකේ ඔයාලගෙ විස්තර දෙන්න.



ඔයා කැමති නම් the key never expires කියන check box එක select කරන්න පුලුවන්. මම නම් කලේ key එක අවුරුදු 5 කට වලන්ගු වෙන්න හදපු එක. Advanced options කියන check box එක click කලොත් ඔයාලට දකින්න පුලුවන් වෙයි 1024 විදියට තියන key length එක 4096 දක්වා වැඬි කරන්න පුලුවන් කියලා. වැඬිපුර security උචමනායි කියලා හිතෙනව නම් key length එක වැඬි කරන්න පුලුවන්. මතක තියාගන්න, key length එක ලොකු වෙන්න ලොකු වෙන්න encrypt, decrypt කරන්න ගතවෙන කාලයත් වෙනස් වැඬි වෙනවා. ආරක්ශාවත් වැඬි වෙනවා. generate key කියන button එක click කරපුවාව ටික වෙලාවකට මුලු browser එකම freeze වෙලා වගේ තියෙයි. key generated successfully කියලා message එක එනකන් ඉවසලා ඉන්න. අමාරු කොටස එච්චරයි.

දැන් තියෙන්නෙ පොඬි testing පාරක් දාල බලන්න. ඔයාගෙ gmail open කරගෙන අලුතෙන් ලියුමක් ලියන්න ගියපුවාම අලුතින් වැඬිපුර කෑලි ටිකක් එකතුවෙලා කියලා පෙනෙයි.


මුලින්ම ඔයාටම ලියමක් එවාගෙන බලමුකො. මොනව හරි ලියලා අර අලුත් වැඬකෑලි ගොඬේ තියන encrypt කියන icon එක click කරන්න. icon එකේ පාට වෙනස් උනා නේද? send button එක click කරපුවම මේ වගේ dialogue එකක් එයි.


දැනට ඉතින් key manager එකේ තියෙන්නෙ ඔයාගෙ නම විතරයි නෙ. ඒක select කරල ok කරන්නකො. (පස්සෙ ඔයා යාලුවන්ගෙ public keys add කරගත්තම ඒ ඔක්කොම මෙතන පෙන්නනවා. එතකොට කරන්න තියෙන්න ලියුම යවන එකකෙනාගෙ public key එක මෙතනින් select කරන්න)

ඊට පස්සෙ ඔයාගෙ gmail account එකේ password එක ඇහුවොත් ඒකත් දෙන්න. දැන් inbox එකට ගිහින් බලමුද?


open කරන්නකො ඔයාගෙ රහස.


ඔතන ඔයා දෙන්න ඕනා අර key එක හදද්දි දීපු password එක. මම කලින් කිව්ව වගේ ඕන කෙනෙක්ට ඔයාගෙ public key එකෙන් encrypt කරන්න පුලුවන් උනාට එහෙම encrypt කරපු එකක් decrypt කරන්න පුලුවන් private key එකයි password එකයි පාවිච්චි කරලා ඔයාට විතරයි.


ඔයා encrypt කරලා ඔයාම decrypt කරලා බලලා වැඬක් නෑ නේද? දැන් කරන්න ඕනා ඔයාගෙ public key එක යාලුවෝ අතෙර බෙදා හරින එක. ඒක කරන්නෙ මෙහෙමයි. යන්න key manager එකට(fireGPG->key manager). select කරන්න ඔයාගෙ key එක. තියනව නේද export to file කියලා button එකක්. ඒකෙ click කරපුවම save dialogue box එක එයි. කැමති නමකින් file එක save කරගෙන notepad එකෙන් open කරගන්නකො. පලෙලෙහයින් තියනව වගේ දෙයක් නේද තියෙන්නෙ? ඕක තමයි යාලුවන්ට යවන්න ඕනා. මේ තියෙන්නෙ මගෙ public key එක.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEqIiYERBADuz/u8D5nMAiE2Zd5/eJ5eO5y3ESjErOwpWjwARLFxBv82UNlf
sxUiMwGS3l9R5WH+HanIoANZrsTfdq6zgSBJAJWKOfEvSp30Pb1P7aJM5p4ZwDZW
dfSAMsAXe+7lOF5F5M83MMOKbLp/ojkcDEM9JDXSptNQArANEmhlMwokAwCgxvAz
5vabrVK6t5WH86ogv6iJZKcEAMsZk6xT4PCwiE4o8e3oMqX17zSyUdrg9dQOimkD
dbAxFFKqtNBp9L73Zdhvjjxq58r0VGOX36LrkvN8qYZRX1dDErMfG5o10qhm6q33
uCrJGgt8u9TIipPXG3e/WdKgWiZPG4ugtdL+owSAXEYdYxr6v33mrtZUXH4MRPcS
9JQfBADix/l6Y8g/7M9kh4r/Ic7MNv/KPBNSTIT01EiDitt6SPgfL5Tq/YIW8fQq
LlJ/D4WosJKY5fYtIwwY/SKIBPHD4qUVZnwug3M9tcVfICLzss5xrIxRNMjNUzT3
GF/HusayLi4tZ/WU8L/unqoP/YKOjsW5Jw+nRcEe1j2H6fSeiLQdw6RudGhyw6RY
IDxhbnRocjZ4QGdtYWlsLmNvbT6IZgQTEQIAJgUCSoiJgQIbIwUJCWYBgAYLCQgH
AwIEFQIIAwQWAgMBAh4BAheAAAoJEBducqpKpO9Bo18An1cNA11XFhGl0HJaVLCq
YdqF15hvAKCtdRomT+VZVZvInRioqAqvKOJVl7kCDQRKiImBEAgAiQk8Ln0tOAIS
7y3YRNEnl3sGBcTtyFovVHmI1brBS1PHYGdbX7DMx29ZknXyXbVtVtMfDLZ//nsU
Le2MvLeWcphkbipzGJ0BRmTLMSmDecgsf8qXjYu5LPS+SKpoCI6Gf65cbkTLodHq
L/tAQLMlw7APVzLHe1A9INz78zBF7C1OCndTOts4l3kKGEjgWOwNYzlPSdNLR90l
x/fuaGCny2hHg4DqIlipP0TLhyBLQYil0+NZej88fh8czMHIwr2fiP1uJ1xaZdAJ
oQo5m+eJq0x2NxaZLM0Yxh8h67voLrF2Veb7sFxXRu7qyQmMQCm7RJzzP/gvSdLQ
ww7woLRY8wADBQf9G0wy7HoIOpbyt/kSLvc/uJNrA7pXrCMZ842oPHqL1+LQ9GRI
ljAv0rTy7ByrkfCsCSiWwmjVopJo/7pOuxtQiN1fJZQwdpIneAcvEOoWv4EOf1nN
EhWGf/msiFlyIK/X5wrj1QlUoWZBhAzo3r+nlcE2p9nGaYdnsN4SupnyiwoYq6mt
2vwDLQBl/g2zAMw/eojdrntFbsAmp6TLSfuJAHV9+Lx8qRkHvHRI+TgjnGkbqiRO
L2suzeYCSkfpKSPEkTsnx0vKNC69JXRLl1OnihW1vwTFveHq1Acm8yYhNNJSNuBE
I2ZnbtlI2pPnCc1ywU95N96Ua5ihO/kBDDnWEIhPBBgRAgAPBQJKiImBAhsMBQkJ
ZgGAAAoJEBducqpKpO9BDtsAoL6fpmNoSUgsGWc9hpjoTQbEtRVCAJ9UO4n/kooP
/0JEFneMH6vzNc359Q==
=qn7m
-----END PGP PUBLIC KEY BLOCK-----


ඔය කොටස select කරලා right click කරලා FirePGP->Import කියන option එක select කරන්නකො. '-----BEGIN' වල ඉදලා 'BLOCK-----' වෙනකන් මුලු කොටසම select කරන්න අමතක කරන්න එපා හොදද? දැන් ඔයා encrypt කරලා ලියුමක් යවන්න හදද්දි අර dialogue එකේ ඔයාගෙ key එකට අමතරව මගෙ public key එකත් තියනව නේද? (key manager dialogue එකට ගිහින් බලන්නකො). ඕන කුනුහරුපයක් ගහලා encrypt කරලා එවන්න. ඔයාටයි මටයි විතරයි පේන්නෙ. ඔයාගෙ public key එකත් එවන්න අමතක කරන්න එපා. එතකොට මටත් පුලුවන්නෙ ඔයාට encrypt කරලා reply එවන්න. ;). යාලුවන්ටත් ඔයාගෙ public key එක යවන්න අමතක කරන්න එපා. ප්‍රශ්ණ තිබ්බොත් අහන්නකො...

Wednesday, 12 August 2009

නොපෙනෙන සෙවනැලි..

රොමියෝ වයලට් කියවපු කට්ටිය දැනටමත් හිතනව ඇති "එ පාර මේකා වැඬිහිටියන්ට පමනයි film එකක් කරන්න යනවා" කියලා. ගැලපෙන සිංහල වචනයක් හොයාගන්න බැරිවෙච්ච එකයි ඇබැද්දියට හේතුව. ජංජාලෙ ඇවිදලා ජංගිය පරිස්සම් කරගන්නෙ කොහොමද කියලා තමා මේ ලිපියෙන් කතා කරන්න බලාපොරොත්තු වෙන්නෙ. සුද්ද සිංහලෙන් කිව්වොත් best practices ගැන කතා කරන්නයි යන්නෙ. මැණික් කැටේ බලාපොරොත්තුවෙන් ඉන්න අය තරහ ගන්න එපා.. මම එ වැඬේ සති අන්ත වල කරන්නම්.

බිලී බාන බුවාලා...
මේ e-mail එක මට එවලා තිබුනේ මම හොදට අදුනන අක්ක කෙනෙක්ගෙ account එකකින්.

මොක්ද්ද බොලේ මේ කියලා මාත් link එකේ click කලා. මේන් බලන්නකො ආපු page එක.

ඕක ඇවිත් තිබුනෙ මගෙ yahoo address එකට. yahoo එකේ සාමාන්‍යයෙන් password එක විතරයි නේ ඔහොම වෙලාවක ඉල්ලන්නෙ කියලා ඬෝංගාලා කම්පනාවට ඇවිත් address bar එක දිහෑ බැලුවා. මේං විස්තරේ..

ඔය mail එක එවලා තිබුන account එක අයිති අක්කත් සාමාන්‍යයෙන් හොද computer literacy එකක් තියන එක්කෙනෙක්. එ උනාට පොඬි අත්වැරැද්දකින් වෙච්ච දේ බලන්නකො. එයා හරියට තේරුම් ගන්නෙ නැතුව ඔතන්ට එයාගෙ user name එකයි password එකයි කොටපුවාම ඉතින් කතාව එච්වරයි නෙ.

කුණුහරුප වගේද කියන එව්වා? එහෙනම් කතන්දරේ කියන්නම් කො මුල ඉදලා.

අපි සාමාන්‍යයෙන් url එකක් කියවන්නෙ http වල ඉදලා නේද? ඔන්න ඔය වැරදි පුරුද්ද අපි හදාගන්න ඕනා. url එකක් දිහෑ බලද්දි පුරුදු වෙන්න .com හරි .lk හරි වගේ domain name එකේ ඉවර වෙන තැන දිහෑ බලන්න. අමාරු වැඬක් නෙමෙයි http වල(double foreword slashes) // වලට පස්සෙ පලවෙනියෙන්ම තියන / (foreword slash)එක හොයාගන්න. එතන ඉදලා වම් පැත්තට තමයි කියවන්න ඕනා domain name එකේ විස්තරේ බලාගන්න. (අරාබියෙ වගේ). එතනින් දකුනට තියන්නෙ domain එකේ file structure එක. ඒ ගැන පස්සෙ කතා කරමුකො.

ඕං / ඉදලා වමට යනකොට මුලටම හම්බවෙන(period mark) '.' එක තියනවා නේද? ඕක තමයි වැදගත්ම තැන. ඔය තිතත් එක්ක තමයි .com, .lk, .org වගේ root level names යෙදෙන්නෙ. තිතෙන් වමට තියන කොටස දිහැ බලලා අපි තේරුම් ගන්න ඕනා මේ ඇත්තටම අපිට යන්න ඕනා තැනද කියලා.

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

මේ genuine බඬු
http://uk.yahoo.com/?p=us
http://h10010.www1.hp.com/wwpc......

මෙහම තිබුනොත් ඉතින් හොරබඬු තමා..
http://yahoo.t35.com
http://microsoft.gilbuwa.com

මේ වගේ එකක් නම් ඉතින් එකපාරටම අදුනගන්න පොඬ්ඬක් අමාරුයි.
http://yfreecalls2.t35.com/
පොඬි trick එකක් කියන්නම්, හැබැයි ඒක හැම තිස්සෙමත් සාරතක නෑ. login page වලට නම් අනිවා.
http කියන්නෙ plain text protocol එකක්. ඒ කියන්නෙ http වල encryption එකක් නෑ. සාමාන්‍යයෙන් ප්‍රසිද්ධ login page එකක නම් url එක අනිවාර්යයෙන්ම පටන් ගන්නෙ https වලින. http වලින් නෙමේ.

මම හිතනවා මේ post එකෙන් ඔයාලට වැඬක් උනා කියලා. මගෙ ලිපි වල අපිලිවල ගතියට සමාව දෙන්න. අදහස් එන වේගෙන් ලියන්න බෑ, අකුර හොයාගන්නකොට ලියන්න ගිය එක මතක නෑ. කල් යද්දි හරි යයි. ;)

ඕං එහෙනම් යුග ගීයකින්ම post එක ඉවර කරන්නම් කො..

ඔයා: මහා වැඬ ගොඬක්..... ඉන්ටනෙට් එකේ, බදාගන්න හිතයි මාරම වැඬ කෑලි තියෙන්නේ..
änthräX: මහා හොර ගුලක්.... ඉන්ටනෙට් එකේ, බදාගත්තෝතින් බඬුම තමා ලිස්සපන් මලේ..

Saturday, 8 August 2009

මයෙ මැණික් කැටේ(පලමු කොටස)

ඔන්න ඉතින් මැණික් කැටේ එක්ක මොකුත් කරන්න ඉස්සෙල්ලා මැණික් කැටේ දාගන්න එපෑ. (වැරදියට අනං මනං කැත කතා හිතනව නෙමේ හොදද? මම කතා කරේ install කරගන්න එක ගෑන).

මේ ලිපියෙන් මම උත්සහ කරන්නෙ language එකට අත තියන්නයි, fundamentals ගැන අවබෝධයක් ගන්න උදව් වෙන්නයි. උපරිමයෙන් උත්සහ කරනවා ඕනම කෙනෙක්ට තේරෙන්න සරල විදියට තේරුම් කරන්න. අපැහැදිලි තැන් තිබ්බොත් අහන්න. මැණික් කැටේ ගැන මාකටින් පාරක් දාන්න බලාපොරොත්තුවක් නම් නෑ.

linux පාවිච්චි කරන අයට තියෙන්නෙ ruby කියන repository එක install කරගන්න (apt-get install ruby). වැඬ අල්ලන්න ඒක හොදටම ඇති. වැඬේ නැගලා ගියොත් අනික්වා ගැන බලමු. windows කට්ටිය මෙන්න මේක download කරගන්න. ඊට පස්සෙ ඉතින් next->next->next->finish නේ. ;)

ඕං එහෙනම් දෙයියනේ බුදුනේ කියලා notepad එක open කරගමු නේද? හැමෝම කරනවා වගේ ලෝකෙට "හලෝ" කියන්නෙ නැතුව අපිටම "හලෝ" කියාගෙන බලමුද? notepad එකේ මෙහෙම type කරන්නකො.

puts "adooo gemba"

අපි ඕක save කරගන්න ඕනා .rb කියන extension එකත් එක්ක. java කරපු කට්ටියට මතක ඇතිනෙ java code එක save කලේ ".java" කියලනෙ. එහෙනම් ඉතින් file->save ගිහිල්ලා "myfirst.rb" කියලා මේක save කරගමුකෝ. දැනට desktop එකේ save කරගන්න. (myfirst වෙනුවට ඔයාට කැමති නමක් දාගත්තට කිසිම අවුලක් නෑ හොදද?). මතක තියාගන්න file extension එක ".rb.txt" නෙමයි ".rb" යි කියලා. දැන command prompt එක අරගන "myfirst.rb" එක save කරපු තැනට (desktop එකට) මාරු වෙලා (cd ) මෙහෙම කොටන්න.

ruby myfirst.rb

ඔයා අර උඬින් ලියපු text එක(adooo gemba) display උනා නේද? (බැරිවෙලාවත් file not found කියලා ආවොත් extension එක .rb මිසක් .rb.txt නෙමේ නේද කියලා check කරන්න) double quotations ඇතුලෙ තියන text එක මාරු කරලා save කරලා දෙතුන් පාරක් run කරලා බැලුවට කවුරුත් බනින එකක් නෑ.

දැන් පොඬිඬක් විතර boring කොටස. theory චික් නෙ? හරි, සරලව කියන්න බලන්නම් කො. code එකක කොහෙන් ගියත් අඬංගු වෙන කොටස් තුනක් තියනවා. ඔයාලා දැනටමත් දන්නවනෙ මම මේ කියන්නෙ sequence selections සහ repetition ගැන කියලා. sequence කියන්නෙ කෝච්චිය වගේ statements එකින් එක execute කරගෙන යනවට. repetition කියන්නෙ අර වලිගෙ හපන්න try කරන බලුකුක්ක වගේ එකතැන කැරකෙනවට. එකකො ඌට කැරකිල්ල හැදිල නතර වෙන්න ඕනෙ නැත්තම් කවුරු හරි කෑගහන්න ඕනෙ. එතකන් පොර කැරකෙනවා. loops කියලා කියන්නෙත් එව්වට තමා. selection කියන්නෙ අර උගුල ලග නතරවෙච්ච මීය වගේ "කේක් කෑල්ල කනවද, චීස් කෑල්ල කනවද" කියලා හිත හිත ඉන්නවට. මම වැඬේ පටලුවෙ නෑ නේද?

අපි ඉතින් පලවෙනි කොටසට sequence වලට විතරක් සීමාවෙලා ඉමු. ඕන්න අපි අර කලින් කරපු "හලෝ" කිවිල්ල පොඬ්ඬක් පිලිවලට කරමු. අපි ඕක function එකක් ඇතුලට දාමු. මෙන්න මෙහෙමයි වැඬ් කරන්නෙ

def sayhi
puts "adoooo gemba"
end

sayhi

def කියන්නෙයි end කියන්නෙයි keywords. def කිලා නම දීලා ඊට පස්සෙ ඉදලා end වලට වෙනකන් එක කොටසක් විදියට තමයි ගනන් ගැනෙන්නෙ. java වල { යි }යි වගේ. vb වල sub යි end subයි වගේ. puts කියන්නෙ java වල print වගේ. vb වල ? වගේ. sayhi කියන්නෙ අර උඬ ලියපු function name එකනේ. අනතිමට sayhi කියලා තියෙන්නෙ ඒ function එක run කරන්න කියලා. සිද්දිය පැහැදිලීද? එහෙනම් තව අඬියක් ඉස්සරහට තියමුකෝ...

def sayhi(name)
puts "adooo #{name}"
end

sayhi "anthrax"

කරලා තියන වැඬේ පැහැදිලීද? function එකට parameter එකක් pass කරන්න පුලුවන් කරන එක තමයි ඔය වරහන් එක්ක කරලා තියෙන්නෙ. වෙනසක් තේරුනාද? sayhi කියන function එකට මම fixed name එකක් assign කරලා නෑ. sayhi function එක call කරද්දි දෙන නමට තමයි එයා greet කරන්නෙ. වැඬ් ලේසී නේද? #{} වලින් කරලා තියෙන්නෙ අර parameter එකේ තියන text එක output text වලට ඔබ්බවන එක. මොන programming language එක පාවිච්චි කලත් හොද internal documentation එකක් maintain කරන්න අමතක කරන්න හොද නෑ නෙ. # සලකූණ යොදලා තමයි අපි comment එකක් දාන්නෙ. හෝව් හෝව්, කෑගහන්න ඉස්සෙල්ලා මේ ටිකත් කියවලා ඉම්මුකො. දැන් ඔය කියන්න ලෑස්ති උනේ #{} පාවිච්චි කරපු විදියයි comment කරන විදියයි එකවගෙයි කියලා නේද? පොඬ්ඬක් හොදට බලන්න අපි #{} පාවිච්චි කරලා තියෙන්නෙ "" ඇතුලෙ නේද? ;)

#this is a commemt
def sayhi(name="gemba") #this is also a comment
puts "adooo #{name}" #here is another comment
end #this is a comment too

sayhi "anthrax"
sayhi

පොඬි වෙනස්කමක් කරලා තියනවා දැක්කද? name variable වලට default value එකක් assign කරලා තියනවා gemba කියලා. එතකොට ඔයා sayhi function එක parameter එකක් නැතුව call කලොත් adooo gemba කියලයි, parameter එකක් එක්ක call කලොත් adoo කියලයි වෙනස් output දෙකක් ලැබෙනවා.

දැනට මෙතනින් නවත්තන්නම්. කූරුගාලා ප්‍රශ්ණ එහෙම තිබ්බොත් අහන්නකො..

Wednesday, 5 August 2009

මයෙ මැණික් කැටේ..

අපෝ ආයෙත් කතන්දරයක් කියන්න ද ලෑස්ති වෙන්නෙ? අනේ නෑ. ආ.. මුලින්ම පොඬි ඕපදූපයක් තියනවා කියන්න. änthräX ව මූණුපොතෙන් එලෙව්වනේ. fake names වලින් accounts තියාගන්න බෑලු. multiple accounts තියාගන්නත් බෑලු. එ ඔක්කොම විස්තරේ terms and conditionsවල තියනවලු. විහිලුවට වගේ අහන්නෙ. facebook account එක හදාගනිද්දි ඔයාලා කවුරු හරි ඔය t&c හෑල්ල කියෙව්වද හැබෑටම? ලොකූයි කියන්න තරම් අවුලක් නෑ. මොකද යාලුවො කියලා හිටියෙත් දෙන්නයි. හිකස්..

කලුවරට බැන බැන ඉන්නව විතරයි බලුප් එකක් වත් දානනෙ නෑ කියල පැමිනිල්ලකුත් තිබ්බනෙ. ඉතින් änthräX කල්පනා කෙරුවා පොඬි L.E.D එකක් දාන්න. එකම කතන්දරේ වෙන වෙන අයගෙන් අහගන්න ඕනෙ නෑ නෙ? වෙන අය ලියලා තියන එවා ආයෙ ආයෙ ලියන්නෙ නැතුව මුලින්ම ඔයාලගෙන් අහලා බලන්න හිතුවා. änthräXත් ලාවට වගේ ඔය programming languages දෙකතුනක් කටේ තොලේ ගාලා තියනවා. ඉතින් පොඬි getting started පාරක් ලියන්නයි කල්පනාව. Javaගැන දෙතුන්පොලකම දෑක්කා. කල්පනා කලේ Ruby වලට පොඬි beginners guide එකක් දෙන්න. වෙන කවුරු හරි "මයෙ මැණික් කැටේ"(Ruby)ගැන ගැන ලියලා තියනවද? පන දාගෙන කෝ කෝ කිය කිය type කරන එකේ වැඬක් තියෙන්න එපැයි. ඔයාලා මොකද හිතන්නෙ කියලා කියනවද?