<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6095186315992245466</id><updated>2012-02-09T00:03:14.728+08:00</updated><category term='Windows Phone'/><category term='C#'/><category term='Music Recording'/><category term='Haques'/><category term='Travels'/><category term='Flight Sim'/><category term='DIY'/><category term='Geekness Reduction Program'/><category term='Astronomy'/><category term='Inner Geek'/><category term='Android'/><category term='Java'/><category term='Fix'/><category term='Discoveries'/><category term='Religion'/><category term='Rantings'/><category term='Silverlight'/><category term='electronics'/><category term='Politics'/><title type='text'>6.9 GigaHertz</title><subtitle type='html'>There is a fine line between art and science.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-1774563118944630148</id><published>2012-02-08T23:55:00.001+08:00</published><updated>2012-02-09T00:03:14.737+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Religion'/><category scheme='http://www.blogger.com/atom/ns#' term='Rantings'/><category scheme='http://www.blogger.com/atom/ns#' term='Politics'/><title type='text'>Ahcee Flores' Deathwish to Visayans</title><content type='html'>&lt;p&gt;Ahcee Flores became the no. 1 trend in Philippines in just a day because of her comment on a Yahoo news item that translates to:&lt;/p&gt;&lt;img src="http://www.braincontour.com/wp-content/uploads/2012/02/ahcee11-e1328555922702.jpg" /&gt;&lt;br /&gt;&lt;p&gt;“Let us all pray… that the tsunami happens so that many Visayan people will die and will reduce the number of “low-class” citizens in the Philippines.”&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This was made after an earthquake shook the Visayas islands and a tsunami warning has been issued by authorities.Though it's obvious that this is a fictitious account, I can't believe why many people still takes this kind of crap seriously. The man who did this badly needs attention. So please don't give this guy attention. Let's ignore this motherf***er.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Right after reading this, close your browser and stop searching for Ahcee Flores in google and don't tell your friends about it. You're doing yourself a favor.&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-1774563118944630148?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/1774563118944630148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2012/02/ahcee-flores-deathwish-to-visayans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/1774563118944630148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/1774563118944630148'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2012/02/ahcee-flores-deathwish-to-visayans.html' title='Ahcee Flores&amp;#39; Deathwish to Visayans'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-7330821341064647502</id><published>2012-01-14T00:14:00.000+08:00</published><updated>2012-02-09T00:01:57.550+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geekness Reduction Program'/><title type='text'>Geek vs. Nerd</title><content type='html'>&lt;img src="http://www.mastersinit.org/geeks-vs-nerds/geek-nerd.jpg" alt="Geeks vs Nerds" width="700"  border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From: &lt;a href="http://www.mastersinit.org"&gt;MastersInIt.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-7330821341064647502?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/7330821341064647502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2012/01/geek-vs-nerd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7330821341064647502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7330821341064647502'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2012/01/geek-vs-nerd.html' title='Geek vs. Nerd'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-6035756093741886930</id><published>2012-01-12T22:42:00.001+08:00</published><updated>2012-01-14T00:38:05.401+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Phone'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>#smokedbywindowsphone : The Windows Phone 100$ Speed Challenge</title><content type='html'>&lt;br /&gt;Ben Rudolph, a Microsoft evangelist made a brilliant ad campaign by challenging smart-phone users at CES 2012 to beat Windows Phone in head-to-head speed challenge to prove that Windows Phone is way faster than any other smart phone. Anyone beats the Windows Phone will get $100 cash up-front and if they loose they get to say that their phone got smoked by Windows phone in front of the camera. &lt;br /&gt;&lt;br /&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/B8NaPPgbbDQ" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Other people always associate speed with CPU clock speed and RAM sizes but this one is different. The mechanic is that the fastest to perform and complete a common day-to-day task with their smart phone wins.&lt;br /&gt;&lt;br /&gt;The first 2 days was the just awesome as Windows Phone rocked 50 wins, 4 losses and 1 tie. What most people don't know about Windows Phone is that it has almost completely different User Interface than iPhone and Android counterparts. Windows Phone is not an icon-based operating system. It uses live tiles at it's home screen instead of using icon on a desktop-like environment. To cut it short, as a Windows Phone user for almost a year now, I would say things are really fast and easy to do in Windows Phone than in my Android. To give you an idea, i can post a Facebook status in just 3 to 4 taps from the home screen.&lt;br /&gt;&lt;br /&gt;Checkout these video for interesting wins:&lt;br /&gt;&lt;br /&gt;&lt;iframe width="640" height="360" src="http://www.youtube.com/embed/zQZww_C6Zgg?feature=player_embedded" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;I bet many people would now consider Windows Phone after this. Great Job Ben. You have just given Silverlight Developers hope. ;)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-6035756093741886930?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/6035756093741886930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2012/01/smokedbywindowsphone-windows-phone-100.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/6035756093741886930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/6035756093741886930'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2012/01/smokedbywindowsphone-windows-phone-100.html' title='#smokedbywindowsphone : The Windows Phone 100$ Speed Challenge'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/B8NaPPgbbDQ/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-5969556865978218196</id><published>2012-01-07T01:36:00.000+08:00</published><updated>2012-01-14T02:14:41.428+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geekness Reduction Program'/><category scheme='http://www.blogger.com/atom/ns#' term='Music Recording'/><title type='text'>I'm the Geek in the Pink</title><content type='html'>&lt;span style="font-family: inherit;"&gt;I decided to record a new cover of Jason Mraz's Geek in the Pink during the holidays. It was raining everyday in southern Philippines so I can't go out and play. Here's a video of the cover song I made. It is a reggae version of "Geek in the Pink".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/sE7VavTp08g" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;div&gt;Update: This is now available on &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?id=494319152"&gt;&lt;img height="15" width="61" alt="Geek In the Pink (Reggae) - Single" src="http://www.tunecore.com/images/buttons/badgeitunes61x15dark.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-5969556865978218196?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/5969556865978218196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2012/01/im-geek-in-pink.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5969556865978218196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5969556865978218196'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2012/01/im-geek-in-pink.html' title='I&amp;#39;m the Geek in the Pink'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/sE7VavTp08g/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-5972680905559156104</id><published>2011-08-19T01:29:00.004+08:00</published><updated>2011-08-31T16:24:33.057+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Haques'/><title type='text'>Solution : Maxlines Property in Silverlight TextBox</title><content type='html'>I have had this requirement since last week about putting a limit on the number of lines you can write in a multiline (&lt;b&gt;AcceptsReturn&lt;/b&gt;=&lt;b&gt;true&lt;/b&gt;) &lt;b&gt;TextBox&lt;/b&gt; in Silverlight 4 and was disappointed to know that there is currently no way you do it like in WPF. In WPF, the &lt;b&gt;TextBox&lt;/b&gt; control has an integer property called &lt;b&gt;MaxLines&lt;/b&gt; which you can set to limit the number of lines. In Silverlight, there seems to be no way because you wouldn’t possibly know when or where in the string a word wrap split has occurred. It would be simple if you are using a fixed-width font like Courier/CourierNew because you can simply count the number of characters that would fit in one line, but in my case, its Comic Sans. The client insisted that they wanted this feature so I decided to write my own logic to simulate the word wrap algorithm used in Silverlight TextBoxes. Below is the result of what I did. The object below is a Silverlight textbox with &lt;b&gt;MaxLines&lt;/b&gt; property set to 6.&lt;p&gt;&lt;iframe frameborder="0" id="_sl_historyFrame" src="http://rossbrigoli.com/SilverlightBins/XTextBoxTestPage.html" style="height: 140px; width: 374px; "&gt;&lt;/iframe&gt;&lt;/p&gt;What I did was I extended the &lt;b&gt;Silverlight&lt;/b&gt; &lt;b&gt;TextBox&lt;/b&gt; control and added my own logic to simulate how the word wrap behaves. &lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;br /&gt;You may get the full source code of the &lt;a href="http://www.codeproject.com/KB/silverlight/XTextBox.aspx" target="_blank"&gt;extended textbox here&lt;/a&gt;. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-5972680905559156104?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/5972680905559156104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2011/08/solution-maxlines-property-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5972680905559156104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5972680905559156104'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2011/08/solution-maxlines-property-in.html' title='Solution : Maxlines Property in Silverlight TextBox'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-8981786014520519484</id><published>2011-01-22T02:58:00.002+08:00</published><updated>2011-01-22T09:35:04.545+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Timer for Android – Make a TextView Blink</title><content type='html'>&lt;p&gt;&amp;#160; &lt;br /&gt;I am pretty sure some of you may been through the same problem where you needed a simple periodic timer for your Android app. You may use &lt;strong&gt;java.util.Timer&lt;/strong&gt; but this is not a good choice as this timer creates a new thread for some reason and you don’t want to invoke multiple threads in your mobile app. So I created this simple timer that makes use of the &lt;strong&gt;android.os.Handler&lt;/strong&gt; class. Below is the source code of the Timer for android. Sorry for the formatting and naming convention. I’m used to the C# conventions.&lt;!-- ======================================================== --&gt;&lt;!-- = Java Sourcecode to HTML automatically converted code = --&gt;&lt;!-- =   Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard  markus@jave.de   = --&gt;&lt;!-- =     Further information: http://www.java2html.de     = --&gt;&lt;/p&gt;  &lt;div class="java" align="left"&gt;   &lt;table cellspacing="0" cellpadding="3" bgcolor="#ffffff" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;&lt;!-- start source code --&gt;         &lt;td valign="top" nowrap="nowrap" align="left"&gt;&lt;code&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;package &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ross.brigoli.android;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;android.os.Handler;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public class &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Timer &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;_interval;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;getInterval&lt;/font&gt;&lt;font color="#000000"&gt;() { &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;_interval; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;setInterval&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;delay&lt;/font&gt;&lt;font color="#000000"&gt;) { &lt;/font&gt;&lt;font color="#000000"&gt;_interval = delay; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Handler handler;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Runnable _tickHandler;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Runnable delegate;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;boolean &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ticking;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;boolean &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;getIsTicking&lt;/font&gt;&lt;font color="#000000"&gt;(){ &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ticking; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Timer&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;interval&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;_interval = interval;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;handler = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Handler&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Timer&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;interval, Runnable onTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;_interval = interval;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;setOnTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;onTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;handler = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Handler&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;start&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;interval, Runnable onTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;ticking&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;_interval = interval;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;setOnTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;onTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;handler.postDelayed&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;delegate, _interval&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ticking = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;start&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;ticking&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;handler.postDelayed&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;delegate, _interval&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ticking = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;stop&lt;/font&gt;&lt;font color="#000000"&gt;() &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;handler.removeCallbacks&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;delegate&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;ticking = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;false&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;setOnTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;Runnable onTickHandler&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;onTickHandler == &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;_tickHandler = onTickHandler;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;delegate = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Runnable&lt;/font&gt;&lt;font color="#000000"&gt;() {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;run&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;_tickHandler == &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;_tickHandler.run&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;handler.postDelayed&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;delegate, _interval&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/code&gt; &lt;/td&gt; &lt;!-- end source code --&gt;&lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;I used this timer to make a TextView in &lt;a href="http://briggs69.blogspot.com/2010/11/taxi-meter-application-for-android.html"&gt;my Application&lt;/a&gt; blink, to update values in the UI from service, to monitor status, etc. with the following code:&lt;/p&gt;  &lt;div class="java" align="left"&gt;   &lt;table cellspacing="0" cellpadding="3" bgcolor="#ffffff" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;&lt;!-- start source code --&gt;         &lt;td valign="top" nowrap="nowrap" align="left"&gt;&lt;code&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;boolean &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;blinkOn = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;false&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;Timer tmrBlink = &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Timer&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#990000"&gt;500&lt;/font&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Runnable&lt;/font&gt;&lt;font color="#000000"&gt;() {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;void &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;run&lt;/font&gt;&lt;font color="#000000"&gt;() {&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;blinkOn&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;((&lt;/font&gt;&lt;font color="#000000"&gt;TextView&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#000000"&gt;findViewById&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;R.id.widget46&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;.setVisibility&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;View.VISIBLE&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;else&lt;/b&gt;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;((&lt;/font&gt;&lt;font color="#000000"&gt;TextView&lt;/font&gt;&lt;font color="#000000"&gt;) &lt;/font&gt;&lt;font color="#000000"&gt;findViewById&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;R.id.widget46&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;.setVisibility&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;View.INVISIBLE&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;blinkOn = !blinkOn;&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;               &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;              &lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;})&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/code&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-8981786014520519484?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/8981786014520519484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2011/01/timer-for-android-make-textview-blink.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8981786014520519484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8981786014520519484'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2011/01/timer-for-android-make-textview-blink.html' title='Timer for Android – Make a TextView Blink'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-8995938795912719168</id><published>2010-11-27T22:03:00.002+08:00</published><updated>2011-02-06T19:40:50.066+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Haques'/><title type='text'>Taxi Meter for Android</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It’s been two months now when I started taking a taxi everyday to office. That was after I got assigned to a new office location at Fort Bonifacio. I always take the same route everyday, however the taxi meter seem to differ between taxis by up to 20 pesos which made me think that these taxi drivers maybe cheating on me.&lt;/p&gt;  &lt;p&gt;I have created a simple android app that will serve as your personal Taxi meter. I made this to nail the trickster taxi drivers in the ass. The application uses the device’s GPS antenna to get the location and eventually the distance travelled. I call the app TaxiMate and this is my very first Android application apart from the “Hello World” app of course.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/TPEPrwWNfxI/AAAAAAAAAKQ/yvqL6mhlcEg/s1600-h/TaxiMate%5B2%5D.jpg"&gt;&lt;img title="TaxiMate" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="TaxiMate" src="http://lh4.ggpht.com/_ldYIyUlJMSo/TPEPtVoRGQI/AAAAAAAAAKU/sAAraCLpDnQ/TaxiMate_thumb.jpg?imgmax=800" width="185" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://lh3.ggpht.com/_ldYIyUlJMSo/TPEPunKn9vI/AAAAAAAAAKY/1g1duYaYtQg/s1600-h/TaxiMate2%5B2%5D.jpg"&gt;&lt;img title="TaxiMate2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="TaxiMate2" src="http://lh5.ggpht.com/_ldYIyUlJMSo/TPEPvYG29uI/AAAAAAAAAKc/a1yYBMHNRQE/TaxiMate2_thumb.jpg?imgmax=800" width="208" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The app is currently in testing phase. So, tomorrow I will be joy-riding a whole bunch of taxis just to verify if the app is working as designed and to validate if the readings in the app matches the reading in most taxi meters. Once complete, hopefully i can upload this app to Android Market so you guys can use it too. That’s all for now, going back to fixing some minor issues. ;)&lt;/p&gt;  &lt;p&gt;UPDATE:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/TRsnw7ab2nI/AAAAAAAAAK0/r3iqeoASfqg/s1600-h/snap20101229_194402%5B4%5D.png"&gt;&lt;img title="snap20101229_194402" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="282" alt="snap20101229_194402" src="http://lh3.ggpht.com/_ldYIyUlJMSo/TRsnx3CQWtI/AAAAAAAAAK4/dRnBVM0YnNs/snap20101229_194402_thumb%5B2%5D.png?imgmax=800" width="215" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I have updated the user interface to make it look like a real meter. It’s now working like a real meter except that currently it is configured for Manila taxi rate and will only display correctly on QVGA devices like HTC Wildfire.&lt;/p&gt;  &lt;p&gt;I am currently working to make it work on every device regardless of the screen size and will make the configuration editable so this can be used in other locations.&lt;/p&gt;  &lt;p&gt;Stay tuned…&lt;/p&gt;  &lt;p&gt;UPDATE:&lt;/p&gt;  &lt;p&gt;I finally got time this weekend to fine tune the app and upload/publish to Android Market. You get it &lt;a href="http://www.appbrain.com/app/taximate-free-(manila)/ross.brigoli.android.TaxiMate"&gt;here&lt;/a&gt; or just take your android bar code reader or Google goggles and take a snap shot of the QR/bar code below.&lt;/p&gt;  &lt;p&gt;This version is not configurable, its taxi rate is currently fixed to Manila taxis. Php40 Jump-in rate and Php3.50 for every 300m when the taxi is moving or 3.50 every 2 minutes when the taxi is not moving or in “Wait” mode.&lt;/p&gt;  &lt;p&gt;Also at the moment this version will only work on QVGA devices like HTC Wildfire.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;img style="display: inline; margin: 0px" alt="qrcode" src="http://qrcode.kaywa.com/img.php?s=5&amp;amp;d=market%3A%2F%2Fdetails%3Fid%3Dross.brigoli.android.TaxiMate" align="left" /&gt;   &lt;p&gt; Get the barcode reader of your android phone, the QR code&amp;#160; will take you to application download page on Android market.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-8995938795912719168?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/8995938795912719168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2010/11/taxi-meter-application-for-android.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8995938795912719168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8995938795912719168'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2010/11/taxi-meter-application-for-android.html' title='Taxi Meter for Android'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ldYIyUlJMSo/TPEPtVoRGQI/AAAAAAAAAKU/sAAraCLpDnQ/s72-c/TaxiMate_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-2746334158512979774</id><published>2010-10-25T23:16:00.002+08:00</published><updated>2010-11-29T10:50:19.007+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Haques'/><title type='text'>Remove “Password to Unlock Screen” on Android 2.1 Phone</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You must have noticed that after you’ve set-up your your phone for Exchange email synchronization, the phone starts asking for a password every time you need to unlock the screen. You must have also noticed that the unlock pattern menu has stopped showing up in the Settings&amp;gt;Security menu. This is because, your phone enforces the Exchange server policy of your company. It’s the exchange server that tells your phone to enforce this security policy. It is indeed reasonable to enforce such policy because you are accessing work/company owned information but most of the time, it is very annoying having to type a password on a QWERTY on screen keypad just to unlock the screen. So I decided to look for a solution.&lt;/p&gt;  &lt;p&gt;After Goggling around, i found &lt;a href="http://forum.xda-developers.com/showthread.php?t=645188"&gt;this very interesting thread about developers trying to disable this annoying “feature”.&lt;/a&gt; So I gave it a try and it works perfectly fine on my HTC Wildfire.&lt;/p&gt;  &lt;p&gt;I’m pretty sure you want to try it too. You may get the app from the Android market. It’s free. Thanks to the &lt;a href="http://forum.xda-developers.com/member.php?u=309940"&gt;developer&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Got this from &lt;a href="http://forum.xda-developers.com/showthread.php?t=655061"&gt;http://forum.xda-developers.com/showthread.php?t=655061&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Just search for Market &amp;gt; Applications &amp;gt; Tools &amp;gt; LockPicker   &lt;br /&gt;&lt;img alt="" src="http://chart.apis.google.com/chart?cht=qr&amp;amp;chs=135x135&amp;amp;chl=market://search?q=pname:nl.fotoniq.android.lockpicker" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;After installing this, you can now disable the exchange password in a few taps. Your phone now has no screen locks in place. The screen is unlocked just right after “Drag down to Unlock”. Now I wanted to re-enable to original Unlock Pattern just to have a little something to secure the data in your phone. Because you cannot find the lock pattern menu in your phone, you’ll a little help from somewhere else.&amp;#160; After another Google search, I found an app called “LockPattern OnOff” by curvefish. You can find this at the market. Here’s the link &lt;a href="http://curvefish.com/widgets/lockpattern-onoff.htm"&gt;http://curvefish.com/widgets/lockpattern-onoff.htm&lt;/a&gt; this is actually just a widget that will enable or disable the lock pattern&lt;/p&gt;  &lt;p&gt;Just install the app then add the widget anywhere on the screen. Tap the widget, it will prompt you to setup a lock pattern if you have not done it prior to setting up the exchange email. Then you’re done. Try locking and unlocking your phone.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/TMWfJyC1xFI/AAAAAAAAAKI/EZZwKcGEyno/s1600-h/lockPattern%5B3%5D.jpg"&gt;&lt;img title="lockPattern" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="356" alt="lockPattern" src="http://lh4.ggpht.com/_ldYIyUlJMSo/TMWfK6S3ieI/AAAAAAAAAKM/5IlUO4SSe7g/lockPattern_thumb%5B1%5D.jpg?imgmax=800" width="234" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Just a few hours ago, I was wondering “how can I change the lock pattern?”. There is no menu item that you could select to change the lock pattern. The quick answer is “Pretend you forgot your lock pattern”. :) Sounds funny but it works. Just try entering wrong patterns several times until the “Forgot pattern” button shows up. Then just tap this button then enter your Gmail ID and Password, then you’re good to go. Enjoy!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-2746334158512979774?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/2746334158512979774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2010/10/remove-password-to-unlock-screen-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2746334158512979774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2746334158512979774'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2010/10/remove-password-to-unlock-screen-on.html' title='Remove “Password to Unlock Screen” on Android 2.1 Phone'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ldYIyUlJMSo/TMWfK6S3ieI/AAAAAAAAAKM/5IlUO4SSe7g/s72-c/lockPattern_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-3396545139280965859</id><published>2010-01-21T03:22:00.003+08:00</published><updated>2010-11-29T10:51:58.214+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='Music Recording'/><title type='text'>DIY Mic Shock Mount</title><content type='html'>&lt;p&gt;   &lt;br /&gt;For the past couple of weeks I was looking for a cheap microphone shock mount and the cheapest I saw that was available in my country was around US$160 so I decided to build a cheap one. I only spent less than $6 and a 2 hours of my not very precious time.&lt;/p&gt;  &lt;p&gt;Before I left office today, bought materials and tools to for my DIY shock mount which are a piece of 4”-diameter PVC pipe coupling ($0.50), a set of hair ties($0.40), set of stove bolts ($0.50), a set of coping saw frame and blades ($2.5).&lt;/p&gt;  &lt;p&gt;First, I decided to cut the PVC coupling so it would look like &lt;a href="http://www.dv247.com/assets/products/29568_l.jpg"&gt;Rode SM3 shock mount’s&lt;/a&gt; frame.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/S1dXw5YFyRI/AAAAAAAAAH0/XLDw1XFMj60/s1600-h/GEDC0732%5B2%5D.jpg"&gt;&lt;img title="GEDC0732" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="GEDC0732" src="http://lh6.ggpht.com/_ldYIyUlJMSo/S1dXxUU9_NI/AAAAAAAAAH4/4ikDxAK4vAs/GEDC0732_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://lh5.ggpht.com/_ldYIyUlJMSo/S1dXzOZdgjI/AAAAAAAAAH8/ZqIspp9Dmjo/s1600-h/GEDC0734%5B2%5D.jpg"&gt;&lt;img title="GEDC0734" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="GEDC0734" src="http://lh5.ggpht.com/_ldYIyUlJMSo/S1dXzkYXtkI/AAAAAAAAAIA/rU0v-TEbBeE/GEDC0734_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Then I used the section of the PVC coupling that was removed to be a attachment brace to the original mic holders base and bolted it to the base of the frame. I had to heat that part so could bend it to a desired angle.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/S1dX0TtjVKI/AAAAAAAAAIE/cYFdcp-1bpo/s1600-h/GEDC0750%5B2%5D.jpg"&gt;&lt;img title="GEDC0750" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="GEDC0750" src="http://lh4.ggpht.com/_ldYIyUlJMSo/S1dX05flYrI/AAAAAAAAAII/u1itGxptyjU/GEDC0750_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/S1dX19TrX8I/AAAAAAAAAIM/RCGw0qlGWBs/s1600-h/GEDC0758%5B2%5D.jpg"&gt;&lt;img title="GEDC0758" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="GEDC0758" src="http://lh3.ggpht.com/_ldYIyUlJMSo/S1dX2R92OTI/AAAAAAAAAIQ/4wUhxJob_lY/GEDC0758_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And then cut slots on the edges for the rubber suspensions (hair ties). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/S1dX3Yub8oI/AAAAAAAAAIU/QaNqCt3ZC5M/s1600-h/GEDC0761%5B2%5D.jpg"&gt;&lt;img title="GEDC0761" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="GEDC0761" src="http://lh6.ggpht.com/_ldYIyUlJMSo/S1dX32xbt9I/AAAAAAAAAIY/TWu-o7At9BM/GEDC0761_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Right after positioning the suspensions, i found a problem. The rubber bands slip every time i attempted to position the mic. So, I decided to use the extra stove bolts to serve as the stopper of the rubber band slit, and it worked.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/S1dX44MjamI/AAAAAAAAAIc/jLslE58ucNM/s1600-h/GEDC0770%5B2%5D.jpg"&gt;&lt;img title="GEDC0770" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="GEDC0770" src="http://lh5.ggpht.com/_ldYIyUlJMSo/S1dX5YfMrYI/AAAAAAAAAIg/QuBdWRMNdr8/GEDC0770_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here’s the finished product. I spent only two hours to complete and its worth it. Just $6 and I have a universal shock mount. I may have to paint the whole thing black. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_ldYIyUlJMSo/S1dX6EDZFwI/AAAAAAAAAIs/IMZ4hRYi1CA/s1600-h/GEDC0810%5B6%5D.jpg"&gt;&lt;img title="GEDC0810" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="246" alt="GEDC0810" src="http://lh4.ggpht.com/_ldYIyUlJMSo/S1dX6od-U6I/AAAAAAAAAIw/PTrCjbSMfJ4/GEDC0810_thumb%5B4%5D.jpg?imgmax=800" width="314" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh5.ggpht.com/_ldYIyUlJMSo/S1dXvQD4BgI/AAAAAAAAAI0/XQCpIeZWDq0/s1600-h/GEDC0819%5B6%5D.jpg"&gt;&lt;img title="GEDC0819" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="GEDC0819" src="http://lh3.ggpht.com/_ldYIyUlJMSo/S1dXwDkLnAI/AAAAAAAAAI8/DrT4XRm-eWk/GEDC0819_thumb%5B4%5D.jpg?imgmax=800" width="313" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now that it’s complete, I just hope this makes a difference in my recordings.&lt;/p&gt;  &lt;p&gt;UPDATE: I have decided to do a black spray paint makeover.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_ldYIyUlJMSo/S1iP_qjOnAI/AAAAAAAAAJc/q8mpmXHa-XY/s1600-h/GEDC0833%5B1%5D.jpg"&gt;&lt;img title="GEDC0833" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="245" alt="GEDC0833" src="http://lh4.ggpht.com/_ldYIyUlJMSo/S1iQAHlP6TI/AAAAAAAAAJk/W2uIz0s1NcY/GEDC0833_thumb%5B1%5D.jpg?imgmax=800" width="322" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh5.ggpht.com/_ldYIyUlJMSo/S1iQA7q5dgI/AAAAAAAAAJo/sjpeZe_qLz4/s1600-h/GEDC0838%5B5%5D.jpg"&gt;&lt;img title="GEDC0838" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="249" alt="GEDC0838" src="http://lh4.ggpht.com/_ldYIyUlJMSo/S1iQBXKSzcI/AAAAAAAAAJs/MaVyRUczjyc/GEDC0838_thumb%5B5%5D.jpg?imgmax=800" width="318" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-3396545139280965859?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/3396545139280965859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2010/01/diy-mic-shock-mount.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3396545139280965859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3396545139280965859'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2010/01/diy-mic-shock-mount.html' title='DIY Mic Shock Mount'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ldYIyUlJMSo/S1dXxUU9_NI/AAAAAAAAAH4/4ikDxAK4vAs/s72-c/GEDC0732_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-2724818712186564733</id><published>2009-12-17T01:37:00.003+08:00</published><updated>2010-11-29T11:13:14.264+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music Recording'/><title type='text'>TSO’s Christmas Eve Sarajevo</title><content type='html'>&lt;p&gt;  &lt;br /&gt;&lt;b&gt;Trans-Siberian Orchestra&lt;/b&gt; (often abbreviated as &lt;b&gt;TSO&lt;/b&gt;) is an &lt;a href="http://en.wikipedia.org/wiki/Orchestra"&gt;orchestra&lt;/a&gt; founded in 1996 by &lt;a href="http://en.wikipedia.org/wiki/Paul_O%27Neill_%28rock_producer%29"&gt;Paul O'Neill&lt;/a&gt;, who brought together long-time friends &lt;a href="http://en.wikipedia.org/wiki/Jon_Oliva"&gt;Jon Oliva&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Robert_Kinkel"&gt;Robert Kinkel&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Al_Pitrelli"&gt;Al Pitrelli&lt;/a&gt;. The band's musical style incorporates &lt;a href="http://en.wikipedia.org/wiki/Progressive_rock"&gt;progressive rock&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Symphonic_metal"&gt;symphonic metal&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Heavy_metal_music"&gt;heavy metal&lt;/a&gt;, with influences from &lt;a href="http://en.wikipedia.org/wiki/Classical_music"&gt;classical music&lt;/a&gt;. (&lt;a href="http://en.wikipedia.org/wiki/Trans-Siberian_Orchestra"&gt;Wikipedia&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Just a few days ago, my fantastic guitar-playing friends and I were recording our cover of the TSO’s Christmas Eve Sarajevo piece using an M-Audio Midi keyboard and two guitars.&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:cf95a283-bea7-4db1-b5fb-775b85adabd9" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div id="61f55739-0afc-44f7-aa8b-5bb7ef0efffd" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GqfYzV53DCE&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GqfYzV53DCE&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;I recorded the the Percussions/Drum lines, bass lines, orchestra ensembles (strings) and the piano parts using Midi keyboard and &lt;a href="http://en.wikipedia.org/wiki/VSTi"&gt;VSTi instruments&lt;/a&gt; while two of my friends, Paolo Espeleta and Conrado Cruz, played and recorded the guitar lines. We’ve recorded the tracks independently from different locations and then mixed down the tracks using &lt;a href="http://en.wikipedia.org/wiki/Cakewalk_Sonar"&gt;Cakewalk Sonar&lt;/a&gt; recording software. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-2724818712186564733?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/2724818712186564733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/12/trans-siberian-orchestras-christmas-eve.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2724818712186564733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2724818712186564733'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/12/trans-siberian-orchestras-christmas-eve.html' title='TSO’s Christmas Eve Sarajevo'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-6021117243113191325</id><published>2009-11-19T22:05:00.002+08:00</published><updated>2010-11-29T10:52:57.739+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='Music Recording'/><title type='text'>DIY Sustain Pedal</title><content type='html'>&lt;p&gt;   &lt;br /&gt;For the last couple of days I was looking for a cheap sustain pedal for my M-Audio Keyrig49 keyboards. The cheapest I found was an M-Audio SP-1 which is around Php1,300 (US$27) but I don’t find it cheap because i figured out that sustain pedals are just simple SPST(single-pole-single-throw) switch. So decided to build one for only Php300 (US$6).&lt;/p&gt;  &lt;p&gt;I used materials available at from the nearest hardware. I used surface-type switch box, a door bell switch (momentary push button), and an extra cover plate.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_ldYIyUlJMSo/SwVQdq-beVI/AAAAAAAAAGo/Rw-gSIFXILg/s1600-h/GEDC0209%5B3%5D.jpg"&gt;&lt;img title="GEDC0209" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="271" alt="GEDC0209" src="http://lh4.ggpht.com/_ldYIyUlJMSo/SwVQe4E_iKI/AAAAAAAAAGs/SurB-KtxfO8/GEDC0209_thumb%5B1%5D.jpg?imgmax=800" width="356" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I cut out the base of the box with a hack-saw so it look more like a switch for the foot. Then I positioned the push button switch in the cover plate.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/SwVQf8PRwXI/AAAAAAAAAGw/8iDewWZJ4VQ/s1600-h/GEDC0214%5B4%5D.jpg"&gt;&lt;img title="GEDC0214" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="188" alt="GEDC0214" src="http://lh3.ggpht.com/_ldYIyUlJMSo/SwVQg06iyVI/AAAAAAAAAG0/T1b1YM7qSaQ/GEDC0214_thumb%5B2%5D.jpg?imgmax=800" width="245" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/SwVQiSMZlyI/AAAAAAAAAG4/QFPj0NjcLNg/s1600-h/GEDC0213%5B2%5D.jpg"&gt;&lt;img title="GEDC0213" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="184" alt="GEDC0213" src="http://lh3.ggpht.com/_ldYIyUlJMSo/SwVQj0y-6lI/AAAAAAAAAG8/16alXoaXcGM/GEDC0213_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The second cover plate does not have any hole for switches in it. It’s&amp;#160; a cover plate for covering unused junction box in a household electrical installations. I then bolted the second cover plate only fixed in one end. In the other end of the second cover plate bolted it from the inside the box making the head tail of the bolt protrude and serves as a motion guide. After attaching the second cover plate this is how it looks like.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/SwVQlO2c1fI/AAAAAAAAAHA/QjkdDZ7veHg/s1600-h/GEDC0224%5B3%5D.jpg"&gt;&lt;img title="GEDC0224" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="283" alt="GEDC0224" src="http://lh6.ggpht.com/_ldYIyUlJMSo/SwVQmcsvyNI/AAAAAAAAAHE/FA8kiK0eYLs/GEDC0224_thumb%5B1%5D.jpg?imgmax=800" width="372" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The wirings are simple. The push button switch has only two terminal and the phone cable has also two terminals. So it’s common sense for non electrical/electronics people.&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:045db129-e3a8-48b3-a13d-ec6babb2be5b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div id="95ec1635-e28d-4e9b-b689-7f90fd584627" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=MKb3JezjmCo" target="_new"&gt;&lt;img src="http://lh3.ggpht.com/_ldYIyUlJMSo/SwVQnfjclCI/AAAAAAAAAHM/2HFXFb_ufz0/video6abd51b54fad%5B6%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('95ec1635-e28d-4e9b-b689-7f90fd584627'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/MKb3JezjmCo&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/MKb3JezjmCo&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;Although it looked like a medical equipment ‘coz it is white… :))&amp;#160; The most important thing is that it works.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-6021117243113191325?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/6021117243113191325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/11/diy-sustain-pedal.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/6021117243113191325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/6021117243113191325'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/11/diy-sustain-pedal.html' title='DIY Sustain Pedal'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ldYIyUlJMSo/SwVQe4E_iKI/AAAAAAAAAGs/SurB-KtxfO8/s72-c/GEDC0209_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-7273763341580950539</id><published>2009-08-22T01:36:00.002+08:00</published><updated>2009-09-15T02:05:02.371+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haques'/><title type='text'>Fun with HP Printer Display</title><content type='html'>&lt;p&gt;   &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/Sq6FyjBh19I/AAAAAAAAAGI/2PaG5cnI7dU/s1600-h/Photo-0067%5B8%5D.jpg"&gt;&lt;img title="Photo-0067" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="172" alt="Photo-0067" src="http://lh4.ggpht.com/_ldYIyUlJMSo/Sq6FzBEhH8I/AAAAAAAAAGM/FqnvYMheT6o/Photo-0067_thumb%5B4%5D.jpg?imgmax=800" width="244" align="left" border="0" /&gt;&lt;/a&gt;While searching for a programming solution, I stumbled into an &lt;a href="http://kovaya.com/miscellany/2007/10/insert-coin.html"&gt;article&lt;/a&gt; claiming that they can change the default displayed message of your office printer to whatever message you want. The message that will replace the conventional “Ready” message. I got interested, so i took time to read it. When i searched about it in Google, I was amazed that lots of articles where already written about it. Articles that offer a program the author wrote himself to make you do change the “Ready” message of your printer to some more humorous such as “INSERT COIN!”. Some articles suggest that you need to learn the language to do that. I learned pearl just to understand what those line of code does and found out that it’s just simply sending a string of character to an opened &lt;a href="http://en.wikipedia.org/wiki/Internet_socket"&gt;TCP socket&lt;/a&gt; to the printer on the network. The program exploits the &lt;a href="http://en.wikipedia.org/wiki/Printer_Job_Language"&gt;PJL (Printer Job Language)&lt;/a&gt; to send a command to the printer to replace the conventional “Ready” message to something else. The command is &lt;a href="mailto:%E2%80%9C@PJL"&gt;“@PJL&lt;/a&gt; RDYMSG DISPLAY = “ YOUR MESSAGE”. &lt;/p&gt;  &lt;p&gt;I didn’t like the idea of using a program written by somebody else, specially if you don’t understand what it really does. It could be a “keylogger” that could secretly grab your passwords. So, for just a simple one-way socket communication, I figured out a pretty easy way to do it without even writing a program or using a new one. I was able to change the network printer’s display at the office saying “WALANG HIMALA!” (No Miracle!) by only using the telnet console application available in all Windows box.&lt;/p&gt;  &lt;p&gt;To do it, you only need to run the following in the command prompt:&lt;/p&gt;  &lt;p&gt;telnet &amp;lt;the IP address of the printer&amp;gt; 9100&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_ldYIyUlJMSo/So7bDpJKhBI/AAAAAAAAAF4/LY_Np-vfv-E/s1600-h/image%5B5%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="216" alt="image" src="http://lh4.ggpht.com/_ldYIyUlJMSo/So7bEIttdSI/AAAAAAAAAF8/b8gsPAjCezI/image_thumb%5B3%5D.png?imgmax=800" width="504" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If the command prompt clears out to black screen after issuing the command above, this means that your have successfully opened a TCP socket to the network printer and that you just need type the following text in notepad to change the message: &lt;/p&gt;  &lt;p&gt;@PJL RDYMSG DISPLAY = “INSERT COIN!!!”&lt;/p&gt;  &lt;p&gt;Then paste what you typed in notepad to the command prompt and then press “Enter”. Bingo, your done, check your printer and leave it there until some officemates notice and starts laughing. I enjoyed observing their reactions the moment they noticed that the printer saying something addressed to them :). &lt;/p&gt;  &lt;p&gt;The message will be reverted back to default which is “READY” after a power cycle (Printer reboot). So, no worries.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-7273763341580950539?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/7273763341580950539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/08/hacking-hp-printer-display.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7273763341580950539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7273763341580950539'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/08/hacking-hp-printer-display.html' title='Fun with HP Printer Display'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ldYIyUlJMSo/Sq6FzBEhH8I/AAAAAAAAAGM/FqnvYMheT6o/s72-c/Photo-0067_thumb%5B4%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-4675865772799641322</id><published>2009-07-25T18:53:00.002+08:00</published><updated>2009-09-15T02:11:33.393+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geekness Reduction Program'/><category scheme='http://www.blogger.com/atom/ns#' term='Travels'/><title type='text'>Coron, Palawan</title><content type='html'>&lt;p&gt;   &lt;br /&gt;About three weeks ago, my friends and I went to Coron, Palawan for some out of town adventure. We arrived at the dive resort at mid day then went to try the salt water hot spring. The hot water plus the salt in it said to be good for the skin. I don’t really mind that, what was important to me back then was to get out of my daily routine which is waking up early for work and then going home tired. One unforgettable experience was the shipwrecks. I also have managed to dive under water for a photo shoot.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/Smrj3kejQpI/AAAAAAAAAFo/AmNZ2-Klams/s1600-h/PICT0261e%5B3%5D.jpg"&gt;&lt;img title="PICT0261e" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="329" alt="PICT0261e" src="http://lh3.ggpht.com/_ldYIyUlJMSo/Smrj-iaeNeI/AAAAAAAAAFs/O4JsAKtdYEM/PICT0261e_thumb%5B1%5D.jpg?imgmax=800" width="433" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This ship wrecks were used to be Japanese war ships destroyed by Americans fleets during the World War II.&lt;/p&gt;  &lt;p&gt;The sceneries are fantastic. White san beaches, virgin islands, mangrove forests and coral mountains. I didn’t realize I like nature until then.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/Smrj_tRJJwI/AAAAAAAAAFw/nZtSIrKxTw0/s1600-h/IMG_0668%5B4%5D.jpg"&gt;&lt;img title="IMG_0668" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="342" alt="IMG_0668" src="http://lh6.ggpht.com/_ldYIyUlJMSo/SmrkBoUB-0I/AAAAAAAAAF0/35g3u1b-F_w/IMG_0668_thumb%5B2%5D.jpg?imgmax=800" width="446" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The people are very nice. The dive shop owner happened to be from my school so got along easily and offered us a place for Karaoke and Tequila.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-4675865772799641322?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/4675865772799641322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/07/coron-palawan.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/4675865772799641322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/4675865772799641322'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/07/coron-palawan.html' title='Coron, Palawan'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ldYIyUlJMSo/Smrj-iaeNeI/AAAAAAAAAFs/O4JsAKtdYEM/s72-c/PICT0261e_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-951090260846885100</id><published>2009-07-25T16:45:00.003+08:00</published><updated>2009-09-15T00:59:09.823+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Astronomy'/><title type='text'>Solar Eclipse 2009</title><content type='html'>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;July 22, 2009, I woke up early in the morning to join a group of astronomers in observing the longest solar eclipse of our lifetime. 14.62 degrees latitude, 121.10 longitude is the location of the site where we took photos of Luna passing in front of Sol.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/SmrGEzNOb5I/AAAAAAAAAFI/VEuOoXt9db0/s1600-h/DSC02285%5B3%5D.jpg"&gt;&lt;img title="DSC02285" style="border: 0px none ; display: inline;" alt="DSC02285" src="http://lh5.ggpht.com/_ldYIyUlJMSo/SmrGHLki_VI/AAAAAAAAAFM/d7ePb-if34g/DSC02285_thumb%5B1%5D.jpg?imgmax=800" border="0" width="454" height="345" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The group is consist of member of the University if the Philippines Astronomical Society and some Instructor at the Astronomy department of Rizal Technological university. We photos of the eclipse using Bamm Gabriana’s 10” MEADE reflector together with point and shoot digital cameras. We used combinations of 4 solar filters including red and yellow eyepiece filters to get this results. &lt;/p&gt;  &lt;p&gt;We can only see partial solar eclipse from Manila, this is why most of the professional astronomers in the Philippines flew to China to get a chance to take a shot of the longest total solar eclipse.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ldYIyUlJMSo/SmrGHlmLBNI/AAAAAAAAAFQ/q7QoivaahOk/s1600-h/DSC02328%5B6%5D.jpg"&gt;&lt;img title="DSC02328" style="border: 0px none ; display: inline;" alt="DSC02328" src="http://lh6.ggpht.com/_ldYIyUlJMSo/SmrGIFVLEOI/AAAAAAAAAFU/j4-iVb6YUIw/DSC02328_thumb%5B4%5D.jpg?imgmax=800" border="0" width="459" height="361" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I took this photo @ exactly 9:44 AM Manila time which is one minute after the Maximum occultation. I also took a photo of the final egress just seconds before the eclipse end (photo below).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_ldYIyUlJMSo/SmrGI0KxmrI/AAAAAAAAAFY/VL5jKJRh-4s/s1600-h/DSC02381%5B4%5D.jpg"&gt;&lt;img title="DSC02381" style="border: 0px none ; display: inline;" alt="DSC02381" src="http://lh4.ggpht.com/_ldYIyUlJMSo/SmrGKhhDK_I/AAAAAAAAAFc/BHmoYW3sz4I/DSC02381_thumb%5B2%5D.jpg?imgmax=800" border="0" width="467" height="385" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This was taken @ around 10:58 AM Manila time.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;At the very same time the group of Filipino astronomers back in China experienced the totality as seen in the video below.  Although they were not able to take photos as the clouds did not favor them, the totality experience alone is worth going to China.&lt;/p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1o_iSCap9IU&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/1o_iSCap9IU&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;I enjoyed the day as I was able to witness a remarkable astronomical event which reminds us of how small we are and how marvelous God is (if there is really God).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-951090260846885100?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/951090260846885100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/07/solar-eclipse-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/951090260846885100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/951090260846885100'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/07/solar-eclipse-2009.html' title='Solar Eclipse 2009'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ldYIyUlJMSo/SmrGHLki_VI/AAAAAAAAAFM/d7ePb-if34g/s72-c/DSC02285_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-9139411740270929121</id><published>2009-06-21T01:22:00.002+08:00</published><updated>2009-09-15T00:59:31.572+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fix'/><category scheme='http://www.blogger.com/atom/ns#' term='Haques'/><title type='text'>Yahoo Messenger Login Problem</title><content type='html'>&lt;p&gt;  &lt;br /&gt;I was having login problems logging in to Yahoo Messenger where I am receiving error messages 81003005. I was able to connect through web messenger but not though the YM client app. It seems to me like a firewall problems, etc… decided to reboot my router as YM was working OK yesterday. It didn’t fix the problem so i decided to reboot my laptop. It still did not solve the problem, so I re-installed YM client and still got no luck. Still cannot connect but at least the error code changed to 81003004. It seemed like the something is blocking the YM client from connecting to the outside world. So, i decided to scan the ports used by YM on my local machine but did not find problem. The ports are not blocked and I can even telnet the YM server. Therefore my final conclusion was an Internet Explorer configuration. I have been using Firefox ever since so I did not expect Internet Explorer configuration would change. Indeed I was right. Internet explorer is configured to use HTTP proxy that is pointed to my local machine on port 8888.&lt;/p&gt;  &lt;p&gt;Problem is solved by simply unticking the “Use proxy” tickbox in the LAN Setting of Internet explorer. I can now login to Yahoo Messenger. &lt;/p&gt;  &lt;p&gt;I didn’t know how these settings mysteriously changed until I ran &lt;a href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt; for sniffing HTTP Transport data. I realized that it was &lt;a href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt; who changed the IE’s LAN settings but failed to restore the original settings. I forgot that Fiddler is a local HTTP proxy… Lessons learned.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-9139411740270929121?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/9139411740270929121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/06/yahoo-messenger-login-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/9139411740270929121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/9139411740270929121'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/06/yahoo-messenger-login-problem.html' title='Yahoo Messenger Login Problem'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-2420839990854007810</id><published>2009-04-16T00:04:00.003+08:00</published><updated>2010-11-29T10:56:15.996+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discoveries'/><title type='text'>Windows Live Writer</title><content type='html'>&lt;p&gt;   &lt;br /&gt;I have just found out about Windows Live Writer. Out of curiosity, I clicked a blue pen like icon on my internet explorer toolbar with a tooltip blog this. I didn’t even know I have this software on my laptop until now. It comes with the installer of Windows Live Messenger.&lt;/p&gt;  &lt;p&gt;This application is very useful if you are a frequent blogger and I’m beginning to love this little free tool by Microsoft.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-2420839990854007810?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/2420839990854007810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/04/windows-live-writer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2420839990854007810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2420839990854007810'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/04/windows-live-writer.html' title='Windows Live Writer'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-1684180988746069786</id><published>2009-04-14T22:44:00.008+08:00</published><updated>2009-07-25T18:01:53.844+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Politics'/><title type='text'>Nation of Servants?</title><content type='html'>A couple of weeks ago, there was &lt;a href="http://www.philstar.com/Article.aspx?articleid=454117"&gt;this article&lt;/a&gt; written by a Hong Kong Chinese columnist, Chip Tsao which caught the attention of the Filipinos. The article was about the Philippines claiming the Spratly islets sitting about 400 Km from the cost of Palawan in the South China Sea. But the main idea of the article was not the line that caught the Filipinos’ attention. It was the line that describes the Philippines as a nation of servants. And that Filipinos are maids and toilet bowl cleaners. Honestly, I was offended by those lines at first. But as I was reflecting on it, I was convinced that Chip Tsao was partially right. About 3,000 Filipinos leave the country every year to work abroad. Most of them are maids, or as they call it, domestic helpers to make it sound better and some are nurses working at some home for the grannies who were disowned by their sons and daughters. They feed them and wipe their asses. Some others are factory workers and few are professionals who chose to be laborers. Now tell me we are not a nation of servants.&lt;br /&gt;&lt;br /&gt;There are also lots of Filipinos migrating to other countries. Why are these people keep leaving the very land where they were born and prefer to live abroad? Is this the new Filipino dream? I admittedly say that I also am becoming like them. I'm losing hope. I want to leave this country to find a better life. Who should we blame?&lt;br /&gt;&lt;br /&gt;Our government has very good program that supports overseas Filipino workers. Let me tell you how good it is. The Philippine government has withdrawn the Filipino troops from Iraq to save a life of a mere worker, Angelo dela Cruz. This means our government is willing to risk the defensive alliance treaty just for one laborer. Not to mention that the laborer was given some kind of a hero's welcome. How come he's a hero? Then we call ourselves brave? Stupid isn’t it? They also tolerate rapes of Filipino domestic helpers so that that host country will still accept Filipina maids in the future. Well, this is what i see.&lt;br /&gt;&lt;br /&gt;Why is this happening? I think this is because of the income these people are earning, and the tax they are paying to our leader’s gigantic pockets. Our government thinks that it is a good idea to depend on overseas Filipino workers forever than to invest on Agriculture. If I am right about this, then our politicians and political leaders are the dumbest persons on earth. Or maybe they are just too selfish and never thought of the future of the state.&lt;br /&gt;&lt;br /&gt;By the way, the Filipino government reacted negatively on Chip Tsao’s article. They said it’s not true. I see it as a sign that we are still in the stage of denial.&lt;br /&gt;&lt;br /&gt;Children of today have also been influenced by these phony dreams. If you go to a mediocre high school and ask the students what career they want to have or what course they want to take in college, about 70-80 percent would want to go to a nursing school and to be a nurse. Then those who can’t afford nursing school, goes to a caregiver training center. Almost every big universities and colleges are now offering nursing 'coz the people think this is the coolest degree they could have. The remaining 20 percent would want to become movie actors and actresses as they saw it on TV and men’s magazines. And then here comes the coolest job in town. Call center agents, where the Americans can yell at them whenever their computers do not allow them to access porn sites. Now, tell me we’re not a nation of servants.&lt;br /&gt;&lt;br /&gt;As Filipinos Instead of serving the country, we serve other nations. So we cannot blame them when they find Philippines as a nation of servants.&lt;br /&gt;&lt;br /&gt;I feel so sad about this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-1684180988746069786?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/1684180988746069786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/04/nation-of-servants.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/1684180988746069786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/1684180988746069786'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/04/nation-of-servants.html' title='Nation of Servants?'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-996201945355054974</id><published>2009-03-22T01:43:00.005+08:00</published><updated>2010-11-29T10:55:11.371+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flight Sim'/><title type='text'>I'm Flyin!</title><content type='html'>I spent almost 4 hours today flying a Cessna 172 plane on MS Flight Simulator and got this.&lt;br /&gt;Tonight, I have just completed the private pilot check ride.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ldYIyUlJMSo/ScUpxTbVvRI/AAAAAAAAAE8/MKX6sGDb0qQ/s1600-h/pilot.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-996201945355054974?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/996201945355054974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/03/lets-fly.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/996201945355054974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/996201945355054974'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/03/lets-fly.html' title='I&apos;m Flyin!'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-5423100182100562965</id><published>2009-03-21T02:46:00.009+08:00</published><updated>2010-11-29T10:55:52.994+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discoveries'/><title type='text'>I Found My Old Blog Page</title><content type='html'>Yesterday, an Itallian fella sent me a mail telling me his interest in my &lt;a href="http://briggs69.blogspot.com/2008/11/pc-based-chrono.html"&gt;Airsoft Crhono&lt;/a&gt; and that he badly need the source code. Yesterday, an Itallian fella sent me a mail telling me his interest in my &lt;a href="http://briggs69.blogspot.com/2008/11/pc-based-chrono.html"&gt;Airsoft Crhono&lt;/a&gt; and that he badly need the source code of my &lt;a href="http://briggs69.blogspot.com/2008/11/pc-based-chrono.html"&gt;Chrono project&lt;/a&gt;. It was only at that very moment that I realized that I don't remember anymore where I hid that source code. I did a few searches on my hard drives and my backup DVDs but did not find it. So tried searching every possible storage on the net when I stumbled on friendster and found my 2-year old blog page. I read them and I don't even remember writing those posts and yet some are quite interesting. So, i decided linking it here: &lt;a href="http://brig-x.blog.friendster.com/"&gt;Neuron Extension&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-5423100182100562965?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/5423100182100562965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/03/i-found-my-old-blog-page.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5423100182100562965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5423100182100562965'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/03/i-found-my-old-blog-page.html' title='I Found My Old Blog Page'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-8328419292481979082</id><published>2009-03-12T22:09:00.001+08:00</published><updated>2009-07-25T18:26:37.092+08:00</updated><title type='text'>My Desktop</title><content type='html'>&lt;p&gt;Your desktop tells who you are.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_ldYIyUlJMSo/SmrdHZcyM6I/AAAAAAAAAFg/oAwh2MXgtt4/s1600-h/Desktop%5B3%5D.jpg"&gt;&lt;img title="Desktop" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="400" alt="Desktop" src="http://lh5.ggpht.com/_ldYIyUlJMSo/SmrdKnYI0sI/AAAAAAAAAFk/3rYby1a4azA/Desktop_thumb%5B1%5D.jpg?imgmax=800" width="625" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-8328419292481979082?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/8328419292481979082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/03/my-desktop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8328419292481979082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8328419292481979082'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/03/my-desktop.html' title='My Desktop'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ldYIyUlJMSo/SmrdKnYI0sI/AAAAAAAAAFk/3rYby1a4azA/s72-c/Desktop_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-8652226236893028643</id><published>2009-02-25T10:09:00.005+08:00</published><updated>2010-11-29T10:57:33.071+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Religion'/><title type='text'>If You Could Ask God One Question, What Would It Be?</title><content type='html'>I got this from my colleague's Blog: &lt;a href="http://www.garciadan.com/"&gt;www.garciadan.com&lt;/a&gt;&lt;br /&gt;&lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;---------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Regardless of your beliefs, whether Christian, Muslim, Budhist, Atheist, or Agnostic, chances are, you’ve encountered this question before.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;I myself don’t really consider myself to belong to any religion per say, although I do believe that there is a God. I don’t do the Sunday mass thing, preach on buses, or kneel down facing east. I just think there’s a God, and thats that. I said I &lt;em&gt;think &lt;/em&gt; there’s a God because no matter how you look at it, you can’t prove it. Perhaps I’m a Deist or leaning towards Agnosticism? I don’t know what I am, but I know what I believe in. I am ready to discuss beliefs or disbeliefs, given that we respect each other’s thinkings. Now….&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Earlier this week though, someone asked me the question “If I could ask God something, what would it be?”, and I came up with a question that should satisfy a lot of people regardless of their beliefs…&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span id="more-166"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Before I proceed, I would just like to state that for argument’s sake, it is supposed that God is someone or something that will answer any of our questions, regardless of how hard they are, and that is assumed to be the absolute truth. The answer and question would also be know to all men and women around the globe.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Normally, people would ask whom they were destined to marry, whats their purpose in life, whats the meaning of life, or something as simple as what’s next week’s winning lottery numbers. Nothings wrong with these questions I guess, but I was really surprised and delighted about the question that I thought of that day. And that is….&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;“Do you (God) really exist?”&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Regardless of your beliefs, you should be contented with what the answer is. There are only two possible answers to that, yes or no.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;YES, I really do exist&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;If you believe in a God, then you’ve got your answers that all your blind devotion and faith was right all along. If you went to church every Sunday, didn’t eat beef/pork, or lifted a finger on the Sabbath day, then it was all for something after all. Of course, if you were believing in the wrong God and actually committing sins like crazy, then sucks to be you.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;If you’re an Atheist on the other hand, you’ve just had your disbelief throw in your face. The theists who were blindly following something were right after all. Now, as I mentioned, given that this was answered by someone who’s answer is “assumed to be the truth”. How you react to this, is up to you. If you choose to down on your knees, or stay defiant, is entirely up to you. &lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Deists will still pursue the scientific method and demand that this dude is really telling the truth. Kinda hard to prove. Agnostics will be the same, if they consider this the proof of the existence of a real God or not. Thus is the advantage/disadvantage of being in the middle. Given that this is assumed truth, chances area lot of these guys would follow suit and pray.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;NOPE, I am nothing but a myth.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;In this case, those of religious nature will be lost. Their lives worth of blind faith and devotion would be for nothing. All their Sunday mornings, calloused knees, or whatever they got from their traditions would be for naught. This would truly be life changing. Then again, thus is the basis, and risk, of their faith. Belief without proof.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Atheists on the other hand would have a field day laughing at all the religions in the world, saying how stupid they were, and how they were right all along. Soon, they’d be leading the destruction of churches, mosques, and other religious places in order to put malls, shopping centers, and other things that would make life easier. Like bike trails!&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Again, Deists would still ask for proof of this persons authenticity. Agnostics would have an answer and say something like “nothing ventured, and nothing gained”. No loss for them except if they were like me who still thinks there might be a God.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;Thats all I have to say on this. I just thought it would be a cool question to ask. For me, that would be the coolest thing you could ask God… To finally know if he exists… Still, I wouldn’t know what the answer is because nobody’s really asking it yet. So until then, lets all just respect each other’s beliefs. I firmly believe that your rights end where other people’s begin.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Agnostic View&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let me share the thoughts of an Agnostic. In the first place you do not need to ask the question “Do you (God) really exist?”. Or if you have to, it does not require an answer from the "God". You will simply conclude that "God"exist if you get an answer otherwise, if you don't get any answers, God is nothing but a myth. But there is still a problem with this, what if you've asked the wrong God?&lt;br /&gt;&lt;br /&gt;With the assumption that God(the creator) exist and will answer my questions truthfully and If I'll be given the chance to ask the "God" a question(s), that would be, "What are you?" and "How did you do it?".&lt;br /&gt;&lt;br /&gt;"God" may not answer me in spoken words or written language. Because if "God" is not a human/humanoid or a sapient being at all, how can he speak or write? Now, what if "God" is the physical laws that govern the universe, as described by Carl Sagan? "God" could have answer me in a very different way that will lead us to conclusion that "God" is simply the laws of nature. This can be the discovery of an unusual black hole that would have been proved to have ignited the universe.&lt;br /&gt;&lt;br /&gt;Or if God is a very different thing at all, that he could be an entity that has not yet been discovered by our science, then the question "What are you?" would be beneficial to mankind or even alienkind.&lt;br /&gt;&lt;br /&gt;The answer to this question would become the most satisfying answer the human race could ever have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-8652226236893028643?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/8652226236893028643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/02/if-you-could-ask-god-one-question-what.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8652226236893028643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/8652226236893028643'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/02/if-you-could-ask-god-one-question-what.html' title='If You Could Ask God One Question, What Would It Be?'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-340189390899884298</id><published>2009-02-04T00:55:00.010+08:00</published><updated>2009-09-15T01:00:26.501+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inner Geek'/><title type='text'>Wi-Fi T-Shirt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ldYIyUlJMSo/SYh_U8V0duI/AAAAAAAAADI/zP-GzCBL9PM/s1600-h/wifi_shirt_anim.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 230px; height: 272px;" src="http://2.bp.blogspot.com/_ldYIyUlJMSo/SYh_U8V0duI/AAAAAAAAADI/zP-GzCBL9PM/s400/wifi_shirt_anim.gif" alt="" id="BLOGGER_PHOTO_ID_5298624959373145826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thinkgeek.com/tshirts-apparel/interactive/991e/"&gt;T-Shirt that indicates Wi-Fi signal strength.&lt;/a&gt; I know this is stupid but I want one... :)&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;b&gt;Product Features&lt;/b&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Glowing animated shirt dynamically displays the current wi-fi signal strength. &lt;/li&gt;&lt;li&gt;Shows signal strength for 802.11b or 802.11g &lt;/li&gt;&lt;li&gt;Black 100% Cotton T-Shirt &lt;/li&gt;&lt;li&gt;Animated Decal is Removable (with hook and loop fasteners) for Easy Washing &lt;/li&gt;&lt;li&gt;Battery Pack is Concealed in a Small Pocket Sewn Inside the Shirt &lt;/li&gt;&lt;li&gt;Runs for hours off three AAA Batteries (not included) &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-340189390899884298?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/340189390899884298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/02/wi-fi-t-shirt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/340189390899884298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/340189390899884298'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/02/wi-fi-t-shirt.html' title='Wi-Fi T-Shirt'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ldYIyUlJMSo/SYh_U8V0duI/AAAAAAAAADI/zP-GzCBL9PM/s72-c/wifi_shirt_anim.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-4795230518077857744</id><published>2009-01-19T22:41:00.005+08:00</published><updated>2010-12-04T17:32:13.938+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Disable PrintScreen on C# without Keyboard Hooks</title><content type='html'>&lt;p&gt;   &lt;br /&gt;Yes, there is a simple solution to prevent grabbing information on your C# application screen with the keyboard's printscreen key without using keyboard hooks or calling COM interops. The solution makes use of &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.imessagefilter.aspx"&gt;Windows Forms Message Filter&lt;/a&gt; to trap keyboard events on your application window.     &lt;br /&gt;    &lt;br /&gt;To trap keyboard events with Windows Message Filter, you need to implement the IMessageFilter interface and override the member PreFilterMessage(ref Message WM) method. This is the method called whenever a Form receives a keyboard or mouse event. You may want to read more about &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.imessagefilter.aspx"&gt;IMessageFilter&lt;/a&gt;.     &lt;br /&gt;    &lt;br /&gt;The problem is that even though you have trapped the PrintScreen keypress event, the captured image will still persist to the clipboard. Therefore the simplest solution is to clear up the clipboard right after the PrintScreen is pressed on the keyboard.     &lt;br /&gt;    &lt;br /&gt;This is how the overridden method will look like this:     &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font size="2"&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;bool&lt;/span&gt;&lt;/span&gt; PreFilterMessage(&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;ref&lt;/span&gt;&lt;/span&gt; &lt;span style="color: teal"&gt;&lt;span style="color: teal"&gt;Message&lt;/span&gt;&lt;/span&gt; WM)           &lt;br /&gt;{           &lt;br /&gt;&lt;span style="color: teal"&gt;&lt;span style="color: teal"&gt;Keys&lt;/span&gt;&lt;/span&gt; kCode = (&lt;span style="color: teal"&gt;&lt;span style="color: teal"&gt;Keys&lt;/span&gt;&lt;/span&gt;)(&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt;&lt;/span&gt;)WM.WParam &amp;amp; &lt;span style="color: teal"&gt;&lt;span style="color: teal"&gt;Keys&lt;/span&gt;&lt;/span&gt;.KeyCode;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;span style="color: green; font-family: &amp;#39;Courier New&amp;#39;"&gt;//block printscreen on KeyPress&lt;/span&gt;           &lt;br /&gt;&lt;/font&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font size="2"&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt;&lt;/span&gt; (kCode == &lt;span style="color: teal"&gt;&lt;span style="color: teal"&gt;Keys&lt;/span&gt;&lt;/span&gt;.Snapshot)             &lt;br /&gt;{             &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;span style="font-size: 85%; color: teal; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;span style="color: green"&gt;&lt;span style="color: green"&gt;//remove the captured image from clipboard&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style="color: teal; font-family: &amp;#39;Courier New&amp;#39;"&gt;Clipboard&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;.Clear();&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="color: teal"&gt;&lt;span style="color: teal"&gt;MessageBox&lt;/span&gt;&lt;/span&gt;.Show(&lt;span style="color: maroon"&gt;&lt;span style="color: maroon"&gt;&amp;quot;Printscreen not allowed.&amp;quot;&lt;/span&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font size="2"&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;true&lt;/span&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;false&lt;/span&gt;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 85%; font-family: courier new"&gt;&lt;span style="font-family: &amp;#39;Courier New&amp;#39;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 85%; color: navy; font-family: arial"&gt;&lt;span style="color: navy; font-family: arial"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Another thing is that, if this method returns true, the Windows GDI Message will not be received by the Form.    &lt;br /&gt;    &lt;br /&gt;Note: The PrintScreen event can only be captured if the Application window is active.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Enjoy!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-4795230518077857744?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/4795230518077857744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/01/how-to-disable-printscreen-on-c.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/4795230518077857744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/4795230518077857744'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/01/how-to-disable-printscreen-on-c.html' title='Disable PrintScreen on C# without Keyboard Hooks'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-2115148916419913206</id><published>2009-01-10T03:01:00.008+08:00</published><updated>2009-02-25T10:52:30.720+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haques'/><title type='text'>Fixing a Problematic Motorola L6</title><content type='html'>Few days after I have re-flashed my Motorola L6 phone, I encountered a problem with the firmware. It seems like the firmware cannot access the phone memory. When I select an item in the main menu, my phone just displays the message "Please Wait..." and does nothing after. The phone cannot be used in this current state and the only i see one option to fix this and it is to re-flash again with a newer firmware. Now the problem is that i will lose my contact database if i do this so i looked for way to back it up. I tried using Windows XP's hyper terminal to read the phone memory thru AT commands but got no success.&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ldYIyUlJMSo/SWepbj8JiPI/AAAAAAAAACw/OmzuShvy_Co/s1600-h/Picture+010.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_ldYIyUlJMSo/SWepbj8JiPI/AAAAAAAAACw/OmzuShvy_Co/s320/Picture+010.jpg" alt="" id="BLOGGER_PHOTO_ID_5289382578339023090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The good thing is that i made a backup of the whole application folder (Motorola Software Update) including the registry changes. I made a copy of the files inside the application folder right after it has backed up the personal data on the phone. So the temporary files were also copied unconsciously.&lt;br /&gt;&lt;br /&gt;Restart the Motorola phone on Bootloader mode. This can be done by pressing the *, # and the power buttons together at the same time while the phone is turned off. The phone should display a black screen with white text indicating that the phone is on “Programmable Mode”.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ldYIyUlJMSo/SWepBtsM6JI/AAAAAAAAACo/rlSzlgGGlQc/s1600-h/Picture+003.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_ldYIyUlJMSo/SWepBtsM6JI/AAAAAAAAACo/rlSzlgGGlQc/s320/Picture+003.jpg" alt="" id="BLOGGER_PHOTO_ID_5289382134279891090" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Then run the Motorola Software Update. The software should detect the phone and will automatically commence the firmware upgrade. While update is in progress, copy the personal data temporary file from the temp folder of your backup and paste it to the temp folder under the application folder, usually “C:\Program Files\Motorola\Software Update\temp”. The filename is usually in this format ##############.dat&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Wait for the update to finish. The phone will then restart after the update is completed and will then restart the restore process. The software will read from the backup file you placed in the temp folder. This backup file includes the phonebook. Presto!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ldYIyUlJMSo/SWep3IL0TqI/AAAAAAAAAC4/Kwd8VxpDnUM/s1600-h/Picture+004.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ldYIyUlJMSo/SWep3IL0TqI/AAAAAAAAAC4/Kwd8VxpDnUM/s320/Picture+004.jpg" alt="" id="BLOGGER_PHOTO_ID_5289383051924885154" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;All though the phone is now fixed, I do not guarantee that whole problem is fully fixed therefore I suggest that you start backing up your phonebook. You may do this by syncing your phone to you PC. Good Luck.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-2115148916419913206?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/2115148916419913206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/01/fixing-problematic-motorola-l6.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2115148916419913206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/2115148916419913206'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/01/fixing-problematic-motorola-l6.html' title='Fixing a Problematic Motorola L6'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ldYIyUlJMSo/SWepbj8JiPI/AAAAAAAAACw/OmzuShvy_Co/s72-c/Picture+010.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-1635505290575019389</id><published>2009-01-06T23:26:00.003+08:00</published><updated>2009-02-25T11:34:11.242+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rantings'/><title type='text'>SMART, Simply Sucks!</title><content type='html'>I was currently having trouble with my Motorola phone and having headache the whole night finding ways on the internet on how to rescue my phonebook memory when suddenly I ran out of prepaid load. It was around 2:00 AM so I decided to go to sleep and take care of it the next day.&lt;br /&gt;&lt;br /&gt;18 hours after, I left office and bought a couple of prepaid card (Buddy) and a SIM pack for use with my temporary GSM-only phone while trying to fix my Motorola. I’ve tried reloading the card but the network says that I have entered an invalid PIN. So I verified the 14-digit PIN. Pretty sure the PIN is correct but the system is always returning an invalid PIN message. Bullshit! So I tried the other prepaid card and the result is the same. I also tried loading it on the new SIM pack that I just bought earlier and the stupid network still says that I have entered and invalid PIN which is, again, bullshit! I’m not blind!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ldYIyUlJMSo/SWN5BE_rW9I/AAAAAAAAACg/_7n_VMA5ck8/s1600-h/Picture+033.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_ldYIyUlJMSo/SWN5BE_rW9I/AAAAAAAAACg/_7n_VMA5ck8/s200/Picture+033.jpg" alt="" id="BLOGGER_PHOTO_ID_5288203446890748882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So I decided to call customer support which they call “Customer CARE”. I don’t CARE what you call it anyway. My phone’s earpiece said something like “you cannot call support if you don’t have load”. So you cannot call support if you’re having trouble with reloading your prepaid subscription? That’s another bullshit! So I used my new SIM Pack to call support. I have waited about 13 minutes before an agent has picked up my call and greet me the usual way. “How may I help you?” I described my problem in detail then the agent asked for my number and then they found out that my airtime balance is 0 pesos. Guess what their theory is? The agent told me something that will derive to this phrase: “You will sometimes have problems reloading if you don’t have a load.” What? Come again? Are you kidding? So when should I reload? … they want you to reload only if you already have a load. That’s bullshit number 3. Anyway, I kept quite for a while and then here comes the resolution. “Sir you can try doing the “pasaload” from another phone(with a load of course) to your problematic phone and then send “RELOAD &lt;pin&gt;” to 1510. I decided to take the advice anyway, hoping that this will solve my problem but the problem is that my other SIM, the new one, only has 1 peso load. So I decided to try loading one prepaid card to the new SIM instead using the new method (thru SMS). Then a reply immediately arrived saying again that I have entered an invalid PIN. So, I tried the other prepaid card and still had no luck. Now I trying to call support again as I badly need my phone tonight. I had to call someone. My phone has been playing that stupid “wait music” for 58 minutes and 56 second at the moment I am writing this and there are still no agent answering… powering off phone before I get my hands and throw it out of the window.&lt;br /&gt;&lt;br /&gt;They could have told me that they are currently having problems with their prepaid systems or such and that I should wait a few moments for it to be fixed. I would have been a little happy to hear that rather than bullshits.&lt;br /&gt;&lt;br /&gt;This is what they call “Simply Amazing!” in the advertisements, simply bullshitting the subscribers. I’m transferring to other cellular network first thing tomorrow and am hoping that they could offer me better services.&lt;br /&gt;&lt;br /&gt;1 hour and 15 minutes has passed and thank God someone has answered from the customer support. They want me to go to the nearest SMART wireless center and bring both prepaid cards for verification. This is bullshit number 4. They want me to wait until tomorrow for the service I need tonight.&lt;br /&gt;&lt;br /&gt;It’s 11:19 PM and I am going out my apartment and walk 500 meters to buy electronic load instead. The electronic load worked fine and now I can connect to the internet and post this blog entry, hoping that someday they will realize.&lt;br /&gt;&lt;/pin&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-1635505290575019389?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/1635505290575019389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2009/01/smart-simply-sucks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/1635505290575019389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/1635505290575019389'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2009/01/smart-simply-sucks.html' title='SMART, Simply Sucks!'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ldYIyUlJMSo/SWN5BE_rW9I/AAAAAAAAACg/_7n_VMA5ck8/s72-c/Picture+033.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-7856966161332566369</id><published>2008-12-20T06:02:00.003+08:00</published><updated>2010-11-29T11:04:15.148+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discoveries'/><title type='text'>Cheap Notebook</title><content type='html'>I just got a new HP notebook at a reasonably low price,   Php 33,000 or roughly around US$ 687.&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr class="theme"&gt;&lt;th scope="col" class="small" colspan="2" width="550"&gt;&lt;span class="themebody"&gt;Processor, operating system and memory&lt;/span&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Operating system installed&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;&lt;span class="bold"&gt;ND114PA: &lt;/span&gt;&lt;a href="http://welcome.hp-ww.com/country/sg/en/mda/genuine_landing.html" target="_blank" title="Genuine - new window"&gt;Genuine&lt;/a&gt; Windows Vista® Business with downgrade to &lt;a href="javascript:function winopen(){window.open('http://www.hp.com/country/sg/en/mda/xp_downgrade.html','_downgrade','height=280,width=425,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no');}winopen();" class="udrline"&gt;Windows XP Professional&lt;/a&gt; custom installed&lt;br /&gt;&lt;span class="bold"&gt;ND113PA: &lt;/span&gt;&lt;a href="http://welcome.hp-ww.com/country/sg/en/mda/genuine_landing.html" target="_blank" title="Genuine - new window"&gt;Genuine&lt;/a&gt; Windows Vista® Home Basic&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Recommended software upgrade&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;&lt;span class="bold"&gt;ND113PA: &lt;/span&gt;HP recommends &lt;a href="http://welcome.hp-ww.com/country/sg/en/mda/genuine_landing.html" target="_blank" title="Genuine - new window"&gt;genuine&lt;/a&gt; Windows Vista® Business.&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Processor type&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Intel® Centrino® processor technology&lt;br /&gt;    • Intel® Core™2 Duo Processor T5670&lt;br /&gt;    • 1.80 GHz , 2 MB L2 cache, 800 MHz FSB&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Chipset&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Mobile Intel® GME965&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Standard memory&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;1 x 1024 MB DDR2&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Memory slots&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;2 SODIMM slots supporting dual channel memory&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Memory upgrade&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Upgradeable to 4096 MB maximum&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;table bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1"&gt; &lt;tbody&gt;&lt;tr class="theme"&gt; &lt;th scope="col" class="small" colspan="2" width="550"&gt;&lt;span class="themebody"&gt;System features&lt;/span&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Internal drives&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;160 GB&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Hard disk drive speed&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;5400 rpm&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Optical drives&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;DVD+/-RW SuperMulti DL LightScribe Drive&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Display size&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;14.1 inches diagonal&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Graphic subsystem name&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Intel® Graphics Media Accelerator X3100&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Graphic subsystem video card memory&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Up to 384 MB shared system memory&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;External I/O ports&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;3 USB 2.0 ports, VGA, stereo microphone in, stereo headphone/line out, power connector, RJ-11/modem, RJ-45/ethernet&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Expansion slots&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Slots available for additional devices: 1 ExpressCard/54 slot, Secure Digital (SD) slot&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Audio&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;High definition audio, mono speakers, stereo headphone/line out, stereo microphone in&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Network interface&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Intel® Fast Ethernet Integrated Controller (10/100 NIC)&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Modem&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;56K modem&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Wireless technologies&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Intel® Wireless LAN 802.11a/b/g&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;table bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr class="theme"&gt; &lt;th scope="col" class="small" colspan="2" width="550"&gt;&lt;span class="themebody"&gt;Dimensions / weight / warranty&lt;/span&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Dimensions (W x D x H)&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;33.80 x 24.64 x 3.08 (at front) cm&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Weight&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Starting at: 2.27kg (weight will vary by configuration)&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Power requirements&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;External 65W AC adapter, HP Fast Charge Technology&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Power features&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;6-cell (47 WHr) Lithium-Ion battery&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Keyboard&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Full-sized keyboard&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Pointing device&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Touchpad with scroll zone&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#e7e7e7"&gt; &lt;td scope="row" valign="top" width="140"&gt;Security management&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;Device Access Manager for HP ProtectTools, Kensington lock slot&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor="#ffffff"&gt; &lt;td scope="row" valign="top" width="140"&gt;Warranty&lt;br /&gt;&lt;/td&gt; &lt;td valign="top" width="401"&gt;1 year standard parts and labour limited warranty, depending on country (upgrades available), 1 year limited warranty on primary battery&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The bad side (What made this cheaper):&lt;br /&gt;&lt;br /&gt;No built-in WebCam.&lt;br /&gt;Mono Speakers.&lt;br /&gt;No built-in Microphone.&lt;br /&gt;&lt;br /&gt;The good side:&lt;br /&gt;It's Core 2 Duo.&lt;br /&gt;Has express/54 card slot.&lt;br /&gt;Good battery.&lt;br /&gt;Built-in Bluetooth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-7856966161332566369?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/7856966161332566369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/12/cheap-notebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7856966161332566369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7856966161332566369'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/12/cheap-notebook.html' title='Cheap Notebook'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-7896865988848866305</id><published>2008-12-20T04:41:00.004+08:00</published><updated>2008-12-23T23:10:49.910+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geekness Reduction Program'/><title type='text'>Home Sweet Home</title><content type='html'>It's 4:42 AM and just got home from night out with friends who's scheduled to relocate to Middle East for a career shift. It's very late, or shall I say so early and I'm packing up things for my flight to my home town in Caraga region, Northern Mindanao a few hours from now. It's been a year now since I moved here in Manila to take this non-academic career for the first time which I find not really bad as compared to how much the state university has payed me.&lt;br /&gt;&lt;br /&gt;By the way, we just had a karaoke with some Red Horse(beer) at a Japanese KTV with some girls we barely know. We had a great time as the group were getting some credits for the "free entertainment" they got from my fantastic-singing friends.&lt;br /&gt;&lt;br /&gt;Of course, KTVs have their own way of entertaining guests. Her name is April. A stunning 20-year young lady of whitish-Asian complexion. Unexpectedly, she's not just beauty but also have some kind of a brain that surprised my "not very curious" mind. I can't even believe she took that job. But anyway, the night was great. At least I had a great Friday night on my last 2008 night in Manila.&lt;br /&gt;&lt;br /&gt;Now getting back on packing up things... Thinking of canceling my trip to Iligan, the city of majestic water falls, due to some safety issues. The damn terrorist bombing of malls...&lt;br /&gt;&lt;br /&gt;I'm looking forward on playing my 15-year old not very good Yamaha "Keyboards" (Musical Instrument) again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-7896865988848866305?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/7896865988848866305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/12/home-sweet-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7896865988848866305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7896865988848866305'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/12/home-sweet-home.html' title='Home Sweet Home'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-5009156331561586211</id><published>2008-11-30T03:34:00.013+08:00</published><updated>2010-11-29T11:00:20.510+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>DIY Airsoft Chrono [PC-based]</title><content type='html'>Chrono or Chronograph, the term used by Airsofter and Paintball players to refer to the device that measures the muzzle velocity of firearms. This is also called MVMD, short for Muzzle Velocity Measuring Device by the British Army. Muzzle Velocity is the velocity of the bullet as it exits the barrel of the firearm.&lt;br /&gt;&lt;br /&gt;A year ago I was an active Airsofter in Iligan who's more interested in modifying and improvising AEGs (Automatic Electric Gun) rather than playing airsoft. I have made my AEG susceptible to high current burns by using locally available MOSFETs. I have improved velocity by replacing cylinder gaskets and spring. I have increased the rounds per minute by altering the armature windings of the drive motor. And most of all, I have made my own cheap alternative PC-based Chrono.&lt;br /&gt;&lt;br /&gt;I have posted an artivle before that details the development of my chrono but unfortunately the online forum was hacked/deleted by webmaster of proboards.com due to some violation in the contents. So, I'm re-posting it here now. ...thinking... (dont know how to start).&lt;br /&gt;&lt;br /&gt;Okay, the idea started when I read about &lt;a href="http://www.inpharmix.com/jps/Jims_chrono.html"&gt;Jim's Homemade Chrono&lt;/a&gt; on the internet plus the desire to know how my AEG is doing in terms of muzzle velocity. Measuring the velocity is elementary physics. We measure velocity in terms of time and we measure time in terms of velocity. Think... think... think... Maybe this is the reason they call this device chrono (latin for Time).&lt;br /&gt;&lt;br /&gt;The chrono i made was PC-based, meaning it requires a Personal Computer to work. It cost me about only 2.00$ for the components. Its basically a LPT port (Printer port) device which makes use of 2 infrared photo transistors and 2 infrared LED as bullet sensors, and a junk umbrella. What this device does is measure the amount of time it takes for the bullet to complete a travel to a definite distance, in this case (4 inches).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Soldering Iron, Mini Drill (for boring circuit board holes), Multi-tester, Circuit board, a couple of beers for the brain and of course, an Airsoft Gun (AEG).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2124.jpg" border="0" /&gt;&lt;br /&gt;I also used a universal printed circuit board to save time etching some copper clad for a very simple circuit like this. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;How it works?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The schematic is pretty simple. It is composed of a pair of basic transistor switching circuit. The purpose of this two switch circuit is to tell the computer the a bullet has passed/detected at this location at a very specific time. Below is the schematic diagram of a single swithing circuit i used.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 401px; height: 300px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/circuit.jpg" border="0" /&gt;I designed the circuit ingenously so that it will not require external power source. The whole circuit gets its power from the PC's parallel port output pins. Sweet... &lt;/p&gt;&lt;p&gt;The IR Photo Diode emits an infrared light which will be received by the IR Photo transistor which serves as bullet sensor. Both are positioned in a way that when a bullet passes in between, the Phototransistor stops receiving IR signal for a bit by blocking the IR light. It then switches ON one pin of the parallel port making that specific BIT set to 1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Materials&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I got my IR Photo transistor and IR Photo Diode from an old junked wheel mouse. Wheel mouse has two pairs of this. One for the X and one for the Y axis so the wheel mouse is the perfect donor. &lt;/p&gt;&lt;table valign="top" height="240"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2121.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2121.jpg" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The barrel that serves as guide for speeding BB bullets was got from another junk. An umbrella stem. I decide to use the length 6 inches so that the conputation for Feet per second will be simpler and accurate. I then drilled two holes for the two pairs of IR tansistor and IR emiter as a bullet sensor position 4 inches apart form each other. This will make computation for feet per second easier because 4 is a factor of 12 inches (1 foot).&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2104.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I then bought a couple of general purpose small power transistors to serve as the final switching element as it is indicated in my schematic. The lucky transistor is the C9013, an NPN small power transitor which is very common in local electronic shops.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hardware Assembly&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Connecting the components together in a circuit board as it is in the schematic diagram above, the result is a cute weird device. I reserved a space for the barrel at the center of the circuit board. The C9013 transistors are positioned in the image as the small black half-round pegs. I made use of hookup wires to connect the components together.&lt;/p&gt;&lt;p&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2107.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I then positioned the drilled barrel (umbrella stem) in the circuit board in a way that the phototransistor and photo diode will see each other thru the side wholes of the barrel. Then i soldered the barrel in to the board.&lt;br /&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2101.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then by attatching the printer cable using the correct pins to the base pins of the C9013 transistors, you now get the complete hardware part of the project. The speeding bullet sensor.&lt;br /&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 320px; height: 240px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2110.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;The Software&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The software was written in C# over .NET framework 1.1 and is using a native library inpout32.dll which was written in C++. What this software does is to listen to the sensor for any signals. There are two type of signal that the hardware will send. One will tell the software that the bullet has passed thru the first sensor and the other one will tell the software the the bullet has passed thru the second sensor. The software will then record the exact time(in microseconds) these particular signals are received and do the velocity calculation.&lt;/p&gt;&lt;p&gt;From the unit itself we can already derive the formula. The unit is Feet per second which derive to the formula Velocity=Distance/Time. In my case the distance is fixed which is always 4 inches. The only variable we need is the time which can be derived by subtracting the particular time sensor 2 was triggered from the exact time sensor 1 was triggered. &lt;/p&gt;&lt;p&gt;Easy right, but the trick is how to make your software very fast enough to captre the presence of a speeding bullet to upto 600 feet per second. If i can stil remember, i made use of the .NET's performance counter to do this. This utility is designed to measure performance of your code but this i made it as part of the function itself.&lt;/p&gt;&lt;p&gt;The software was first witten as a .NET console application for the sake of simplicity. Or maybe i was just too excited to test that i cannot wait for a user interface to delay the development. :)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Testing the Project&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I tested the project with a non-modified(stock) china made AK47 so that the resulting velocity is expected. And bingo! This is the result:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; width: 640px; height: 480px; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/console_software.jpg" border="0" /&gt;&lt;/a&gt;Although this software is running on an AMD K6-2 500 MHz with a 1GB RAM, it still performed like it was designed. But I did a few calculations and determined that with this machine (500MHz), only about 600 to 700 FPS is the maximum detectable speed. So what, everyone has a Pentium 4 anyway at the time I made this project. And also, with gearbox v2 or v3 you cannot make your airsoft gun go beyond 1000 fps anyway. How much more now with processors like ADM Turion or Intel Core 2?&lt;br /&gt;&lt;br /&gt;After I have proven that it was possible to make a personal chrono for less than 2$, i then made a windows -based version of the application to enahnce the level of user friendliness. The only user of this sofware is just me anyway.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://i130.photobucket.com/albums/p262/Brigs007/28-11-06_2127.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" alt="" src="http://i130.photobucket.com/albums/p262/Brigs007/winchrono.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Even though I don't have this device with me now, coz i left it to a friend in iligan after i relocated here in Manila, you're still free to leave suggestions for improvement. I might make a better one someday...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-5009156331561586211?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/5009156331561586211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/11/pc-based-chrono.html#comment-form' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5009156331561586211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5009156331561586211'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/11/pc-based-chrono.html' title='DIY Airsoft Chrono [PC-based]'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-3864778806019912333</id><published>2008-11-30T01:51:00.002+08:00</published><updated>2008-11-30T02:25:33.365+08:00</updated><title type='text'>Bug Fix (Part II)</title><content type='html'>Eureka!!! The solution worked perfectly fine. I knew it would work as long as that web application where the bug was found has no other wierd characteristcs other than having lots of nested frames and iframes.&lt;br /&gt;&lt;br /&gt;I was overwhelmed by the compliments given by the cheif engineer/architect of the project and from counterparts and colleagues. It seems like the client is not expecting that someone from Manila Delivery Center is capable of writting real codes. Or maye the project architect was not expecting a solution to this kind of problem to be written in only 15 lines of code. Now I'm starting to doubt if I'm on the place at the right time. Wheew...&lt;br /&gt;&lt;br /&gt;But anyway, thanks to Science!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-3864778806019912333?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/3864778806019912333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/11/bug-fix-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3864778806019912333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3864778806019912333'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/11/bug-fix-part-ii.html' title='Bug Fix (Part II)'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-5270621767408308342</id><published>2008-11-20T11:23:00.017+08:00</published><updated>2010-11-29T11:01:45.844+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Bug Fix (Part I)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;A couple of weeks ago, a real programming problem has awaken my imagination once again. I was assigned to look at a bug of one of the applications used by our client. I found the problem quite challenging yet very practical and most likely to happen so I'm posting this for the benefit of those who will encounter the same problem in the future.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The Browser&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The problem was about a bug in a specialy tailored browser application which happens to be a .NET windows application. The client uses this browser to access their web aplpications in a very secure way. The browser application is somewhat based on this &lt;/span&gt;&lt;a href="http://www.codeproject.com/KB/cpp/ExtendedWebBrowser.aspx"&gt;&lt;span style="font-family:verdana;"&gt;article &lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;published in &lt;/span&gt;&lt;a href="http://www.codeproject.com/"&gt;&lt;span style="font-family:verdana;"&gt;http://www.codeproject.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; modified in some way to support single session sign-on and role based authentication. As a security feature of this application, some keyboard strokes are monitored (just like a keylogger) to determine what the user is trying to do and to react appropriately based on the user's permissions. Including copy and paste functions are controlled by user permissions or what other architects called modules. Enough on the security stuff...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The application utilizes the .NET WebBrowser control. This is basically a wrapper to the existing native Browser Control which is a part of Win32 API collections commonly used in VB6 and unmanaged VC++ applications. In .NET this component is called System.Windows.Forms.WebBrowser.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The Bug&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The bug was discovered when a user accessing one of the clients applications tried to copy a text in the application and paste it somewhere else. Nothing was copied, the copy paste function did not work. I dig in to the code, and found out that all commands that tends to alter the contained HTML document such as copy, cut, paste, delete, etc... works only if the document allows it to depending on the document's command state.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The QueryCommandEnabled&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This state can be determined by calling the &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx"&gt;&lt;span style="font-family:verdana;"&gt;queryCommandEnabled() &lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;method of the IHTMLDocument interface. If this method returns true on a specific command, then we can allow that command to operate on the document object otherwise we can't. One example of this behaviour is that of MS Office (e.g. Word), you will notice that the COPY and CUT button in the toolbar will only get enabled when you select something within the document. Try it, you may never have noticed this before. Another thing I learned is that document objects invokes an event called &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa768328(VS.85).aspx"&gt;&lt;span style="font-family:verdana;"&gt;CommandStateChange &lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;whenever a mouse is moved over the WebBrowser control.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The Problem&lt;/span&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_ldYIyUlJMSo/SST4Cena4II/AAAAAAAAACQ/-H21EjUX_34/s1600-h/frames.jpg"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5270610185392152706" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 226px" alt="" src="http://2.bp.blogspot.com/_ldYIyUlJMSo/SST4Cena4II/AAAAAAAAACQ/-H21EjUX_34/s320/frames.jpg" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;The problem only becomes a problem when the HTML Document contained in the WebBrowser control has HTML Frames or iFrames. This is becuase when you select a text in a document inside an iFrame the commandState of the "Copy" command returns false because it only tests the command state of the parent HTMLDocument object only (outermost page) not including the child HTML documents contained in frames. I have tested this by creating an HTML page that contains Frames inside a frameset just like a typical classic webpage and then in the body part i placed iframes that contains several other iframes (nested iframes). The purpose is to test if the queryCommandEnabled() method also tests for documents contained in iframes. The test application looks like the image on the right.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;After testing, I have proven that this is the primary cause of the Copy/Cut and Paste problem. The queryCommandEnabled() method returns true only if the selected text/object is in the root/parent HTMLDocument object therefore it does not enable the copy/cut &amp;amp; paste functions even if the selected text or object is inside the the same browser control.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Th&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;e Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Initially, the client architect's sugesstion was to disabled the commandState checking for web applications that uses frames and iframes specialy when the application is written in AJAX as they did not find ways to access every HTMLDocument object in the child frame. So, I cunsulted MSDN and figured out that you can get the instance of the HTMLDocument object thru IHTMLWindow2 interface thru the property .frames which returns a collection of IHTMLWindow2 interface . The code below will show how to get the HTMLDocument of the first child f$ame of an HTMLDocument interface. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;IHTMLDocument2 t = Document.DomDocument as IHTMLDocument2;&lt;br /&gt;&lt;br /&gt;object refIndex = 0;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;frame = (IHTMLWindow2)t.frames.item(ref refIndex);&lt;br /&gt;ITHMLDocument2 childDoc = t.document;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;The indexing looks kinda weird since we are dealing with native data types here (Win32 API).&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;Bingo! We can now loop through each frame. But, how? Later, I realized that the structure of the nested frames is a Tree structure. Therefore you cannot just do a simple loop thru it because we do not know how many child frames each frmae has. How can I make sure that all the frames will be tested for querycommandEnabled()? The answer is pretty simple. The term is "traverse" not loop. I need to make a code snippet that will traverse thru the Tree structure and test each node for queryCommandEnabled(). I needed to use Tree-traversal teniques.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;S&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;cience, Applied&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;I haven't completed my graduate degree but I can pretty much remember all i've learned from it, including how to learn a completely new language (&lt;/span&gt;&lt;a href="http://plt-scheme.org/"&gt;&lt;span style="font-family:verdana;"&gt;Scheme&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;) in less than 15 minutes. I learned about tree-traversal algorithm also refered to as graph-search algorithm when I took the Artificial Intelligence course back in graduate school. This was one of the search algorithms I used to create my "talking travel advisor" AI program. Now I need to decide which approach to use. Either Breadth-First Search or Depth-First Search will do since each step to a node has a uniform cost but I needed to know which is more appropriate for this application.&lt;br /&gt;&lt;br /&gt;Here's a graphical presentation of how both algorithm works:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.rci.rutgers.edu/~cfs/472_html/AI_SEARCH/SearchAnimations.html"&gt;&lt;span style="font-family:verdana;"&gt;http://www.rci.rutgers.edu/~cfs/472_html/AI_SEARCH/SearchAnimations.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;I did a careful selection by using some criterias such as the common structure of most Framed web sites. I also considered AJAX generated pages. Then i finally decided to use &lt;a href="http://en.wikipedia.org/wiki/Breadth-first_search"&gt;BFS&lt;/a&gt;. The algorithm goes like this:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/4/46/Animated_BFS.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 187px; CURSOR: hand; HEIGHT: 175px" alt="" src="http://upload.wikimedia.org/wikipedia/commons/4/46/Animated_BFS.gif" border="0" /&gt;&lt;/a&gt;Enqueue the root node.&lt;br /&gt;Dequeue a node and examine it.&lt;br /&gt;If the searched element is found in this node, quit the search and return a result.&lt;br /&gt;Otherwise enqueue all the (so-far-unexamined) leftmost successors (the direct child nodes), if there are any.&lt;br /&gt;If the queue is empty, every node on the graph has been examined -- quit the search and return "not found".&lt;br /&gt;Repeat from Step 2.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: Using a stack instead of a queue to store the nodes yet to be visited would turn this algorithm into a &lt;a title="Depth-first search" href="http://en.wikipedia.org/wiki/Depth-first_search"&gt;depth-first search&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;It worked on the test page i created but still not tested on the application where the bug was discovered. I am currently building the solution at the moment and hoping that this will work fine.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;to be continued...&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-5270621767408308342?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/5270621767408308342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/11/hats-off.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5270621767408308342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/5270621767408308342'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/11/hats-off.html' title='Bug Fix (Part I)'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ldYIyUlJMSo/SST4Cena4II/AAAAAAAAACQ/-H21EjUX_34/s72-c/frames.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-3756713974905585995</id><published>2008-11-11T00:38:00.004+08:00</published><updated>2010-11-29T11:02:19.093+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Handcuffs</title><content type='html'>It's been almost a year now since I've been writing Java codes since I was deployed to my current project. I used to write .NET C# codes for almost 4 years back in the academic world. Just yesterday, I was given a change to apply my .NET skills again to solve a real-world problem and fix a bug in a special browser application. In my experience in Java, I have been using "throws" keyword when writing a library to require the caller to catch exceptions that could possibly occur in the library. This feature is called "Checked Exceptions". But, I was surprised to find out that C# does not support this feature. So, i did a few searches on why did'nt Anders Hejlsberg, the lead designer of C# Language, didn't include this when in fact I find it useful when I was writing in Java. Then I found this interesting &lt;a href="http://www.artima.com/intv/handcuffs.html"&gt;link which describes the reason behind this.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The converstation in the article state clearly that the designer decided not to include checked exceptions in C#. I like the lines Anders said when he was asked if there was disagreement in the C# design team about checked exceptions.&lt;br /&gt;&lt;br /&gt;&lt;p style="FONT-STYLE: italic"&gt;&lt;b&gt;Anders Hejlsberg&lt;/b&gt;: No, I think there was fairly broad agreement in our design group. &lt;/p&gt;&lt;p style="FONT-STYLE: italic"&gt;C# is basically silent on the checked exceptions issue. Once a better solution is known—and trust me we continue to think about it—we can go back and actually put something in place. I'm a strong believer that if you don't have anything right to say, or anything that moves the art forward, then you'd better just be completely silent and neutral, as opposed to trying to lay out a framework. &lt;/p&gt;&lt;p style="FONT-STYLE: italic"&gt;If you ask beginning programmers to write a calendar control, they often think to themselves, "Oh, I'm going to write the world's best calendar control! It's going to be polymorphic with respect to the kind of calendar. It will have displayers, and mungers, and this, that, and the other." They need to ship a calendar application in two months. They put all this infrastructure into place in the control, and then spend two days writing a crappy calendar application on top of it. They'll think, "In the next version of the application, I'm going to do so much more." &lt;/p&gt;&lt;p style="FONT-STYLE: italic"&gt;Once they start thinking about how they're actually going to implement all of these other concretizations of their abstract design, however, it turns out that their design is completely wrong. And now they've painted themself into a corner, and they have to throw the whole thing out. I have seen that over and over. I'm a strong believer in being minimalistic. Unless you actually are going to solve the general problem, don't try and put in place a framework for solving a specific one, because you don't know what that framework should look like. &lt;/p&gt;&lt;p style="FONT-STYLE: italic"&gt;&lt;b&gt;Bruce Eckel&lt;/b&gt;: The Extreme Programmers say, "Do the simplest thing that could possibly work." &lt;/p&gt;&lt;p style="FONT-STYLE: italic"&gt;&lt;b&gt;Anders Hejlsberg&lt;/b&gt;: Yeah, well, Einstein said that, "Do the simplest thing possible, but no simpler." The concern I have about checked exceptions is the &lt;span style="FONT-WEIGHT: bold"&gt;handcuffs &lt;/span&gt;they put on programmers. You see programmers picking up new APIs that have all these throws clauses, and then you see how convoluted their code gets, and you realize the checked exceptions aren't helping them any. It is sort of these dictatorial API designers telling you how to do your exception handling. They should not be doing that. &lt;/p&gt;I have a total agreement on the handcuffs thing. I didn't realize that until I read this. I used to think that checked exception is very useful, well.. maybe it is in some ways like reminding the programmer to always catch such exceptions.. like what i did in my previous Java codes. But I also had these feeling of having no choice when the compiler tells you what to do specially when you call a method in a compiled library that throws more than 5 exceptions. What if you call 50 methods in this library and each throws 3 different kinds of exceptions? Hmm... all I can say is that I felt the handcuffs Anders was referring too. You don't want to put handcuffs to other programmer/users of your library, don't you?&lt;br /&gt;&lt;br /&gt;Check this interesting argument: &lt;a href="http://bytes.com/forum/thread259125.html"&gt;http://bytes.com/forum/thread259125.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-3756713974905585995?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/3756713974905585995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/11/handcuffs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3756713974905585995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3756713974905585995'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/11/handcuffs.html' title='Handcuffs'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-3933990853025595672</id><published>2008-11-05T02:35:00.003+08:00</published><updated>2010-11-29T11:02:54.491+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geekness Reduction Program'/><title type='text'>Journey to a Smoke-free Life</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: verdana;"&gt;It's been a week from now from the very day I decided to quit smoking. It was not easy but I made it this far. What made me decide to quit is that when I noticed that the system is failing, I should do some precautions. I call my body a system of systems. I just had a cough, chronic sinusitis and allergic rhinitis for two(2) long weeks. It's not supposed to be like this long (2 weeks) before it heals on its own. I was thinking maybe I'm getting old and I need to change something to the routine to fit the current state of the system. So I tried changing flavors, from Beer to Cocktails, from more rice to more veggies, and from smoking to not. Two days after, my observation was that the system is now healing on its own. Maybe I am right. Until then I never get back smoking and I am hoping I can do this until I reach a state of a smoke-free life.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-3933990853025595672?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/3933990853025595672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/11/journey-to-smoke-free-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3933990853025595672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/3933990853025595672'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/11/journey-to-smoke-free-life.html' title='Journey to a Smoke-free Life'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-6664815679332839520</id><published>2008-10-29T22:28:00.006+08:00</published><updated>2010-11-29T11:03:33.876+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Closed Caption</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;It's been a year now since i purchased my TV set. I didn't care about the users manual or even took a glance at other buttons on it. Until last night... I was curious about the button labeled "Closed Caption" and I wonder what it would be for and what will be the effect if i press it. I tried to press it once and my TV set responded that the Closed Captioning is enabled. But i did not notice any changes on the screen until i tuned to "CS" channel and the program playing at the moment was "Prison Break". There were texts displaying at the bottom of the screen that looks just like a subtitle in a DVD video. The text was of color white over a black placeholder. Instantly, i knew that it was not part of the analog TV signal transmission because it was so crisp unlike the images on the TV program itself. So i quickly moved my ass to the desk to consult Dr. Google what is Closed Captioning means. After a few clicks, I found out that it is done by embedding and encoding digital data over a television signal and surprisingly the technology was already there for 15 years now. I feel so stupid... the technology was in place since 1993 but I only knew about it just yesterday. I should have taken advanced communication courses way back in college. Or, I should have bought a new TV set long time ago... I could have replaced my antique TV set. Anyway, here's the snippet of the article I've read:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;Closed caption information is added to Line 21 of the Vertical Blanking Interval (VBI).     It may be added to either or both the odd and even fields of the television signal&lt;span lang="en-us"&gt;.       H&lt;/span&gt;owever, the primary language program related information appears in the odd fields. (It     should be noted that caption industry people typically refer to the odd fields as     "Field 1" and the even fields as "Field 2".) To assure adequate     caption performance wherever a usable picture can be obtained, a low instantaneous data     rate of 503 kilobits/second (32H) was chosen. Data is preceded by a seven-cycle sine wave     similar to color burst (called the "Clock Run-In") and three "start     bits" that are always "0", "0", and "1". &lt;/span&gt;&lt;/p&gt; &lt;span style="font-style: italic;font-family:Arial;" &gt;    &lt;/span&gt;&lt;p style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;Two bytes of data, using seven bits, odd parity format, are possible on a given line.     The rise time is controlled (2T) and the amplitude of data and clock run-in is 50IRE     units. Using only Line 21, Field 1, of the VBI, a delivery rate of about 3600 characters     or 500 words per minute is theoretically possible (depending upon the particular caption     style, discussed later). &lt;/span&gt;&lt;/p&gt; &lt;span style="font-style: italic;font-family:Arial;" &gt;    &lt;/span&gt;&lt;p style="font-style: italic;"&gt;&lt;span style="font-family:Arial;"&gt;Tests conducted by PBS determined that the typical reading rate for captioning is about     125 words per minute. (Incidentally, spoken dialogue may exceed 200 words per minute.)&lt;/span&gt;&lt;/p&gt; &lt;span style="font-style: italic;font-family:Arial;" &gt;    &lt;/span&gt;&lt;span style="font-style: italic;font-family:Arial;" &gt;Particularly with the availability of Field 2, the data delivery capacity (or     "data bandwidth") far exceeds the requirements of simple program related     captioning in a single language. Therefore, the closed captioning system allows for     additional "channels" of program related information to be included in the Line     21 data stream. In addition, multiple channels of non-program related information is     possible.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Currently I have something in mind right now about making a better use of this technology... bad thing television is one-way.&lt;/span&gt;&lt;span style="font-style: italic;font-family:Arial;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-6664815679332839520?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/6664815679332839520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/10/closed-caption.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/6664815679332839520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/6664815679332839520'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/10/closed-caption.html' title='Closed Caption'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-395040107308451188</id><published>2008-10-28T14:50:00.006+08:00</published><updated>2009-02-25T12:00:48.223+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rantings'/><title type='text'>High-Tech (Kono)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;This morning I received an email from my former students asking for advise on their so-called robot project. They were asking me if i could help the find a better communication modules and what decoder/encoder should be used. Out of curiousity, i asked them what they are building. The answer is surprisingly "spider-robot". So I asked why a "spider-robot"? This is the reply "para mas lisud2 pud bah...dli raman kung wheels gmiton...." (so it will look very complicated, 'coz it would be very easy if we use wheels). I found out that they really do not have the goal of building something intelligent. By the way, these are very proud BS Mechatronics students and proud members of a robotics society (kono). They wanted to build something that looks "high-tech" but is not. So my reply goes like this: So you are only after on the mechanical sophistication and not on the machine intelligence. Robotics is not about how complicated you robot looks. It’s about how you put personality on the machine. It’s about how intelligent your machine is. It’s about how many aspects of intelligence can you consider your machine as “better than human”. It’s about serving the purpose. That is Robotics.&lt;br /&gt;&lt;br /&gt;Now my question is what is the sense of making a spider-legged robot that can only walk on floors and a lot slower than wheeled robot and a lot more difficult to manipulate yet serves exactly the same purpose?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Until the moment I was writting this, I did not receive any responses from the students. Anyway, what do they really mean by high-tech? They simply mean something that looks complex enough to be understood by ordinary people. But that is not the purpose of having your students make a student project. What will they learn? Deception? If you are to create something, make it the unlike anything else.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-395040107308451188?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/395040107308451188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/10/high-tech-kono.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/395040107308451188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/395040107308451188'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/10/high-tech-kono.html' title='High-Tech (Kono)'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6095186315992245466.post-7786796717352720456</id><published>2008-10-25T01:34:00.002+08:00</published><updated>2008-10-25T02:11:40.310+08:00</updated><title type='text'>Genesis</title><content type='html'>&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;001:001 In the beginning I created the 6.9 GHz Blog.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;001:002 And the blog was without form, and void; and darkness was&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;         upon the face of the deep. And the Spirit of me moved upon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;         the face of the waters.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;001:003 And I said, Let there be light: and the bright minimalist template was chosen.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;001:004 And I saw the light, that it was good: and I divided the&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; light from the darkness.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;001:005 And I called the light body, and the darkness I called&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; header.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6095186315992245466-7786796717352720456?l=briggs69.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://briggs69.blogspot.com/feeds/7786796717352720456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://briggs69.blogspot.com/2008/10/genesis.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7786796717352720456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6095186315992245466/posts/default/7786796717352720456'/><link rel='alternate' type='text/html' href='http://briggs69.blogspot.com/2008/10/genesis.html' title='Genesis'/><author><name>Ross</name><uri>http://www.blogger.com/profile/09096682080490418986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_ldYIyUlJMSo/ScPkTEa8B5I/AAAAAAAAAEc/X9QMVMhMM1E/S220/n536363250_1298887_143.jpg'/></author><thr:total>1</thr:total></entry></feed>
