Pages

Thursday, August 11, 2011

ආදරණීය X-Files, පොඩි කාලේ පිස්සු මතක, සහ ප්‍රථම ප්‍රේමය

සය්බර් යායේ එක්ස් ෆයිල්ස්  ගැන ලියවෙච්ච පොස්ට් එක නිසා මටත් ලියන්න හිතුනා මගේ එදත් අදත් ප්‍රියතම රුපවාහිනී වැඩසටහන ගැන පුංචි ලියමනක්.
මම එක්ස් ෆයිල්ස් බලන්න ගත්තේ මතක හැටියට 7 හරි 8 වසරේදී. මගේ ළඟින් ඉස්කෝලේ වාඩිවෙච්ච යාලුවට තදින්ම එක්ස් ෆයිල්ස් උණ තිබුනා. එයා තමයි මටත් ඉස්කෝලේ ඇවිදින් ඒක ගැන කියවල මට උණ බෝ කරේ. 


කුළුඳුල් X-Files කොටස :
ඉස්සෙල්ලම බැලුව කොටස තාමත් මතකයි : Our Town. හැබැයි මෙලෝ සංසාරයක් තේරුනේ නම් නෑ. උප සිරැසි තිබුනත්. එදා පළවැනි දවසේ මම අර කාටද මැජික් වගේ කටත් අරන් බලන් හිටියා මිසක්. මොකද සාමාන්‍යෙන් බලලා පුරුදු වැඩසටහන් වගේ නෙවෙයි නේ. මුලින් නම් ගම් මියුසික් මුකුත් යන්න කලින් ඔන්න පෙන්නනවා වෙච්ච සිද්ධිය. මොකක් හරි අමුතු පටලැවිල්ලක් තමයි ඉතින්. 

X-Files කතා වර්ග 2 යි
සාමාන්‍යෙන් මේකේ කොටස් කොට්ටාශ 2 කට අයිති වෙනවා. 
  1. එක්කෝ පිට සක්වල ජීවින් ඉන්න, කලින් සහ ඉදිරියට සම්බන්දකම් ඇති කොටස් මාලාවක කෑල්ලක්. මේ ගණයට අයිති කොටස් වල තමයි අර සිගරට් බොන එපා කරපු පොර ඉන්නේ(CSM). මෝල්ඩර් ගේ නංගි ගැන, ස්කලිගේ පිළිකාව ගැන, ස්කලීගේ බෙල්ලේ තියෙන චිප් එක ගැන එහෙම කතන්දර යන්නේ මේවගේ. මේවට කට්ටිය නම දාල තිබ්බේ 'Mytharc episodes' කියලා. මේවා වලින් කියන්නේ ඇමෙරිකානු රජයත් පිටසක්වල ජීවින් අතරත් තියෙන 'මහා කුමන්ත්‍රණයක්' ගැනයි. උදාහරණ විදියට  - "Deep Throat, "Little Green Men, "Duane Barry", "Anasazi",  "Memento Mori , "The Unnatural" ගන්න පුළුවන්.
  2. අනිත් වර්ගේ තමයි තනි කතා කොටස්. ඒ කියන්නේ අර දිගට යන 'මහා පිටසක්වල කුමන්ත්‍රණ' කතාවට සම්බන්දයක් නැති කතා. මේවට යන්නේ මොකෙක් හරි අසාමාන්‍ය Monster කෙනෙක් හරි නැත්නම් අමනුෂ්‍ය බලවේග හරි එහෙමත් නැත්නම් අමුතු සතෙක්/සත්තු වගේ දේවල්. මේවාට කිව්වේ 'Monster-of-the-week episodes' කියල. උදා - Squeeze, "Tooms", "Triangle","The Post-Modern Prometheus ", "Jose Chung's From Outer Space", .

 ප්‍රථම ප්‍රේමය
කට්ටිය බලයි මේ මොන කුණු හරුපයක්ද කියල. ඉතින් අනේ ෆොක්ස් මෝල්ඩර් තමයි මගේ නිකැළැල් කුළුඳුල් ප්‍රේමය. අවුරුදු 13 වගේ චුටි කාලේදී බැන්ද ආදරේ කවදාවත් අමතක කරන්න පුලුවන්ද මං අහන්නේ? මෝල්ඩර් ට කතාවකදී මොනා හරි උනොත් මට ඊට පස්සෙන්දට කන්නත් බෑ. අනිත් යාළුවො අර ඛාන්, මේ ඛාන් මෙකී නොකී හින්දි නළුවොන්ගේ පෝස්ටර් බිත්තියේ අලවද්දී මගේ කාමරේ බිත්තියේ තිබුනේ, කොහෙන්ද හොයාගත්ත, I Want to Believe කියල උඩින් ලොකුවට ගහපු, යටින් මෝල්ඩර් ස්කලී දෙන්න ඉන්න පෝස්ටර් එකක්.


මෝල්ඩර් - ස්කලී
මේ කතා මාලාව මේ තරම් ජනප්‍රිය වෙන්න එක හේතුවක් මේ ප්‍රධාන චරිත දෙක. මේ දෙන්නගේ තිබුන මිත්‍රත්වය හරිම ආදරණීයයි. මොල්ඩර්ගේ පිස්සු වැඩ වලට, එයාගේ අමුතු මත වලට ස්කලී කොච්චර නෝන්ඩි දැම්මත්, මොල්ඩර්ට බැන්නත්, එයා අමාරුවේ වැටුන වෙලාවට ස්කලී එයාව අත අරින්නේ නෑ. ඒ වගේමයි ස්කලී ව පිට සක්වලයෝ පැහැර ගෙන ගියාම, එයා මාරාන්තිකව අසනීප උනාම, මෝල්ඩර් තමන්ගේ ජීවිතෙවත් බලන්නේ නැතුවයි ස්කලීව බේර ගන්නේ. අපි ඉතින් පැණි හල හල බලන් ඉන්නේ මේ දෙන්න කොයි වෙලාවේ සෙට් වෙයිද කියලා. හැබැයි ඇත්ත කියනවා නම් ඒ දෙන්න අන්තිම වෙන කල්ම 'සෙට්' නොවී හිටිය නිසා තමයි කතාව මෙච්චර හොඳ උනේ. මොකද එක්ස් ෆයිල්ස් කියන්නේ සීනි බෝල ප්‍රේම කතාවක් නෙවෙයි. 


ජාතික රුපාහිනියේ ගොන් පාට්
එක්ස්ස් ෆයිල්ස් පෙන්නපු එක මෙයාල කරපු හොඳ දෙයක් තමයි. ඒ උනාට එන්න එන්නම එක්ස් ෆයිල්ස් වලට දුන්නේ කුඩම්මාගේ සැලකිලි. මුලින්ම එක්ස් ෆයිල්ස් පටන් ගත්තේ රෑ 10. 10 ට. පස්සේ පස්සේ වෙලාව තවත් පස්සට ගියා. පහුවෙන්දා ඉස්කෝලේ දවසක් නිසා මම තාත්තාගෙන් කොච්චර බැනුම් අහනවද ඒ දවස්වල? සමහර දවස් වලට නම් තාත්තට දුක හිතිලා මට නිදා ගන්න කියල එයා කතාව රෙකෝඩ් කරලා දෙනවා මට පහුවෙනිදා ට බලන්න. 
අනිත් එක තමයි හොඳට කට අරගෙන ටී වී එක ඉස්සරහින් වාඩි වෙලා බලන්න ලෑස්ති උනාම මෙන්න සමහර දවස් වලට කව්රු හරි දේශපාලු වෙක්ගේ මොකක් හරි එකක් දානවා. සමහර දවස් වලට මොකද්ද සංගීත සන්දර්ශනෙකුත් ගියා. අනේ මන්ද ඒවා කව්රු බැලුවද කියලා.
 අපි ඉතින් අවුරුදු 9 ක්ම බලන් හිටියනේ මෝල්ඩර් ස්කලී දෙන්න සෙට් වෙනවද කියලා. ඔන්න අනිතිමට දෙන්න සෙට් උනා. මේ අවසාන කොටස් වලදී. ඉතින් ඒ දෙන්න කිස් කරන පොඩි කෑල්ලක් තිබුන එක තැනක. හිටු කියල රුපවාහිනියේ ගොන් බලධාරියා කැපුවේ නැද්ද ඕක. මට ඒ වෙලාවේ නම් ටී වී එක පොළවේ ගහන්න හිතුනා.


වැඩිහිටියන්ට වඩාත් සුදුසුයි
ටිකක් කල් යනකොට සමහර එක්ස් ෆයිල්ස් කතා වලට කලින් ඔන්න ඔය කෑල්ල දානවා. ඔහොම දාන්න හේතුව වෙන්න ඇත්තේ මිනිස්සුන්ව අර monsters ල කන, වමාරන ඒවා, ස්කලී මැරුණ අයව කපන කොටන කැලි (autopsy) එහෙම නිසා වෙන්න ඇති. නැත්නම් කිසිම අසභ්‍ය දෙයක් නම් තිබුනේ නැහැ. මම ඉතින් පොඩිහිටියා උනත් එක්ස් ෆයිල්ස් ගැන දන්න නිසා ගෙදර අය මුකුත් තහනම් දැම්මේ නැහැ (අනික ඉතින් කොහොමත් ගොඩක් දවස් වලට එයාල ඒ වෙලාවට නිදි නේ! හික්ස්). ඉතින් වැඩිහිටියන්ට වඩාත් සුදුසු එකක් මාත් බලනවා කියලා මට ඒ දවස් වල මාර ආතල් එකක් තිබුනේ!



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


ස්කලී ගේ Girl Power එක 
වෙන කතාවල ඉන්න ගැහැණු චරිත වගේ නෙවෙයි ස්කලී. සාමාන්‍යෙන් කතා වල ඉන්න ගැණු කට්ටිය එක එක විලාසිතා කරන, මේක් අප් තට්ටුවක් ගාගත්ත, චුටි චුටි ඇඳුම් කැලි අඳින, හරිම ලඳ බොළඳ කට්ටියනේ. එකට ස්කලී. ධෛර්යය, නොපසුබසින උත්සාහය, මිතුරාව අත් නොහැරීම, තමන්ගේ ප්‍රතිපත්ති වෙනස් නොකිරීම, බුද්ධිමත් බව, නිර්භීත කම, කරුණාවන්ත කම - මේ හැම දෙයකින්ම එයා පොහොසත්.


මෝල්ඩර් ගේ පාස් වර්ඩ් එක
මේක මතකද? ... TrustNo1. මාත් මේක කාලයක් දාගෙන හිටියා (දැන්නම් නැහැ හොඳේ හික්)


හෆොයි දන්නෙම නැතුව මේ පොස්ට් එක සැහෙන දිග උනා. කොහොම උනත් අන්තිමට කියන්න තියෙන්නේ දැන් මේ වගේ කතා හැදෙන්නේ නැති එක ගැන හරිම දුකයි කියලයි. ඒ වගේම එක්ස් ෆයිල්ස් ඕනවට වඩා දික් කරා කියලත් මට හිතෙනවා. අර අන්තිම කාලේ මෝල්ඩර් නැතුව කිසි වැඩකට නැති ඩොගට් ව දාගෙන දිව්ව ඒවා නම් මට ඇල්ලුවේ නැහැ. ඒ වගේම පලවෙනි එක්ස් ෆයිල්ස් චිත්‍රපටිය Fight the Future ගොඩක්ම හොඳයි. ඒත් දෙවෙනි එක I Want to Believe එක්ස් ෆයිල්ස් වලටත් අපහාසයක්. තුන්වෙනි එකක් හදන්න එයාලට අදහසක් තියෙනවා කියල මම කොහෙද දැක්කා. හදනවා නම් හරියට හැදුවොත් හොඳයි - නැත්නම් නොහද ඉන්න එක ඊට හොඳයි.

අන්තිමට එක්ස් ෆයිල්ස් tagline එකෙන්ම ඉවර කරන්නම් කෝ :   
....The Truth is out there....


ප.ලි - ඔන්න කට්ටියට බලන්න වීඩියෝ එකක් දැම්ම. මේක Postmodern Prometheus කොටසින්. අන්තිමට ම තියෙන මෝල්ඩර් ස්කලී ගේ ඩාන්ස් එක මතකද?





ප.ප.ලි - පින්තුර ගත්තේ මෙතනින්, මෙතනින් සහ මෙතනින්.


Sunday, August 7, 2011

Android Adventures - Keeping alive a Bluetooth connection

Continuing my adventures into the Android domain, I wanted to have a Bluetooth connection between two nodes, going indefinitely, until one node sends a termination signal. Between the time of initializing the connection, and termination, the two nodes may exchange messages at random intervals.

Now, the Bluetooth chat example provided in
http://developer.android.com/resources/samples/BluetoothChat/index.html is very helpful. I did use some of the code, but my client connection was defined in the Activity class itself, as a inner class extending Thread:

public class MyActivity extends Activity {

 //some code here that does the work in the activity


   private class MyThread extends Thread {
        private final BluetoothSocket socket;
        private final BluetoothDevice device;
        private WorkerInfo worker;

        public MyThread(WorkerInfo pInfo) {
            BluetoothSocket tmp = null;
            device = pInfo.getDevice();
            worker = pInfo;
            try {
               
                UUID uuid = UUID.fromString(CommonConstants.WORKER_UUID);
                tmp = device.createRfcommSocketToServiceRecord(uuid);

                  } catch (IOException e) {
            }
            socket = tmp;
        }

        public void run() {
             try {
                // Connect the device through the socket. This will block
                // until it succeeds or throws an exception
                socket.connect();
                worker.setSocket(socket);
                worker.isConnected = true;
                if (D)
                    Log.d(TAG, "connected");

                String devName = socket.getRemoteDevice().getName();
                String devAddr = socket.getRemoteDevice().getAddress();
                Log.d(TAG, "connected to " + devName + ":" + devAddr
                        + "at DelegatorThread " + this.getId());
               

               Thread t = new Thread(new Reader(socket.getInputStream()));
                t.start();
            } catch (IOException connectException) {
                         return;
            }
        }
  }
}

I would call the MyThread to start() at the click of a Button, and then open an OutputStream on another Button click and write to the other node. This went fine. Then after several minutes, I wanted this to read from the other device. This is where it went wrong.
For some reason, after writing, my connection just dies. When the other device tries to write, it gets a connection reset by peer exception. However, if instead of waiting for several minutes, the other device wrote back immediately, the connection is kept alive.

there were two things I could do :
  1. Keep the connection alive by exchanging random bytes of data. I tried this out by implementing a KeepAliveClient thread and a KeepAliveServer thread. These would write and read small messages indefinitely till the actual message/s is/are ready to be transmitted. This could be done so that the actual messages are preceded by a special pattern so that the reader knows it has to switch from KeepAlive mode to actual Reading mode. After reading the actual message, it again switches back to KeepAlive mode.
  2. Share the Bluetooth object instance across Activities using the singleton model as suggested here. I implemented this version as well:
        Put the MyThread into a seperate public class, and instantiate and start this thread from a singleton   class.  I call the method in singleton class from my Activity. This worked as well.


I'm not entirely sure the reason a singleton object method works though. Will continue working in the 2nd method because obviously it is more efficient (not having to keep transmitting), and hopefully things will clear out in future experiments :)