<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2648907551737068236</atom:id><lastBuildDate>Sat, 31 Aug 2024 12:51:38 +0000</lastBuildDate><category>Tutorial</category><category>Palm</category><category>Books</category><category>Tips</category><category>Tricks</category><category>Lifehacker</category><category>Palm Hacks</category><category>Lnux Tip</category><category>downloads</category><category>Debug</category><category>Office</category><category>Photoshop</category><category>torrent</category><title>PalmProgramming</title><description></description><link>http://sumesh-palm.blogspot.com/</link><managingEditor>noreply@blogger.com (sumesh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-9143355146426408030</guid><pubDate>Mon, 01 Dec 2008 11:13:00 +0000</pubDate><atom:updated>2008-12-01T17:13:23.744+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Removing PenEvents</title><description>After doing an operation in palm like - control select or application launch,  may be you will get one unwanted PenUpEvent. for removing that unwanted pen or key events we can flush the event queues using&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EvtFlushPenQueue();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you Want to remove Key events from queue you can use&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EvtFlushKeyQueue();&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</description><link>http://sumesh-palm.blogspot.com/2008/12/removing-penevents.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>39</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-4284095245632775975</guid><pubDate>Mon, 24 Nov 2008 11:22:00 +0000</pubDate><atom:updated>2008-11-24T16:53:48.525+05:30</atom:updated><title>Wubi (ubuntu)</title><description>&lt;div align=&quot;center&quot;&gt; &lt;/div&gt; &lt;div align=&quot;center&quot;&gt; &lt;/div&gt; &lt;div align=&quot;left&quot;&gt; &lt;p&gt;&lt;span style=&quot;font-size: 14pt; color: black; text-decoration: none;&quot;&gt;&lt;img style=&quot;height: 46.5pt;&quot; src=&quot;http://mail.google.com/mail/?ui=2&amp;amp;ik=844d2d3376&amp;amp;view=att&amp;amp;th=11dcdbcc7fd18ff7&amp;amp;attid=0.2&amp;amp;disp=emb&amp;amp;realattid=0.3&amp;amp;zw&quot; href=&quot;http://http/pcpandit.com/index.php/windows/wubi-install-ubuntu-inside-windows-w/o-partitioning-01112008.html&quot; type=&quot;#_x0000_t75&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; color: black;&quot;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-size: 14pt; color: black;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 14pt; color: black;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;If &lt;/span&gt;&lt;span style=&quot;color: black; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;you want to install ubuntu 7.04 Feisty, but you don&#39;t want to modify your Windows partition and you want to install &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;it inside, &lt;/span&gt;&lt;a href=&quot;http://wubi-installer.org/&quot;&gt;&lt;span style=&quot;color: black; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;http://wubi-installer.org/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt; is &lt;/span&gt;&lt;span style=&quot;color: black; text-decoration: none;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;for you. According to its website:&lt;br /&gt;&lt;br /&gt;Wubi is an unofficial Ubuntu installer for Windows users that will bring you into the Linux world with a few clicks. Wubi allows you to install and uninstall Ubuntu as any other application. If you heard about Linux and Ubuntu, if you wanted to try them but you were afraid, this is for you.&lt;br /&gt;&lt;br /&gt;Moreover, Wubi doesn&#39;t need you to replace the default Windows bootloader, as &quot;Wubi adds an entry to the Windows boot menu which allows you to run Linux. Ubuntu is installed within a file in the windows file system (c:\wubi\disks\system.virtual.&lt;wbr&gt;disk), this file is seen by Linux as a real hard disk.&quot; Then it loads the file as a loopback root Filesystem, kind like those described in &quot;The Loopback Root Filesystem HOWTO,&quot; but with the loopback filesystem is actually in Windows&#39;s partition.&lt;br /&gt;&lt;br /&gt;Since Wubi makes Ubuntu run inside Windows partition, there will be a little bit performance penalty, especially when your Windows partition is fragmented. Moreover, if there were any error in the ntfs partition that affects the system virtual disk, you need to fix the errors with something like chkdsk in Windows first before booting Ubuntu. If you&#39;re not afraid of partitioning, I still recommend you to install Ubuntu in a separate &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;partition&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;</description><link>http://sumesh-palm.blogspot.com/2008/11/wubi-ubuntu.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-3021960993102951102</guid><pubDate>Wed, 08 Oct 2008 04:19:00 +0000</pubDate><atom:updated>2008-10-08T09:51:29.014+05:30</atom:updated><title>Nokia 5800 Tube Xpressmedia</title><description>&lt;div&gt;Nokia, the Finnish firm is a household name in mobile phones in India. Its touch &lt;img title=&quot;Nokia Launches First Touch screen Smart phone&quot; alt=&quot;Nokia Launches First Touch screen Smart phone &quot; src=&quot;http://www.topnews.in/files/Nokia-Samrtphone.jpeg&quot; align=&quot;left&quot; height=&quot;94&quot; width=&quot;124&quot; /&gt;screen phone is the latest but late entry into the phase &lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;of such phones. But the company has a history of coming late to the market with innovations yet ends up successful. The main competitors now are Apple&#39;s iPhone and Android. &lt;/div&gt; &lt;div&gt;Carolina Milanesi, an analyst said to Reuters&quot; The Phone is extremely important ........We have been waiting for the market leader to respond to Apple&#39;s iPhone for a year and a half now. There is a lot of pressure on Nokia&quot;.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Nokia will unveil the Nokia 5800 XpressMusic tomorrow (2nd Oct&#39;08), otherwise known as the Nokia &quot;Tube&quot;. There are no official details yet, but the phone is expected to include a 3.2in colour touchscreen, full internet browsing connectivity, a 3.2 mega-pixel camera and built-in GPS. &lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt; &lt;p&gt;&lt;img alt=&quot;NEW: Nokia 5800 Tube XpressMedia&quot; src=&quot;http://www.phonesreview.co.uk/wp-content/phoneimages/2008/04/nokia-tube-1.jpg&quot; border=&quot;0&quot; width=&quot;150&quot; /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;/div&gt; &lt;p&gt;Other contenders in the smart-phone battle include T-Mobile&#39;s HTC G1. Also known as the &quot;Google phone&quot;, it has advanced Android software with one-click access to Google search and e-mail, and GPS.&lt;/p&gt; &lt;p&gt;Apple&#39;s new 3G iPhone is considered by many to be the sexiest smart-phone and has a plethora of features accessed through it 3.5in touchscreen and virtual keyboard. It also has one-touch music downloads from the iTunes music store. &lt;/p&gt;  &lt;div&gt; &lt;p&gt;The Blackberry Storm will be the big Christmas offering from RIM and for the first time has a touchscreen. It should be in the shops by November. Expect all the usual push e-mail features and more.&lt;/p&gt; &lt;p&gt;However, the leaders of the mobile industry are charged up as ever and have predicted a 10% increase in supplying mobile devices this year as compared to 1.14 billion units in 2007.&lt;/p&gt;&lt;/div&gt; &lt;p&gt;The company claims to have acquired the S60 software developed by Symbian.The Latest touch screen will soon be available in European and other International markets.&lt;/p&gt; &lt;p&gt;The stocks of the company closed at $19.68, down by 3% on Friday.&lt;/p&gt;</description><link>http://sumesh-palm.blogspot.com/2008/10/nokia-5800-tube-xpressmedia.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-7186328069698538382</guid><pubDate>Mon, 25 Aug 2008 05:31:00 +0000</pubDate><atom:updated>2008-08-25T11:02:23.497+05:30</atom:updated><title>Gold Macbook Air</title><description>&lt;div id=&quot;postheader&quot;&gt;      &lt;h1&gt;&lt;a set=&quot;yes&quot; linkindex=&quot;2&quot; href=&quot;http://hitslot.com/?p=228&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link to Gold Macbook Air with Bejeweled Rainbow Apple&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/h1&gt;          &lt;/div&gt;                   &lt;div&gt;&lt;img title=&quot;Gold Macbook Air with Bejeweled Rainbow Apple&quot; src=&quot;http://funlok.org/2008/04-01/macbookair1.jpg&quot; alt=&quot;Gold Macbook Air with Bejeweled Rainbow Apple&quot; /&gt;&lt;/div&gt; &lt;div&gt;All the super rich geeks, watch out for this decked out 24 karat gold MacBook Air with a decorated version of the classic rainbow Apple. Folks at Computerchoppers are ready to entice their filthy rich clients with the shiny gold and colored sapphire. Maybe you find it a little flashy at first but you will definitely start loving it. There is no obvious change in the weight expect for few ounces here and there. Air is a standard 1.6ghz/2gb/80GB, with a 24-karat gold plating, polished exterior, and flat/crystallite interior.&lt;/div&gt;  &lt;div&gt;The price: $5000 USD. However you will have to chip in another 3000$ for the rainbow which is 14-karat gold with 3.8ctw sapphires.&lt;/div&gt; &lt;div&gt;&lt;span id=&quot;more-228&quot;&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;img title=&quot;Gold Macbook Air with Bejeweled Rainbow Apple&quot; src=&quot;http://funlok.org/2008/04-01/macbookair2.jpg&quot; alt=&quot;Gold Macbook Air with Bejeweled Rainbow Apple&quot; /&gt;&lt;/p&gt; &lt;img title=&quot;Gold Macbook Air with Bejeweled Rainbow Apple&quot; src=&quot;http://funlok.org/2008/04-01/macbookair3.jpg&quot; alt=&quot;Gold Macbook Air with Bejeweled Rainbow Apple&quot; /&gt;</description><link>http://sumesh-palm.blogspot.com/2008/08/gold-macbook-air.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-9218605737557396649</guid><pubDate>Wed, 20 Aug 2008 11:40:00 +0000</pubDate><atom:updated>2008-08-20T17:11:10.670+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips</category><title>Can&#39;t Log On to Windows XP?</title><description>Forgot Ur Administrator Password!&lt;br /&gt;&lt;br /&gt;Forgot Ur Administrator Password!!!!!!&lt;br /&gt;&lt;br /&gt;Can&#39;t Log On to Windows XP?&lt;br /&gt;&lt;br /&gt;If that’s your only problem, then you probably have nothing to worry about. As long as you have your Windows XP CD, you can get back into your system using a simple but effective method made possible by a little known access hole in Windows XP.&lt;br /&gt;&lt;br /&gt;you can easily change or wipe out your Administrator password for free during a Windows XP Repair. Here’s how with a step-by-step description of the initial Repair process included for newbie’s.&lt;br /&gt;&lt;br /&gt;1. Place your Windows XP CD in your cd-rom and start your computer (it’s assumed here that your XP CD is bootable – as it should be - and that you have your bios set to boot from CD)&lt;br /&gt;&lt;br /&gt;2. Keep your eye on the screen messages for booting to your cd Typically, it will be “Press any key to boot from cd”&lt;br /&gt;&lt;br /&gt;3. Once you get in, the first screen will indicate that Setup is inspecting your system and loading files.&lt;br /&gt;&lt;br /&gt;4. When you get to the Welcome to Setup screen, press ENTER to Setup Windows now&lt;br /&gt;&lt;br /&gt;5. The Licensing Agreement comes next - Press F8 to accept it.&lt;br /&gt;&lt;br /&gt;6. The next screen is the Setup screen which gives you the option to do a Repair. It should read something like “If one of the following Windows XP installations is damaged, Setup can try to repair it”&lt;br /&gt;&lt;br /&gt;Use the up and down arrow keys to select your XP installation (if you only have one, it should already be selected) and press R to begin the Repair process.&lt;br /&gt;&lt;br /&gt;7. Let the Repair run. Setup will now check your disks and then start copying files which can take several minutes.&lt;br /&gt;&lt;br /&gt;8. Shortly after the Copying Files stage, you will be required to reboot. (this will happen automatically – you will see a progress bar stating “Your computer will reboot in 15 seconds”&lt;br /&gt;&lt;br /&gt;9. During the reboot, do not make the mistake of “pressing any key” to boot from the CD again! Setup will resume automatically with the standard billboard screens and you will notice Installing Windows is highlighted.&lt;br /&gt;&lt;br /&gt;10. Keep your eye on the lower left hand side of the screen and when you see the Installing Devices progress bar, press SHIFT + F10. This is the security hole! A command console will now open up giving you the potential for wide access to your system.&lt;br /&gt;&lt;br /&gt;11. At the prompt, type NUSRMGR.CPL and press Enter. Voila! You have just gained graphical access to your User Accounts in the Control Panel.&lt;br /&gt;&lt;br /&gt;12. Now simply pick the account you need to change and remove or change your password as you prefer. If you want to log on without having to enter your new password, you can type control userpasswords2 at the prompt and choose to log on without being asked for password. After you’ve made your changes close the windows, exit the command box and continue on with the Repair (have your Product key handy).&lt;br /&gt;&lt;br /&gt;13. Once the Repair is done, you will be able to log on with your new password (or without a password if you chose not to use one or if you chose not to be asked for a password). Your programs and personalized settings should remain intact.&lt;br /&gt;&lt;br /&gt;It has been tested on Windows XP Pro with and without SP1 and also has been used in a real situation where someone could not remember their password and it worked like a charm to fix the problem. This security hole allows access to more than just user accounts. You can also access the Registry and Policy Editor, for example. And its gui access with mouse control. Of course, a Product Key will be needed to continue with the Repair after making the changes, but for anyone intent on gaining access to your system, this would be no problem.&lt;br /&gt;&lt;br /&gt;And in case you are wondering, NO, you cannot cancel install after making the changes and expect to logon with your new password.&lt;br /&gt;&lt;br /&gt;Cancelling will just result in Setup resuming at bootup and your changes will be lost</description><link>http://sumesh-palm.blogspot.com/2008/08/cant-log-on-to-windows-xp.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-3286921532463998430</guid><pubDate>Thu, 31 Jul 2008 11:37:00 +0000</pubDate><atom:updated>2008-07-31T18:18:36.404+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>MP3 embedding in blogs</title><description>You have an MP3 file (a podcast, a song of your band, a lecture) and you want to share it with the visitors of your site. You can just put a link to the MP3 and let people download it or you can include it as an object and let the browser play it with a plug-in like QuickTime (and most of the times also crash the browser). Most people want to preview the audio and not wait until it downloads completely. You can play a partial MP3 file in audio player, but many people aren&#39;t aware of that.&lt;br /&gt;&lt;br /&gt;But there&#39;s another away: a Flash player that allows you to pause and rewind the MP3. It&#39;s like an audio version of Google Video or YouTube, with the difference that the file is hosted on your server (or on another server). While there are &lt;a set=&quot;yes&quot; linkindex=&quot;8&quot; href=&quot;http://musicplayer.sourceforge.net/&quot;&gt;many solutions&lt;/a&gt; based on Flash, this is the one I like the most. It&#39;s a modified version of Odeo player, that&#39;s used to play podcasts on odeo.com:&lt;br /&gt;&lt;br /&gt;&lt;textarea rows=&quot;7&quot; cols=&quot;58&quot; onfocus=&quot;this.select();&quot;&gt;&lt;embed src= &quot;http://www.odeo.com/flash/audio_player_standard_gray.swf&quot; quality=&quot;high&quot; width=&quot;300&quot; height=&quot;52&quot; allowscriptaccess=&quot;always&quot; wmode=&quot;transparent&quot; type=&quot;application/x-shockwave-flash&quot; flashvars= &quot;valid_sample_rate=true&amp;amp;external_url=[MP3 file address]&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot;&gt;&lt;/embed&gt; &lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;You just have to replace [MP3 file address] with the actual address.&lt;br /&gt;&lt;br /&gt;Here you can see how it looks (in this audio, Marissa Mayer talks about innovation at Google):</description><link>http://sumesh-palm.blogspot.com/2008/07/mp3-embedding-in-blogs.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-1211811249942268389</guid><pubDate>Tue, 15 Jul 2008 09:50:00 +0000</pubDate><atom:updated>2008-07-15T15:31:56.965+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Palm Hacks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Adding battery meter in the program form</title><description>For adding a signal, blue tooth or battery gadget in our palm project&lt;br /&gt;&lt;pre&gt;just add a gadget (width=16, height=12) to your form, and use the&lt;br /&gt;HsStatusSetGadgetType API from the Palm/Treo SDK.&lt;br /&gt;&lt;br /&gt;If you develop with HB++, here is a link to a project that demonstrate hwo to&lt;br /&gt;add Network, battery and Bluetooth gadgets:&lt;br /&gt;&lt;br /&gt;&lt;a set=&quot;yes&quot; linkindex=&quot;7&quot; rel=&quot;nofollow&quot; href=&quot;http://www.handheld-basic.com/forum/viewtopic.php?t=1950&quot;&gt;http://www.handheld-basic.com/forum/viewtopic.php?t=1950&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</description><link>http://sumesh-palm.blogspot.com/2008/07/adding-battery-meter-in-program-form.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-2450701760809772292</guid><pubDate>Fri, 11 Jul 2008 05:46:00 +0000</pubDate><atom:updated>2008-07-11T11:22:27.990+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Add Scroll bar in the field</title><description>--------- 1: create these three functions ------------&lt;br /&gt;&lt;br /&gt;// you need to replace 700 by the ID of your field, and 710 by the ID of your scrollbar !!!!&lt;br /&gt;&lt;br /&gt;void updateScrollbar(void)&lt;br /&gt;{&lt;br /&gt; FormPtr frm = FrmGetActiveForm();&lt;br /&gt; ScrollBarPtr scroll;&lt;br /&gt; FieldPtr field;&lt;br /&gt; Int16 currentPosition;&lt;br /&gt; Int16 textHeight;&lt;br /&gt; Int16 fieldHeight;&lt;br /&gt; Int16 maxValue;&lt;br /&gt; field = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, 700));&lt;br /&gt; FldGetScrollValues(field, &amp;amp;currentPosition, &amp;amp;textHeight, &amp;amp;fieldHeight);&lt;br /&gt;&lt;br /&gt; // if the field is 3 lines, and the text height is 4 lines&lt;br /&gt; // then we can scroll so that the first line is at the top&lt;br /&gt; // (scroll position 0) or so the second line is at the top&lt;br /&gt; // (scroll postion 1). These two values are enough to see&lt;br /&gt; // the entire text.&lt;br /&gt;&lt;br /&gt; if (textHeight &gt; fieldHeight)&lt;br /&gt;   maxValue = textHeight - fieldHeight;&lt;br /&gt; else if (currentPosition)&lt;br /&gt;   maxValue = currentPosition;&lt;br /&gt; else&lt;br /&gt;   maxValue = 0;&lt;br /&gt;&lt;br /&gt; scroll = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, 710));&lt;br /&gt; // on a page scroll, want to overlap by one line (to provide context)&lt;br /&gt; SclSetScrollBar(scroll, currentPosition, 0, maxValue, fieldHeight - 1);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void scrollLines(Int16 numLinesToScroll, Boolean redraw)&lt;br /&gt;{&lt;br /&gt; FormPtr frm = FrmGetActiveForm();&lt;br /&gt; FieldPtr field;&lt;br /&gt; field = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, 700));&lt;br /&gt; if (numLinesToScroll &lt; class=&quot;qBody&quot; id=&quot;EchoTopic&quot;&gt;&lt;wbr&gt;(field) &amp;amp;&amp;amp; numLinesToScroll &lt; frm =&quot; FrmGetActiveForm();&quot; field =&quot; FrmGetObjectPtr(frm,&quot; linestoscroll =&quot; FldGetVisibleLines(field)&quot; direction =&quot;=&quot; linestoscroll =&quot; -linesToScroll;&quot;&gt; true);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--------- 2: modify your main form handler like this ------------&lt;br /&gt;&lt;br /&gt;where the event frmOpenEvent is caught, add this line *before* calling FrmDrawForm:&lt;br /&gt;&lt;br /&gt;   updateScrollbar();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;add this code to catch the events fldChangedEvent and sclRepeatEvent:&lt;br /&gt;&lt;br /&gt; case fldChangedEvent:&lt;br /&gt;   updateScrollbar();&lt;br /&gt;   handled = true;&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt; case sclRepeatEvent:&lt;br /&gt;   scrollLines(eventP-&gt;data.s&lt;wbr&gt;clRepeat.n&lt;wbr&gt;ewValue - eventP-&gt;data.sclRepeat.val&lt;wbr&gt;ue, false);&lt;br /&gt;   break;</description><link>http://sumesh-palm.blogspot.com/2008/07/add-scroll-bar-in-field.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-1026218056590839974</guid><pubDate>Fri, 20 Jun 2008 09:13:00 +0000</pubDate><atom:updated>2008-06-20T14:50:48.253+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Getting RGBcolor value from picel value in palm</title><description>&lt;pre&gt;RGBColorType* col;&lt;br /&gt;UInt32   r, g, b;&lt;br /&gt;UInt16   rgb565;&lt;br /&gt;UInt32   * outRGB;&lt;br /&gt;UInt8    *srcBitsP;&lt;br /&gt;&lt;br /&gt;rgb565 = ((srcBitsP[0]) &lt;&lt; 8) | (srcBitsP[1]);&lt;br /&gt;r = ((rgb565 &amp;amp; 0xF800) &gt;&gt; 8)    // 5 bits of red&lt;br /&gt;  |((rgb565 &amp;amp; 0x3800) &gt;&gt; 11);&lt;br /&gt;&lt;br /&gt;g = ((rgb565 &amp;amp; 0x07E0) &gt;&gt; 3)    // 6 bits of green&lt;br /&gt;  | ((rgb565 &amp;amp; 0x0060) &gt;&gt; 5);&lt;br /&gt;&lt;br /&gt;b = ((rgb565 &amp;amp; 0x001F) &lt;&lt; 3)    // 5 bits of blue&lt;br /&gt;  | ((rgb565 &amp;amp; 0x0007));&lt;br /&gt;&lt;br /&gt;*outRGB = (r &lt;&lt; 16) | (g &lt;&lt; 8) | (b);&lt;br /&gt;       &lt;br /&gt;col=(RGBColorType*)*outRGB;    &lt;br /&gt;WinSetForeColorRGB(NULL, col);&lt;/pre&gt;</description><link>http://sumesh-palm.blogspot.com/2008/06/getting-rgbcolor-value-from-picel-value.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-5917955500089787572</guid><pubDate>Tue, 17 Jun 2008 04:51:00 +0000</pubDate><atom:updated>2008-06-17T10:25:11.861+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Opening a web bwowser from the weblink in palm devices</title><description>&lt;a href=&quot;http://kb.palmsource.com/cgi-bin/palmsource.cfg/php/enduser/std_adp.php?p_faqid=731&quot;&gt;Check on the Knowledgebase of palm for related article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And one more way is there that one is HsBrowseUrl(char *url) give the url with full string like&quot;http://www.blogger.com/&quot;</description><link>http://sumesh-palm.blogspot.com/2008/06/opening-web-bwowser-from-weblink-in.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-7137088022181006454</guid><pubDate>Fri, 11 Apr 2008 04:34:00 +0000</pubDate><atom:updated>2008-04-11T11:39:37.244+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Palm Hacks</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Retrieving own phone no</title><description>&lt;span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;pre&gt;Char*          number = NULL;&lt;br /&gt;PhnAddressList  list;&lt;br /&gt;PhnAddressHandle address;&lt;br /&gt;&lt;br /&gt;PhnLibOpen(phnLibRef);&lt;br /&gt;if (IsCDMA())&lt;br /&gt;{&lt;br /&gt;   Err err = PhnLibGetOwnNumbers(phnLibRef, &amp;amp;list);&lt;br /&gt;   if (!err)&lt;br /&gt;   {&lt;br /&gt; err = PhnLibAPGetNth(phnLibRef, list, 1, &amp;amp;address);&lt;br /&gt;&lt;br /&gt; if (!err &amp;amp;&amp;amp; address)&lt;br /&gt; {&lt;br /&gt;     number = PhnLibAPGetField(phnLibRef,&lt;br /&gt;                                     address,&lt;br /&gt;                                     phnAddrFldPhone);&lt;br /&gt;     MemHandleFree(address);&lt;br /&gt; }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;   Err err = PhnLibGetOwnNumbers(phnLibRef, &amp;amp;list);&lt;br /&gt;   if (!err)&lt;br /&gt;   {&lt;br /&gt; err = PhnLibGetNth(phnLibRef, list, 1, &amp;amp;address);&lt;br /&gt; if (!err &amp;amp;&amp;amp; address)&lt;br /&gt; {&lt;br /&gt;     number = PhnLibGetField(phnLibRef,&lt;br /&gt;                                   address,&lt;br /&gt;                                   phnAddrFldPhone);&lt;br /&gt;     MemHandleFree(address);&lt;br /&gt; }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (number)&lt;br /&gt;{&lt;br /&gt;   StrCopy(destNumber,number);&lt;br /&gt;   MemPtrFree (number);&lt;br /&gt;}&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://sumesh-palm.blogspot.com/2008/04/retrieving-own-phone-no.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-3657393177325586475</guid><pubDate>Thu, 10 Apr 2008 05:27:00 +0000</pubDate><atom:updated>2008-04-11T10:04:09.488+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Palm Hacks</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Determining PalmOS Make and Model at Run Time</title><description>&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;690&quot;&gt;&lt;tbody&gt; &lt;tr valign=&quot;top&quot;&gt;  &lt;td colspan=&quot;5&quot;&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td height=&quot;25&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td width=&quot;3&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;3&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;104&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;104&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;10&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;10&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;13&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;13&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;431&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;431&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;117&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;117&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;10&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;10&quot; /&gt;&lt;/td&gt;  &lt;td height=&quot;1&quot; width=&quot;2&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;2&quot; /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;map name=&quot;map1&quot;&gt;&lt;area alt=&quot;&quot; coords=&quot;6,79,98,120&quot; href=&quot;http://www.mobilegeographics.com/&quot;&gt;&lt;area shape=&quot;CIRCLE&quot; alt=&quot;Company Home&quot; coords=&quot;52,37,33&quot; href=&quot;http://www.mobilegeographics.com/&quot;&gt;&lt;area shape=&quot;CIRCLE&quot; alt=&quot;&quot; coords=&quot;56,41,36&quot; href=&quot;http://www.mobilegeographics.com/&quot;&gt;&lt;area alt=&quot;&quot; coords=&quot;0,0,104,126&quot; href=&quot;http://www.mobilegeographics.com/&quot;&gt;     &lt;/map&gt;  &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;99%&quot;&gt; &lt;tbody&gt;&lt;tr valign=&quot;top&quot;&gt;  &lt;td colspan=&quot;2&quot; width=&quot;530&quot;&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td height=&quot;1&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr valign=&quot;top&quot;&gt;  &lt;td width=&quot;7&quot;&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;  &lt;p&gt;&lt;span class=&quot;plaintext&quot;&gt;Sometimes it&#39;s necessary to determine the actual manufacturer or model of the device your app is running on, at runtime. These cases are rare, since usually you want to determine the presence of a particular PalmOS feature, and there are APIs to do that. It&#39;s not straightforward to determine device type, because the technique has evolved over the life of the OS.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class=&quot;plaintext&quot;&gt;I derived this information experimentally, or by perusing header files, or by contributed observations from other developers. If it&#39;s wrong, blame me and not PalmSource or the licensees. The contradictions shown in this table are clear support for PalmSource&#39;s oft-repeated advice to use supported API&#39;s to query for particular capabilities (like color, VFS, wireless network) at runtime and not to depend on looking up the device model. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td width=&quot;7&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;7&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;1369&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;523&quot; /&gt;&lt;/td&gt;  &lt;td height=&quot;1&quot; width=&quot;160&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;160&quot; /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;690&quot;&gt; &lt;tbody&gt;&lt;tr valign=&quot;top&quot;&gt;  &lt;td colspan=&quot;2&quot;&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td height=&quot;16&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr valign=&quot;top&quot;&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;  &lt;tr align=&quot;center&quot; valign=&quot;bottom&quot;&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;&lt;a linkindex=&quot;7&quot; href=&quot;http://www.mobilegeographics.com/dev/devices.php?sort=manufacturer&quot;&gt;Manufacturer&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;&lt;a linkindex=&quot;8&quot; href=&quot;http://www.mobilegeographics.com/dev/devices.php?sort=model&quot;&gt;Model&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;OS version&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;how determined&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;&lt;a linkindex=&quot;9&quot; href=&quot;http://www.mobilegeographics.com/dev/devices.php?sort=companyID&quot;&gt;sysFtrNumOEMCompanyID&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;&lt;a set=&quot;yes&quot; linkindex=&quot;10&quot; href=&quot;http://www.mobilegeographics.com/dev/devices.php?sort=deviceID&quot;&gt;sysFtrNumOEMDeviceID&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;masked  sysFtrNumHwrMiscFlags&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;notes&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;     &lt;td&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&lt;b&gt;&lt;a linkindex=&quot;11&quot; href=&quot;http://www.mobilegeographics.com/dev/devices.php?sort=updated&quot;&gt;updated&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3Com&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm Pilot&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Jim Schram&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDTouchdown&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Aceeca&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Meazura&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;prototype device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;ACEA&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;MZ01&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Aceeca&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Meazura&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;production device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Acea&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;MZ01&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy David Thacker, &lt;a linkindex=&quot;12&quot; href=&quot;http://www.satelliteforms.net/&quot;&gt;http://www.SatelliteForms.net&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-04-23 23:10:13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Acer&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;s10&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Alvin Mok&#39;s web page&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;acer&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;momo&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;also s11, s12, s15 &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Acer&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;s50, s60&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Alvin Mok&#39;s web page&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;acer&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;coco&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;also s61, s65 &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;AlphaSmart&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Dana&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSER&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;asmt&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;unspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Fossil&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Wrist PDA&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;prototype device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;foss&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;wpda&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Unshipped prototype tested at developer miniconference in 2002. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-24 21:30:38&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Fossil&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Wrist PDA&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1.2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;unspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Production device tested at DevCon 2005.  Yes, the company ID really is &#39;palm&#39;.  ROM image ID 1.3.0.22-71FA. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-24 21:33:04&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Garmin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;iQue 3200&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;grmn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;3200&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-24 21:33:47&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Garmin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;iQue 3600&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.2.1r1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;grmn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;3600&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-10-04 17:42:00&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Garmin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;iQue 3600A&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;grmn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;3700&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Anders Persson. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-23 19:42:29&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Garmin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;simulator&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.x&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;simulator&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;psys&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-09-23 07:10:59&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;GSpda&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;xplore M28, M68, M98&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.4.7&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;gsRI&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;zcn2&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;M28, M68, and M98 share the same device ID.  I know of no way to distinguish the devices programmatically. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-26 14:14:21&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;GSpda&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;xplore M70&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;gsRl&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;zcn5&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2007-02-28 21:56:15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handera&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handera 330&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.3&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;trgp&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;trg2&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 12:16:54&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handera&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;TRG Pro&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;trgp&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;trg1&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 180&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;11&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 270&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;please contribute&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 270&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Chris Gallaty &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-08-07 13:38:13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 300&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;14&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/zero&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Ben Combee. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 600&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.x&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;manufacturer email&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;H101&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&#39;H101&#39; == hsDeviceIDOs5Device1. Note Handspring is now using 4-letter codes and not pure integers for DeviceID. Courtesy Tom Bridgwater, Handspring. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-10-06 10:09:34&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 600&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.?&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;simulator&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;H202&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0/none&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Steve Doss. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2004-12-06 12:04:54&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 90&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;140&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy John Wilund. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-08-14 15:11:40&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor (original)&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDBrad&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;unmasked value is 55851.  This device without cradle shipped as the Visor Solo. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor Deluxe&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;please contribute&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor Edge&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.2H2.0&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;unmasked value is 2859 &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor Neo&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;138&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Craig Belson &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor Platinum&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.2H&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor Prism&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.2H&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;unmasked value is 2346 &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Handspring&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Visor Pro&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;139&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Jonathan Hays. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-07-08 10:04:27&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;HuneTec&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;HuneTec&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.1.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;prototype device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;See note.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;unspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;From grayscale 5.1.1 device at Palmsource Junior, 2003. Actual device will be color, PalmOS 5.2. The prototype device returned CompanyID of &#39;psys&#39;, which is almost certainly wrong, because that&#39;s the value reserved for PalmOS reference platforms. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-06-03 15:40:31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Janam Technologies&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;XP20 series&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;janm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;XP20&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Roger Stringer and Joey Lau. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-11-27 00:17:16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Janam Technologies&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;XP30 series&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;janm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;XP30&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Roger Stringer and Joey Lau. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-11-27 00:17:16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Kyocera&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Smarphone 6035&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagExtSubIDBrad&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;HAL ID &#39;eref&#39;.  From Chris Mumford, 2 Jan 2003; differs from the other 6035 entry. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Kyocera&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Smartphone 6035&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;qcom&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;qc20&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Steve Mann. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;em&gt;NB: Kyocera&#39;s API Manual advocates using sysGetRomVerMajor == KWCCoreVersion1, PDQCoreLibGetVersion to detect the Smartphone. However, that advice conflicts with Palmsource Inc&#39;s guidelines.&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Kyocera&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Smartphone 7135&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;kwc.&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;7135&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;00000A0B&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy &lt;a linkindex=&quot;13&quot; href=&quot;http://www.snappermail.com/&quot;&gt;www.snappermail.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;i705&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sky1&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCheckOEMFtrs&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m100&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCalvin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;2 MB RAM.  Same ROM image as m105.  Use RAM size to distinguish. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:17:45&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m105&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCalvin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;8 MB RAM.  Same ROM image as m100.  Use RAM size to distinguish. Courtesy Ben Combee, Amy Chen, and H.T. Nguyen. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 12:05:11&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m125&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.0?&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;stuj&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m130&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hbbs&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCheckOEMFtrs&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Dave Chevalier, &lt;a linkindex=&quot;14&quot; href=&quot;http://www.tribeam.com/&quot;&gt;www.tribeam.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m500&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;trnd&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCheckOEMFtrs&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:16:57&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m505&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;ecty&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCheckOEMFtrs&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:15:21&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m505&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;ecty&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCheckOEMFtrs&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:41&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;m515&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;lith&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCheckOEMFtrs&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Dave Chevalier. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-06-24 13:58:07&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm III&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDRocky&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm III&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;unmasked value is 1 &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm IIIc&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDAustin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm IIIe&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDBrad&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;unmasked value is 55307 &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm IIIx&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDBrad&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm IIIxe&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDBrad&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm V&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;sumo IIIx/IIIe 45056&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Oliver Steinmeier &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:34:18&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm VII&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not present&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDJerry&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;non-EZ version &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm VII&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;header file&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDJerryEZ&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;EZ version &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm VIIx&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;unspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDJerryEZ 24576&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Oliver Steinmeier &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm Vx&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Jim Schram&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCobra2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:35:15&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm Vx&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDSumo&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:35:52&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm Vx&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;3.5.3&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrOEMDeviceIDUnspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCobra2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Blake Winton &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:35:34&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten C&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;MT64&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;00000922&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy &lt;a linkindex=&quot;15&quot; href=&quot;http://www.snappermail.com/&quot;&gt;www.snappermail.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten E&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;CCt1&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Ivar Walseth. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-10-07 15:46:14&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten T&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Frg1&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Fargo, HAL &#39;aFg1&#39;. Confidentially submitted 12Oct02. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-10-04 17:34:13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten T2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.2.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Frg2&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Jim Duffy, &lt;a linkindex=&quot;16&quot; href=&quot;http://www.vorpalware.com/&quot;&gt;www.vorpalware.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-08-21 15:13:24&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten T3&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.x&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Arz1&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-10-04 17:35:35&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten W&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;atc1&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Gregg Woodcock confirms 18Nov2006 that DeviceID is &#39;atc1&#39;. Codename Pacific, HAL &#39;atlc&#39;. DeviceID &#39;atcl&#39; was confidentially submitted 12Oct02. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-11-18 16:11:37&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Zire&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Cubs&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDCalvin&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Ben Combee. N.B. CompanyID is &#39;Palm&#39;, not &#39;palm&#39;. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Zire 21&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Zi21&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Ben Combee. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-10-04 17:23:36&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Zire 71&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.x&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Zpth&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy &lt;a linkindex=&quot;17&quot; href=&quot;http://www.snappermail.com/&quot;&gt;www.snappermail.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 680&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;simulator&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;not submitted&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;D053&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-12-26 12:04:18&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 680&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;D053&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Peter Easton. Simulator returns &#39;Palm&#39; for company ID. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-11-18 04:15:04&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 680&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;D053&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Prashant Batra. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-12-26 23:27:08&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 700p (Sprint)&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;05493048&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;D052&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Mike Montalvo, &lt;a linkindex=&quot;18&quot; href=&quot;http://www.pocketlogger.com/&quot;&gt;Digital Tuning, Inc.&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-09-08 22:36:23&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten T|X&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;D050&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy of Szymon Ulatowski, &lt;a linkindex=&quot;19&quot; href=&quot;http://www.toyspring.com/&quot;&gt;www.toyspring.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-12-13 21:34:06&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Zire 22&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;D051&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Giuseppe Grasso. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-02-03 13:34:31&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm, Inc.&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Zire 22&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;simulator&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;TunX&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Luc Le Blanc. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2006-08-14 15:07:26&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;LifeDrive&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;TunX&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Jan Slodicka. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-23 19:35:56&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Treo 650&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;hspr&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;H102&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy &lt;a linkindex=&quot;20&quot; href=&quot;http://www.vorpalware.com/&quot;&gt;www.vorpalware.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2004-11-15 10:49:49&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten E2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Zir4&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Daniel Seifert. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-10 21:39:09&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Palm1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tungsten T5&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;TnT5&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy &lt;a linkindex=&quot;21&quot; href=&quot;http://www.vorpalware.com/&quot;&gt;www.vorpalware.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2004-11-15 10:48:34&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Qoo!&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;QDA 700 Smartphone&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.4.0&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;piTc&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;W300&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2005-05-24 21:35:42&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Qualcomm&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;PDQ-800&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Jim Schram&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;hwrMiscFlagIDThumper&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:44:37&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Samsung&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;i330&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smsn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Phx2&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;00000A2B&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy &lt;a linkindex=&quot;22&quot; href=&quot;http://www.snappermail.com/&quot;&gt;www.snappermail.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Samsung&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPH-i300&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smsn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;phix&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Samsung&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPH-i500&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smsn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;blch&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;0000082B&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy &lt;a linkindex=&quot;23&quot; href=&quot;http://www.snappermail.com/&quot;&gt;www.snappermail.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;all&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;em&gt;The &#39;device detection&#39; section of the Sony SDK manual lists feature definitions for all models in the form sonyHwrOEMDeviceID_xyzzy, where xyzzy is a Clie model number.&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;N700C/710C&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;header file&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;ysmt&#39; (sonyHwrOEMDeviceIDYosemite)&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;N760C&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;ysm2&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;NR70&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;rdwd&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Courtesy Ken Corey. &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-09-01 10:03:39&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;PEG-N610C&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;POSE&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;ystn&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;PEG-S500C&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;PEG-SJ33/U&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;mcnd&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Blake Winton &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;PEG-T615C&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;mdna&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Richard Sewell &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 12:38:03&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;PEG-TG50&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;sony&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;vrna&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;00000823&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;HAL ID &#39;vrna&#39;.  Courtesy Peter Easton and &lt;a linkindex=&quot;24&quot; href=&quot;http://www.snappermail.com/&quot;&gt;www.snappermail.com&lt;/a&gt; &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;S300&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Sony SDK Clie Companion&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;sonyHwrOEMCompanyID_Sony&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;sonyHwrOEMDeviceID_S300&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;The &#39;device detection&#39; section of the Sony SDK manual lists feature definitions for all models in the form sonyHwrOEMDeviceID_xyzzy, where xyzzy is a Clie model number &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1500-ZRG20200&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;palm&#39;/1885432941&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;unspecified&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Claudio Sennhauser &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1550-ZRG80400&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smbl&#39;/1936548460&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;15XX&#39;/825579608&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;CheckOEMFtrs/8192&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Pitch 0.3500. Courtesy Trevor Jager &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1700&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smbl&#39;/1936548460&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;17xx&#39; / 825710680&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Allan Watkins/AppForge,Inc.  After upgrade with 1700_1D_FlashTool.zip &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2004-11-30 12:37:43&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1700ZRG20200&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smbl&#39;/1936548460&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;unkn&#39;/1970170734&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy George Aslanis &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1746-ZRG804US&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smbl&#39;/1936548460&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;unkn&#39;/1970170734&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;courtesy Claudio Sennhauser &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1800-ZRG80400&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smbl&#39;/1936548460&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;18XX&#39;/825776216&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;CheckOEMFtrs/8192&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Pitch 0.3500. Courtesy Trevor Jager &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Symbol&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;SPT1846-TKG804US&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;smbl&#39;/1936548460&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;18XX&#39;/825776216&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;CheckOEMFtrs/8192&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;Pitch 0.3500. Courtesy Trevor Jager &lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2003-05-27 11:14:12&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Tapwave&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;Zodiac 1 and 2&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;5.2.6&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;device&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Tpwv&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;&#39;Rdog&#39;&lt;/span&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt; &lt;br /&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:Geneva;&quot;&gt;2004-12-06 09:52:43&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;  &lt;td height=&quot;56&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td width=&quot;8&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;8&quot; /&gt;&lt;/td&gt;  &lt;td width=&quot;535&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;535&quot; /&gt;&lt;/td&gt;  &lt;td height=&quot;1&quot; width=&quot;147&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/Resources/_clear.gif&quot; alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;147&quot; /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;99%&quot;&gt;&lt;tbody&gt;&lt;tr valign=&quot;top&quot;&gt;  &lt;td colspan=&quot;2&quot; width=&quot;547&quot;&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td height=&quot;18&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr valign=&quot;top&quot;&gt;  &lt;td width=&quot;9&quot;&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td&gt;  &lt;p&gt;If you have information to add, please &lt;a href=&quot;mailto:hal@mobilegeographics.com&quot;&gt;send it to me&lt;/a&gt;. You can extract information from your device like this:&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;UInt32 deviceID, companyID, miscFlags; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;Err devErr, compErr, miscErr; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;devErr = FtrGet(sysFtrCreator, sysFtrNumOEMDeviceID, &amp;amp;deviceID); &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;compErr = FtrGet(sysFtrCreator, sysFtrNumOEMCompanyID, &amp;amp;companyID); &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;miscErr = FtrGet(sysFtrCreator, sysFtrNumHwrMiscFlags, &amp;amp;miscFlags); &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;if (!compErr) WinDrawChars((Char *) &amp;amp;companyID, 4, 20, 30); &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;Addressblock&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;if (!devErr) &lt;/span&gt;&lt;/p&gt;  &lt;blockquote&gt;&lt;p class=&quot;style25&quot;&gt;&lt;span class=&quot;style1&quot;&gt;&lt;span class=&quot;linkaddress&quot;&gt;WinDrawChars((Char *) &amp;amp;deviceID, 4, 20, 45); &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;You&#39;ll have to look at the value of &lt;span class=&quot;linkaddress&quot;&gt;miscFlags&lt;/span&gt; as an integer, masking it with &lt;span class=&quot;linkaddress&quot;&gt;hwrMiscFlagIDMask&lt;/span&gt;. For Handspring devices you probably have to look at deviceID as an integer instead of 4 characters. &lt;/p&gt;  &lt;p&gt;Or if you prefer, you can run the program &lt;a set=&quot;yes&quot; linkindex=&quot;25&quot; href=&quot;http://www.mobilegeographics.com/dev/pixelcheckD.prc&quot;&gt;pixelcheckD.prc&lt;/a&gt; and send me the results. If your device isn&#39;t in the table above, lend a hand and send me your info. Send me the Maker, Device, and the string printed below the pitch value. If you&#39;re really ambitious, measure the length of the line next to &quot;2 cm&quot; and tell me how long it really is. The solid square should be just large enough to contain a US quarter.&lt;/p&gt;  &lt;p&gt;&lt;a linkindex=&quot;26&quot; href=&quot;http://www.mobilegeographics.com/dev/pixelcheckD.prc&quot;&gt;&lt;img src=&quot;http://www.mobilegeographics.com/dev/Resources/pixelchecka.gif&quot; alt=&quot;&quot; align=&quot;absbottom&quot; border=&quot;0&quot; height=&quot;160&quot; hspace=&quot;0&quot; vspace=&quot;0&quot; width=&quot;160&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For the capabilities of particular devices, see &lt;a set=&quot;yes&quot; linkindex=&quot;27&quot; href=&quot;http://www.palmos.com/dev/tech/hardware/compare.html&quot;&gt;http://www.palmos.com/dev/tech/hardware/compare.html&lt;/a&gt; or the individual manufacturers&#39; web sites.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><link>http://sumesh-palm.blogspot.com/2008/04/determining-palmos-make-and-model-at.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-997307616077154155</guid><pubDate>Wed, 09 Apr 2008 05:34:00 +0000</pubDate><atom:updated>2008-04-09T11:12:44.536+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Hacker high school</title><description>&lt;div&gt;&lt;embed src=&quot;http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf&quot; type=&quot;application/x-shockwave-flash&quot; quality=&quot;high&quot; scale=&quot;noscale&quot; salign=&quot;l&quot; flashvars=&quot;mode=preview&amp;amp;previewLayout=white&amp;amp;username=MBhutta&amp;amp;docName=hacker_high_school_lesson_2&amp;amp;documentId=080314101406-5a542df332334096968f6718ad5393b8&amp;amp;backgroundColor=ffffff&amp;amp;layout=grey&quot; style=&quot;width:408px;height:301px&quot; name=&quot;flashticker&quot; align=&quot;middle&quot;&gt;&lt;/embed&gt;&lt;div style=&quot;width:408px;text-align:left;&quot;&gt;&lt;a href=&quot;http://issuu.com&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m1.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://issuu.com/mbhutta/docs/hacker_high_school_lesson_2?mode=embed&amp;amp;documentId=080314101406-5a542df332334096968f6718ad5393b8&amp;amp;layout=grey&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m2.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://issuu.com/embed/guide?documentId=080314101406-5a542df332334096968f6718ad5393b8&amp;amp;width=425&amp;amp;height=301&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m3.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://sumesh-palm.blogspot.com/2008/04/hacker-high-school.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-7581991649968237155</guid><pubDate>Tue, 08 Apr 2008 11:46:00 +0000</pubDate><atom:updated>2008-04-09T11:04:19.625+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Electronics porojects for dummies</title><description>&lt;div&gt;&lt;embed src=&quot;http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf&quot; type=&quot;application/x-shockwave-flash&quot; quality=&quot;high&quot; scale=&quot;noscale&quot; salign=&quot;l&quot; flashvars=&quot;mode=preview&amp;amp;previewLayout=white&amp;amp;username=MBhutta&amp;amp;docName=electronics_projects_for_dummies&amp;amp;documentId=080224080458-3fd70f84884b477fadcaba1ff8599ee7&amp;amp;autoFlip=true&amp;amp;backgroundColor=ffffff&amp;amp;layout=grey&quot; style=&quot;width: 345px; height: 230px;&quot; name=&quot;flashticker&quot; align=&quot;middle&quot;&gt;&lt;/embed&gt;&lt;div style=&quot;width: 345px; text-align: left;&quot;&gt;&lt;a href=&quot;http://issuu.com/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m1.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://issuu.com/mbhutta/docs/electronics_projects_for_dummies?mode=embed&amp;amp;documentId=080224080458-3fd70f84884b477fadcaba1ff8599ee7&amp;amp;layout=grey&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m2.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://issuu.com/embed/guide?documentId=080224080458-3fd70f84884b477fadcaba1ff8599ee7&amp;amp;width=425&amp;amp;height=301&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m3.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://sumesh-palm.blogspot.com/2008/04/electronics-porojects-for-dummies.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-1934527115371014182</guid><pubDate>Tue, 08 Apr 2008 11:39:00 +0000</pubDate><atom:updated>2008-04-08T17:16:24.940+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><title>Import Your Outlook Emails into Gmail with Google Email Uploader</title><description>&lt;span class=&quot;noprint&quot;&gt;&lt;br /&gt;&lt;/span&gt;  &lt;p&gt;&lt;img src=&quot;http://www.labnol.org/assets/images/HowtoExportYourEmailfromOutlooktoGmail_F732/gmailoutlookbackup.gif&quot; /&gt; &lt;/p&gt; &lt;p&gt;If you like to import all existing email messages and contacts from Microsoft Outlook (or Thunderbird) into your online Gmail account, Google has a free utility for you.&lt;/p&gt; &lt;p&gt;&lt;span id=&quot;more-2836&quot;&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Called the Google Email Uploader, this Windows only tool will upload all your emails from Outlook into Gmail and also preserves the Outlook folder structure.&lt;/p&gt; &lt;a href=&quot;http://code.google.com/p/google-email-uploader/wiki/UserGuide&quot;&gt;http://code.google.com/p/google-email-uploader/wiki/UserGuide&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://sumesh-palm.blogspot.com/2008/04/import-your-outlook-emails-into-gmail.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-3366983478813484725</guid><pubDate>Wed, 26 Mar 2008 03:55:00 +0000</pubDate><atom:updated>2008-03-26T09:36:40.897+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Vibrate palm device using HsIndicatorState</title><description>For Vibration alerts in palm devices we can use this function.&lt;br /&gt;&lt;br /&gt;void Vibrate()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    Err err;&lt;br /&gt;    UInt32 extVersion;&lt;br /&gt;    UInt16 vibrate = kIndicatorAlertAlert;&lt;br /&gt;    UInt16 vibrateCount = 2;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;//indicates how many times it needs to vibrate.&lt;/span&gt;&lt;br /&gt;      &lt;br /&gt;&lt;br /&gt;    err = FtrGet(hsFtrCreator, hsFtrIDVersion, &amp;amp;extVersion);&lt;br /&gt;&lt;br /&gt;    if(err == errNone &amp;amp;&amp;amp; extVersion &gt;= 0x05000000) &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;// actually could be 0x05210000&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;       &lt;br /&gt;          err = HsIndicatorState(vibrateCount, kIndicatorTypeVibrator,&amp;amp;vibrate);&lt;br /&gt;     &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;        SndPlaySystemSound (sndInfo);&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;//For making one sound indication. Other than sndInfo We can use sndWarning, sndError, sndStartUp, sndAlarm, sndConfirmation, sndClick&lt;/span&gt;&lt;br /&gt;        SndPlaySystemSound (sndInfo);&lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The documentation for the HsIndicatorState&lt;br /&gt;&lt;br /&gt;&lt;table class=&quot;mdTable&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class=&quot;mdRow&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class=&quot;md&quot; nowrap=&quot;nowrap&quot; valign=&quot;top&quot;&gt;Err HsIndicatorState &lt;/td&gt; &lt;td class=&quot;md&quot; valign=&quot;top&quot;&gt;( &lt;/td&gt; &lt;td class=&quot;md&quot; nowrap=&quot;nowrap&quot; valign=&quot;top&quot;&gt;UInt16 &lt;/td&gt; &lt;td class=&quot;mdname&quot; nowrap=&quot;nowrap&quot;&gt;&lt;em&gt;count&lt;/em&gt;, &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;md&quot; align=&quot;right&quot; nowrap=&quot;nowrap&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td class=&quot;md&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td class=&quot;md&quot; nowrap=&quot;nowrap&quot;&gt;UInt16 &lt;/td&gt; &lt;td class=&quot;mdname&quot; nowrap=&quot;nowrap&quot;&gt;&lt;em&gt;indicatorType&lt;/em&gt;, &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;md&quot; align=&quot;right&quot; nowrap=&quot;nowrap&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td class=&quot;md&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td class=&quot;md&quot; nowrap=&quot;nowrap&quot;&gt;UInt16 * &lt;/td&gt; &lt;td class=&quot;mdname&quot; nowrap=&quot;nowrap&quot;&gt;&lt;em&gt;stateP&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;md&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td class=&quot;md&quot;&gt;) &lt;/td&gt; &lt;td class=&quot;md&quot; colspan=&quot;2&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;5&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;  &lt;/td&gt; &lt;td&gt; &lt;p&gt;Set or get the state of the LED or Vibrator.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;dl compact=&quot;compact&quot;&gt;&lt;dt&gt;&lt;b&gt;Parameters:&lt;/b&gt; &lt;/dt&gt;&lt;dd&gt; &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;2&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot;&gt;&lt;em&gt;count,:&lt;/em&gt; &lt;/td&gt; &lt;td&gt;IN: Count of how many times to blink or pulse the indicator, or one of the  HsIndicatorCountEnum values to either run forever or get the current state.  &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot;&gt;&lt;em&gt;indicatorType,:&lt;/em&gt; &lt;/td&gt; &lt;td&gt;IN: HsIndicatorTypeEnum (LED or vibrator) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot;&gt;&lt;em&gt;stateP,:&lt;/em&gt; &lt;/td&gt; &lt;td&gt;IN: Pointer to HsIndicatorStateEnum If setting, points to state to set. If  getting, as IN param points to “none” state of the source to query (or  kIndicatorStateNull to query whatever source has priority). As OUT param,  contains the result of the query (kIndicatorStateNull if querying for the active  source and there is none) &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/dd&gt;&lt;/dl&gt; &lt;dl compact=&quot;compact&quot;&gt;&lt;dt&gt;&lt;b&gt;Return values:&lt;/b&gt; &lt;/dt&gt;&lt;dd&gt; &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;2&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot;&gt;&lt;em&gt;Err&lt;/em&gt; &lt;/td&gt; &lt;td&gt;0 if no error &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><link>http://sumesh-palm.blogspot.com/2008/03/vibrate-palm-device-using.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-6642934036628399718</guid><pubDate>Wed, 19 Mar 2008 05:56:00 +0000</pubDate><atom:updated>2008-03-20T11:17:42.734+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>How to persist data on a Palm hand held</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span id=&quot;intelliTXT&quot;&gt;  &lt;!-- Article image --&gt; &lt;p&gt;&lt;img src=&quot;http://www.codeproject.com/KB/mobile/PalmDB/PalmDB.jpg&quot; alt=&quot;Sample Image - PalmDB.jpg&quot; height=&quot;332&quot; width=&quot;212&quot; /&gt;&lt;/p&gt;  &lt;!-- Add the rest of your HTML here --&gt; &lt;h2&gt;Introduction&lt;/h2&gt;   Welcomed this, my third article on palm development. Now that we have covered    the basics and can create an application with some GUI components, the next    important thing is to be able to persist data. The palm application philosophy    is simple. When an application is started, it should be in the State that it    was last left, giving the illusion of a multithreaded system, were in fact only    one thread can run at a time. In order for this to be possible, as well as in    order for just about any useful application to be written, we need to store    data. Because the palm has no external storage mediums, data is stored in    memory, in area is known as databases. I am sorry to report that this is    somewhat of a misnomer, and does not in any way imply facilities such as SQL or    relational tables. Instead what you get is a block of memory which is    associated with your creator ID and the name, from which you can select data by    either its array style index, or an ID which is guaranteed to be unique in the    context of that device, and which would have no relation to the ID returned if    the same application were run on a different device.   &lt;h2&gt;Creating a database&lt;/h2&gt;   The first step of course is to create a database. The variable which equates to    a handle to a database is a DmOpenRef. You should declare one of these as a    global in your main header file for each database that you need to keep open.    The call to create a database looks like this.   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;Err err = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;err = DmCreateDatabase(&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;BugSquBugsDYTC&quot;&lt;/span&gt;, &lt;span class=&quot;code-string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;DYTC&#39;&lt;/span&gt;, &lt;span class=&quot;code-string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;DATA&#39;&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;   DYTC is my unique creator ID, it stands for Dytech, which is the name of my    employer. You should have previously registered your own ID on the    &lt;a linkindex=&quot;169&quot; href=&quot;http://www.codeproject.com/KB/mobile/www.PalmOS.com&quot;&gt;www.PalmOS.com&lt;/a&gt; web site, and you should substitute that as the third parameter.    The first parameter represents the card number on which to create a database,    and it is almost universally 0. The second parameter is a name for a database,    you will note that I have used my creator ID within the name, which palm    recommend doing in order to ensure that your database name is unique. The    fourth parameter is the type of database, and can be any for character    constant. You may not have noticed this, but in fact that creator ID AND the    type are actually 32-bit numbers, which are generated from the four 8-bit char    values which we provide. In theory one could create a number of databases for    an application which have the same name, and differ by type. However, in my    experience, I have found that unless the type is DATA, your data base will    appear within the palm as a file separate from your application, which I regard    as undesirable. The final parameter is a ball in value, which specifies if this    is a resource database. For our purposes, we will only be creating record    databases, therefore this parameter will always be false.   &lt;h2&gt;Opening a database&lt;/h2&gt;   At this point, we still do not have an open database and we have not used our    DmOpenRef. We&#39;re now going to correct both of these anomalies. There are two    ways to open a database. The first is as follows:   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;DmOpenRef myRef;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;DmOpenDatabaseByTypeCreator(&lt;span class=&quot;code-string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;DATA&#39;&lt;/span&gt; , &lt;span class=&quot;code-string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;DYTC&#39;&lt;/span&gt;, dmModeReadWrite);&lt;/pre&gt;&lt;/div&gt;   The parameters are the database type, the creator ID, and the mode in which to    open the database. This seems to be the wide almost universally preferred by    both the official palm documentation, and the third party books that I read.    Why this is so is a mystery to me, because it does not use the name which we    have so carefully crafted to be unique for this particular device, and instead    requires that we either register a creator ID for every database we want to    create, or that we create databases with arbitrary types of our own invention,    and as a result (at least in my experience) have databases which our users can    delete apart from application. The method which I prefer is a little more    long-winded, but I believe it is superior nonetheless. It looks something like    this:   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;Err err = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;LocalID dbID = DmFindDatabase(&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;,&lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;BugSquBugsDYTC&quot;&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;gDB = NULL;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (dbID &lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;) gDB = DmOpenDatabase(&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, dbID, dmModeReadWrite);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!gDB) &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; err = DmCreateDatabase(&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;BugSquBugsDYTC&quot;&lt;/span&gt;, &lt;span class=&quot;code-string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;DYTC&#39;&lt;/span&gt;, &lt;span class=&quot;code-string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;DATA&#39;&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;   &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (err == &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; {&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  gDB = DmOpenDatabase(&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, DmFindDatabase(&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;,&lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;BugSquBugsDYTC&quot;&lt;/span&gt;), dmModeReadWrite);&lt;/pre&gt;&lt;/div&gt;   The first API call we make it is DmFindDatabase, which takes the card number    and the database name and returns a LocalID, which I presume to be a 32-bit    number, on the basis that when I first tried it by used a UInt16 and it did not    work. This ID when it is returned can be passed to DmOpenDatabase, which takes    the card number again,our LocalID, and the open mode required. If it fails, the    return value is null and so we continue to create our database both in the    distance where it cannot be found, and where it cannot be opened. Assuming the    database is successfully created, we then open it. Note that we need to call    find database again, as the value returned the first time was invalid, all we    would have not reached this point.   &lt;h2&gt;Creating records&lt;/h2&gt;   So at this point we have a database on a palm, and a handle to it. Quite    obviously the next step is to create some data records with the database, in    particular it is likely that our newly created database should have some    default values within it. The sample application is called Bug Squasher. It was    written as a learning exercise, and in theory is designed to be part of a bug    tracking system, where the desktop system updates a list of applications which    can have bug reports, and the Palm creates bug reports which can then be    uploaded to the main system. The simpler of the two databases simply stores a    list of names, which equate to projects for which we can report bugs. The two    default values are &#39;misc&#39; ( for bugs on systems not in the Palm ) and &#39;BugSqu&#39;    ( so we can report bugs on the bug tracking system itself ). The functions we    will need to create a record and fill it with data are DmNewRecord, which takes    three parameters ( the database to operate on, the index of the record to    create, and a length for the record ), and DmStrCopy, which takes a Char * (    derived from our record handle, as we will see ), a start position, and another    Char *, which we will copy. Note that I capitalise the word Char, this is a    common way for PalmOS to create it&#39;s own types, a Char is the type used by    Palm, as opposed to char. That they are the same thing is immaterial, Palm    create their own types to ensure all types are the same size across platforms.    The other functions we will use are MemHandleLock, which returns a void *, and    which we call on our new database record, casting the result to a Char *.    Finally, MemPtrNew is the Palm equivelant of malloc, and is used to create our    string, StrCopy is the equivelant of strcpy and is used to place a value in our    string, and MemPtrFree is used to free the string we created. Here is the code:   &lt;div class=&quot;SmallText&quot; id=&quot;premain3&quot; style=&quot;width: 100%; cursor: pointer;&quot;&gt;&lt;img preid=&quot;3&quot; src=&quot;http://www.codeproject.com/images/minus.gif&quot; id=&quot;preimg3&quot; height=&quot;9&quot; width=&quot;9&quot; /&gt;&lt;span preid=&quot;3&quot; style=&quot;margin-bottom: 0pt;&quot; id=&quot;precollapse3&quot;&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-SDKkeyword&quot;&gt;UInt16&lt;/span&gt; index = dmMaxRecordIndex;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;MemHandle h = DmNewRecord(gDBProj, &amp;amp;index, &lt;span class=&quot;code-digit&quot;&gt;5&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!h)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    err = DmGetLastErr();&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    Char * s = (Char *) MemHandleLock(h);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    Char * pChar = (Char*)MemPtrNew(&lt;span class=&quot;code-digit&quot;&gt;5&lt;/span&gt; * &lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(Char*));&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    StrCopy(pChar, &lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;Misc\0&quot;&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    DmStrCopy(s, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, pChar);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;MemPtrFree( pChar);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    MemHandleUnlock(h);    &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;index = dmMaxRecordIndex;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;h = DmNewRecord(gDBProj, &amp;amp;index, &lt;span class=&quot;code-digit&quot;&gt;6&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!h)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    err = DmGetLastErr();&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt; Char * s = (Char *) MemHandleLock(h);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    Char * pChar = (Char*)MemPtrNew(&lt;span class=&quot;code-digit&quot;&gt;6&lt;/span&gt; * &lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(Char*));&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    StrCopy(pChar, &lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;BugSq\0&quot;&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    DmStrCopy(s, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, pChar);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;MemPtrFree( pChar);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    MemHandleUnlock(h);    &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre3&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;   dmMaxRecordIndex is a Palm defined constant which causes our record to be    created at the end of the database. Note we need to set it twice, as when we    pass it into DmNewRecord, it is set to be the actual index of the created    record. It&#39;s not shown here, but DmReleaseRecord should be called to release    the record as soon as it is no longer needed.   &lt;p&gt;Well, that was easy, wasn&#39;t it ? But because the databases are just an area of     memory and offer no real facilities beyond locking a record in terms of     accessing items within a record, what do we do when we want to store more     complex data ? The answer is to create a struct that defines our datatype. For     example, if we had a strict that looks like this:   &lt;/p&gt;   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;struct&lt;/span&gt; {&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  DateType DateEntered;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  UInt8 nBugSeverity;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  UInt8 nBugType; &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;} BugRecord;&lt;/pre&gt;&lt;/div&gt;   then we could simply use sizeof to get the size of our struct, and make our new    records that size, and then write them using the DmWrite API, which has this    prototype - Err DmWrite (void *recordP, UInt32 offset, const void *srcP, UInt32    bytes), where the void * is a pointer to our record, the offset indicates how    far into the record to start writing, srcP points to the data, and the UInt32    indicates the number of bytes to write. An example would be as follows:   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;Char *s;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-SDKkeyword&quot;&gt;UInt16&lt;/span&gt; offset = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;s = (Char *) MemHandleLock(DBEntry);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;DmWrite(s, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, br, &lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(BugRecord));&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;MemHandleUnlock(DBEntry);&lt;/pre&gt;&lt;/div&gt;   I&#39;m sure that many of you spotted a problem. This isn&#39;t the full bug record, it    does not contain a string. If you have to store data which does not involve    strings, or the strings are of a fixed size, then life is easy. However, as I    often say, space on the Palm is at a premium, and so if we have strings in our    data, we must take steps to ensure that each record takes up the smallest    amount of space possible. In order to do this, we need to undergo a process    commonly referred to as &#39;packing&#39; our struct into a record. In order to do this    we create two struts, one which contains Char *&#39;s, and the other which simply    contains Char arrays with a length of 1. Here are the real structs from the Bug    Squasher demo application.   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;struct&lt;/span&gt; {&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  DateType DateEntered;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  UInt8 nBugSeverity;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  UInt8 nBugType;   &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  &lt;span class=&quot;code-keyword&quot;&gt;char&lt;/span&gt; * szBugDesc;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;} BugRecord;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;struct&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  DateType DateEntered;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  UInt8 nBugSeverity;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  UInt8 nBugType;   &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  &lt;span class=&quot;code-keyword&quot;&gt;char&lt;/span&gt; szBugDesc[&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;];&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;} PackedBugRecord;&lt;/pre&gt;&lt;/div&gt;   In this case we only have one string, but the example holds for as many strings    as you would like. Because the only way to find the value of the nth string is    to unpack all n strings, you should always place the most important strings at    the top of the string list, and all non string information before that. Storing    variable length records causes us to need another function, which we will use    within a helpful function we write, called PackBug. The API function is called    MemHandleResize, and it takes a record and a new length and like most Palm    functions returns an Err which is 0 if there were no problems. Here is our    PackBug function.   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;void&lt;/span&gt; PackBug(BugRecord *br, MemHandle DBEntry)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; &lt;span class=&quot;code-SDKkeyword&quot;&gt;UInt16&lt;/span&gt; length = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; Char *s;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; &lt;span class=&quot;code-SDKkeyword&quot;&gt;UInt16&lt;/span&gt; offset = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; length = (&lt;span class=&quot;code-SDKkeyword&quot;&gt;UInt16&lt;/span&gt;) (&lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(BugRecord) + StrLen(br-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;szBugDesc) + &lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (MemHandleResize(DBEntry, length) == errNone)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; {&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  s = (Char *) MemHandleLock(DBEntry);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  DmWrite(s, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, br, &lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(*br));&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  DmStrCopy(s, OffsetOf(PackedBugRecord, szBugDesc), br-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;szBugDesc);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;  MemHandleUnlock(DBEntry);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;   As you can see, we calculate the length of the record by the size of the struct    and the length of the string, plus one for the null terminator. Obviously if    you are storing more than one string then will need to store enough space to    null terminate them all. Note also that the Palm API provides a function called    OffsetOf, which allows us to find the offset within a struct of the string in    question. The C standard library contains similar constructed called offsetof,    and once again the Palm API provides an alternative which is easy to remember,    and simply capitalises the words of the standard function.   &lt;p&gt;Naturally having packed our bug, we also need to unpack it. This is simply a     matter of assigning the right value to the variables within the struct.     Obviously, if we had more than one string, we would need to use StrLength to     figure out the right position for the start of each string in order to assign     them. In The code looks like this.&lt;/p&gt;   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;void&lt;/span&gt; UnpackBug(BugRecord *bug, &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; PackedBugRecord *pBug)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; bug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;DateEntered = pBug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;DateEntered; &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; bug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;nBugSeverity = pBug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;nBugSeverity;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; bug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;nBugType = pBug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;nBugType;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; bug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;szBugDesc = pBug-&lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt;szBugDesc;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/div&gt;   &lt;h2&gt;Reading back our records&lt;/h2&gt;   In this example I have used a GUI component which we have not yet discussed,    namely a list. The list has been set to be ownerdrawn, and a callback has been    set which will be passed the index of the item to draw. The details of this    will be covered in a future article. Our strategy is to use the index passed    into the overdrawn function to retrieve the appropriate record from our    database and render it. This has the advantage of saving us from making a copy    of our entire database, saving both space and processor time. There are two    ways to search for a record, by index or by unique ID. The unique ID is not as    exciting as it sounds, the search is still sequential and therefore has linear    growth in complexity. It&#39;s far more common to search by index, but if you have    the ID, the API is DmFindRecordByID, and it takes a database, a unique ID and a    pointer which returns the index of the item. The DmQueryRecord function takes a    database and a record number and returns a record handle or NULL to indicate    failure. Here is the full code we use in our list callback to read a record.   &lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;Err err = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;MemHandle myRecord = DmQueryRecord(gDB, itemNum);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!myRecord)&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    err = DmGetLastErr();&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;    PackedBugRecord *prec = (PackedBugRecord *) MemHandleLock(myRecord);&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; BugRecord * rec = (BugRecord*) MemPtrNew(&lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(BugRecord));&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt; UnpackBug(rec, prec);&lt;/pre&gt;&lt;/div&gt;   After using WinDrawChars to render our data, we call MemHandleFree to free our    records. We do not need to free the record data, because it was never copied    out of the database.   &lt;h2&gt;Deleting Records&lt;/h2&gt;   Deleting records is easy, just use DmRemoveRecord(gDB, nIndex), where gDB is    your handle to a database, and nIndex is the record to delete.   &lt;h2&gt;Some other stuff&lt;/h2&gt;   Records have a 64k limit, there is a way to overcome this, but I am not    familiar with it. Each record also has a record attributes area, which is one    byte in size and contains a deleted bit, a secret bit, a dirty bit, a busy bit    and a 4 bit category. Records when they are deleted are not necesarily removed    from the Palm. DmRemoveRecord deletes them entirely, DmDeleteRecord deletes the    record but keeps the header and sets the bit, and DmArchiveRecord does not    delete the record, but sets the bit. The reason for these differences is    syncronisation, another future topic, which basically involves moving data    between a Palm and a desktop application. Deleted records are moved to the end    of the database and are not visible, even if they are still there. They are    typically always removed at the next syncronisation.                  &lt;p&gt;Databases also have their    own header, where data like the name, creator, and type is stored, along with    some application specific data. This is the place to store data you want to    keep only once for the entire database. Additionally, databases can be sorted,    through the provided DmInsertionSort and DmQuickSort functions, both of which    use a function pointer to allow the programmer to specify the sort order.    Insertion while maintaining sort is provided by the DmFindSortPosition API,    inserting into an existing record index causes all records below that one to be    moved down accordingly.                  &lt;/p&gt;&lt;p&gt;Although I am unable to comment beyond what the Palm    API can tell you about these functions, they seem worthwhile, we have a    database at work with 40,000 records and without some sort of binary search,    the search times are somewhat untenable.                 &lt;/p&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://sumesh-palm.blogspot.com/2008/03/how-to-persist-data-on-palm-hand-held.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-608098719688280734</guid><pubDate>Wed, 19 Mar 2008 05:51:00 +0000</pubDate><atom:updated>2008-03-19T11:23:54.677+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title></title><description>&lt;span id=&quot;intelliTXT&quot;&gt;&lt;p&gt;&lt;i&gt;This article is written by Dariusz Paduch, and was originally published in the June 2005 issue of the Software Developer&#39;s Journal magazine. You can find more articles at the &lt;a set=&quot;yes&quot; linkindex=&quot;161&quot; href=&quot;http://www.en.sdjournal.org/&quot; target=&quot;_blank&quot;&gt;SDJ website&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt; &lt;ul class=&quot;download&quot;&gt;&lt;li&gt;&lt;a linkindex=&quot;162&quot; href=&quot;http://www.codeproject.com/KB/mobile/socket_netlib/wget.zip&quot;&gt;Download source - 6.31 Kb&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src=&quot;http://www.codeproject.com/KB/mobile/socket_netlib/screenshot.JPG&quot; height=&quot;508&quot; width=&quot;385&quot; /&gt;&lt;/p&gt; &lt;p&gt;Figure 1. Progress Manager at work&lt;/p&gt; &lt;h2&gt;Introduction&lt;/h2&gt; &lt;p&gt;In the following article, I will demonstrate how to write an application for Palm OS, which makes use of network sockets provided by the system library NetLib. Using the methods described here, one can create an application functionally similar to Linux &lt;i&gt;wget&lt;/i&gt;, downloading a file of choice from the internet using the HTTP protocol. I will assume that the reader is familiar with the basics of programming for the Palm OS platform.&lt;/p&gt; &lt;p&gt;Socket programming under Palm OS hardly differs from programming it under Unix-like systems. Therefore, everyone who has done this before under Unix should have no problems whatsoever applying their solution in the Palm OS case.&lt;/p&gt; &lt;h2&gt;Initializing NetLib&lt;/h2&gt; &lt;p&gt;In order to avail oneself of the benefits provided by a system library, one has to first determine its reference number. It is required in order to use any function belonging to that particular library. One should be careful here not to lose the reference number going from function to function, as that would make it impossible for the program to use any function belonging to that library. We obtain the reference number by calling &lt;code&gt;SysLibFind()&lt;/code&gt;, providing a pointer to our variable (&lt;code&gt;AppNetRefnum&lt;/code&gt;) as its parameter. Of course, the library we are looking for must be present in the system, and has to have already been loaded; while there should be no problems with this in the case of NetLib, it is wise to protect oneself against the errors returned by &lt;code&gt;SysLibFind()&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Having already obtained the reference number of our library, we can open and initialize it with the &lt;code&gt;NetLibOpen()&lt;/code&gt; function; of course, we have to pass the reference number as one of its arguments. The function will try to bring up all network interfaces that have already been configured, so if there are none available, it will return an error. If NetLib has already been opened, the error returned by the function will be &lt;code&gt;netErrAlreadyOpen&lt;/code&gt; – which can be safely ignored, as it merely informs us that opening the library was not necessary. This is worth remembering in order not to abort the whole operation due to this error.&lt;/p&gt; &lt;p&gt;One other thing one should do before beginning to play with sockets is testing the network connections. For this, one should use the &lt;code&gt;NetLibConnectionRefresh()&lt;/code&gt; function, which checks and optionally opens (if we pass &lt;code&gt;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&lt;/code&gt; as its second argument) all connections.&lt;/p&gt; &lt;p&gt;Once we are done with all the required operations on the socket, we should clean the system up by closing NetLib with the &lt;code&gt;NetLibClose()&lt;/code&gt; function; this will protect the program from errors like &lt;code&gt;netErrAlreadyOpen&lt;/code&gt;, later on.&lt;/p&gt; &lt;h2&gt;Addressing&lt;/h2&gt; &lt;p&gt;The addresses of a socket under Palm OS is stored in an appropriate structure, just like under Unix. Since in our case we use the addresses of Internet sockets, we can use the &lt;code&gt;NetSocketAddrINType&lt;/code&gt; structure, in which we store three values. The address family determines the syntax of an address. We will be connecting to the Internet, so will be using IP addresses (we write &lt;code&gt;netSocketAddrINET&lt;/code&gt; as this value). What remains are the number of the port and the IP address of the remote host. If the user provides a host name instead of an IP address, it will have to be resolved; fortunately the &lt;code&gt;NetLibGetHostByName()&lt;/code&gt; can help us with this. In order to use it, we will need another structure that will store the host information – &lt;code&gt;NetHostInfoBufType&lt;/code&gt;. The &lt;code&gt;NetLibGetHostByName()&lt;/code&gt; function&#39;s arguments will then be the string containing the name of the host and a pointer to the output structure. After the function has been executed, &lt;code&gt;NetHostInfoBufType&lt;/code&gt; contains an array called &lt;code&gt;address&lt;/code&gt;, in which all IP addresses of the host in question are stored. The size of the address array depends on the &lt;code&gt;netDNSMaxAddresses&lt;/code&gt; constant, so it can contain more than one IP address. We, on the other hand, are only interested in one, so we will just refer to the value stored under &lt;code&gt;address[&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;]&lt;/code&gt;. Having thus obtained the host&#39;s IP address, we can write it into the aforementioned &lt;code&gt;NetSocketAddrINType&lt;/code&gt; address structure.&lt;/p&gt; &lt;p&gt;We will then make use of this structure in order to attach our socket to a remote host.&lt;/p&gt; &lt;h4&gt;Listing 1. Initialization of the NetLib library&lt;/h4&gt;&lt;div class=&quot;no-vmads&quot;&gt;&lt;pre&gt;Err err, errcode;&lt;br /&gt;UInt8 allup;&lt;br /&gt;&lt;span class=&quot;code-SDKkeyword&quot;&gt;UInt16&lt;/span&gt; AppNetRefnum = &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Look for a system library&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;err = SysLibFind(&lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;Net.lib&quot;&lt;/span&gt;, &amp;amp;AppNetRefnum);&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (err || !AppNetRefnum) &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; err;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Open NetLib&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NetLibOpen(AppNetRefnum, &amp;amp;errcode);&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (errcode &amp;amp;&amp;amp; errcode != netErrAlreadyOpen)&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; errcode;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Refresh network connections&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NetLibConnectionRefresh(AppNetRefnum,&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, &amp;amp;allup, &amp;amp;errcode);&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (errcode) {&lt;br /&gt;NetLibClose(AppNetRefnum, &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; errcode;&lt;br /&gt;}&lt;br /&gt;(...)&lt;br /&gt;NetLibClose(AppNetRefnum, &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt; &lt;h2&gt;Sockets&lt;/h2&gt; &lt;p&gt;The time has come to actually open a network socket. In order to do this, we will need some information. To begin with, we need the domain – the value that we passed to the &lt;code&gt;NetSocketAddrINType&lt;/code&gt; as the address family (&lt;code&gt;netSocketAddrINET&lt;/code&gt;). Next, we will define the type of the socket, i.e., whether the connection is to use datagrams or streams; in our case, we have to specify &lt;code&gt;netSocketTypeStream&lt;/code&gt;. We shall also have to choose an appropriate protocol, depending on the type of the socket; for a streaming socket, the right protocol will be TCP (&lt;code&gt;netSocketProtoIPTCP&lt;/code&gt;). We are going to pass all this information as arguments to the &lt;code&gt;NetLibSocketOpen()&lt;/code&gt; function, which in turn returns a socket descriptor that we are going to store in a &lt;code&gt;NetSocketRef&lt;/code&gt;-type variable. We will be using this descriptor of an open socket in all the operations on this socket.&lt;/p&gt; &lt;p&gt;We have already got an open network socket and an address structure, so it is high time to establish a connection to the remote host (unless one uses datagram sockets, in which case, no connections have to be established, and we just provide the address data of an appropriate host in all send or receive operations on the socket). To connect a socket to the remote host, we use the &lt;code&gt;NetLibSocketConnect()&lt;/code&gt; function, taking as parameters the socket descriptor and a pointer to the address structure. Now we can finally communicate with the remote host using the socket descriptor.&lt;/p&gt; &lt;p&gt;Having finished our communication, we close the network socket by calling the &lt;code&gt;NetLibSocketClose()&lt;/code&gt; function.&lt;/p&gt; &lt;h2&gt;Communicating with the remote host&lt;/h2&gt; &lt;p&gt;After the connection has been established, the actual conversation with the server is just a question of sending queries and receiving replies. There are two functions we use in sending and receiving data – &lt;code&gt;NetLibSend()&lt;/code&gt; and &lt;code&gt;NetLibReceive()&lt;/code&gt;. The arguments they both take are the socket descriptor we have obtained earlier, a character string as a buffer of data to be sent or for data to be received, and a value defining the length of the buffer. Both functions return the number of bytes which have been transmitted – a very useful feature for verifying the accuracy of the communication. When a function returns zero, it implies that the server has closed the socket, meaning that all the data has been sent.&lt;/p&gt; &lt;p&gt;In the case of datagram sockets, we also have to provide a pointer to the address structure, along with its size.&lt;/p&gt; &lt;p&gt;At this point of our application, it is time to start considering the way, i.e., the protocol, of communication with the server. We have to know what to send to the server and what answers are to be expected. In the case of &lt;i&gt;wget&lt;/i&gt;, the protocol used is HTTP, hence we too will be sending and receiving HTTP headers. The responses of an HTTP server consist of the header and the data. The header can tell us what the name and the size of the transmitted file is, giving us information about how many bytes we should write to a file and under what name. The headers can also contain appropriate error messages, which should be taken into account in the error-handling function of our application.&lt;/p&gt; &lt;h4&gt;Listing 2. Addressing and communication with a remote host&lt;/h4&gt;&lt;div class=&quot;SmallText&quot; id=&quot;premain1&quot; style=&quot;width: 100%; cursor: pointer;&quot;&gt;&lt;img preid=&quot;1&quot; src=&quot;http://www.codeproject.com/images/minus.gif&quot; id=&quot;preimg1&quot; height=&quot;9&quot; width=&quot;9&quot; /&gt;&lt;span preid=&quot;1&quot; style=&quot;margin-bottom: 0pt;&quot; id=&quot;precollapse1&quot;&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0pt;&quot; id=&quot;pre1&quot; class=&quot;no-vmads&quot;&gt;&lt;pre&gt;&lt;span class=&quot;code-keyword&quot;&gt;char&lt;/span&gt; host[] = &lt;span class=&quot;code-string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;code-string&quot;&gt;www.palmtop.pl&quot;&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;char&lt;/span&gt; buffer[&lt;span class=&quot;code-digit&quot;&gt;40&lt;/span&gt;]; &lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; A buffer for sent/received data&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;int&lt;/span&gt; bytes = &lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;NetSocketRef sock;&lt;br /&gt;NetSocketAddrINType addr;&lt;br /&gt;NetHostInfoBufType hostinfo;&lt;br /&gt;&lt;br /&gt;NetLibGetHostByName(&lt;br /&gt;AppNetRefnum, host, &amp;amp;hostinfo, -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;errcode);&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (errcode) &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; errcode;&lt;br /&gt;addr.family = netSocketAddrINET;&lt;br /&gt;addr.port = &lt;span class=&quot;code-digit&quot;&gt;80&lt;/span&gt;;&lt;br /&gt;addr.addr = hostinfo.address[&lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;];&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Open a network socket&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;sock = NetLibSocketOpen(&lt;br /&gt;AppNetRefnum, netSocketAddrINET, netSocketTypeStream,&lt;br /&gt;netSocketProtoIPTCP, -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;errcode);&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Connect the socket to the specifi ed host and port&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NetLibSocketConnect(AppNetRefnum, sock, &amp;amp;addr,&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;sizeof&lt;/span&gt;(addr), -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;errcode);&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (errcode) {&lt;br /&gt; NetLibSocketClose (AppNetRefnum, sock, -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;err);&lt;br /&gt; &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; errcode;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Transmit the contents of the buffer through&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; the socket to the host&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NetLibSend(AppNetRefnum, sock, buffer,&lt;br /&gt;StrLen(buffer), &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;errcode);&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Retrieve data from the socket to the buffer&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt;(bytes &lt;span class=&quot;code-keyword&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;)&lt;br /&gt;bytes = NetLibReceive(AppNetRefnum, sock,&lt;br /&gt;buffer, &lt;span class=&quot;code-digit&quot;&gt;40&lt;/span&gt;, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;code-digit&quot;&gt;0&lt;/span&gt;, -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;errcode);&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;code-comment&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt; Close the network socket&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NetLibSocketClose(AppNetRefnum, sock, -&lt;span class=&quot;code-digit&quot;&gt;1&lt;/span&gt;, &amp;amp;errcode)&lt;/pre&gt;&lt;/div&gt; &lt;h2&gt;Communication with the user&lt;/h2&gt; &lt;p&gt;While the data transmission is taking place, it would not hurt to keep the user informed about the progress of the data flow. For this purpose, the creators of Palm OS have created a special interface called Progress Manager.&lt;/p&gt; &lt;p&gt;Using Progress Manager, we can display and control the contents of a progress window. What is to be displayed in this window is controlled by a programmer-defined function called &lt;code&gt;PrgCallbackFunc&lt;/code&gt;. A number of different progress states can be declared, e.g., &lt;code&gt;Connecting&lt;/code&gt;, &lt;code&gt;Retrieving&lt;/code&gt;, or &lt;code&gt;Disconnecting&lt;/code&gt;. Just before connecting to the remote host, we open the progress window, calling the &lt;code&gt;PrgStartDialog&lt;/code&gt; function, and giving it the title of the window and a pointer to the callback function; all further operations on the window&#39;s contents are to be performed with the &lt;code&gt;PrgUpdateDialog&lt;/code&gt; function. This function makes it possible to switch between different progress states, provide the callback function with additional text output, or display an error message. Another thing worth mentioning here is the &lt;code&gt;PrgUserCancel&lt;/code&gt; macro, which checks whether the user has not cancelled the operation while it was in progress.&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://sumesh-palm.blogspot.com/2008/03/this-article-is-written-by-dariusz.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-6884278535721360956</guid><pubDate>Tue, 04 Mar 2008 06:50:00 +0000</pubDate><atom:updated>2008-03-04T12:24:29.558+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>How to find Our application is running or what???</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;pre style=&quot;font-family: arial;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;DWord PilotMain(Word cmd, Ptr cmdPBP, Word launchFlags)&lt;br /&gt;{&lt;br /&gt;   Boolean launched;&lt;br /&gt;  &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; // launched will be true if the app is already running&lt;/span&gt;&lt;br /&gt;   launched = (launchFlags &amp;amp; sysAppLaunchFlagSubCall) != 0;&lt;br /&gt;   &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;// the rest of your main routine&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;}&lt;/span&gt;</description><link>http://sumesh-palm.blogspot.com/2008/03/how-to-find-our-application-is-running.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-8617915895373561767</guid><pubDate>Thu, 21 Feb 2008 04:40:00 +0000</pubDate><atom:updated>2008-02-25T16:32:16.285+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Palm Hacks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Navigation in palm</title><description>&lt;pre&gt;1. Creat a file .r and go to the Settings to map the extension r with&lt;br /&gt;PalmRez&lt;br /&gt;2. This file .r has the header that looks like :&lt;br /&gt;&lt;br /&gt;#define hsNavFlags   defaultStartStateValue = 0x00000000, \&lt;br /&gt;     objectFocusStartState  = 0x00000001, \&lt;br /&gt;     appFocusStartState     = 0x00000002&lt;br /&gt;&lt;br /&gt;#define hsNavObjectFlags none             = 0x0000, \&lt;br /&gt;     skip             = 0x0001, \&lt;br /&gt;     forceInteraction = 0x0002, \&lt;br /&gt;     bigButton        = 0x8000&lt;br /&gt;type &#39;fnav&#39; {&lt;br /&gt;unsigned integer = 1;      /* resource version */&lt;br /&gt;unsigned integer = $$Countof(ObjectArray);&lt;br /&gt;unsigned integer = 20;      /* size of header */&lt;br /&gt;unsigned integer = 8;      /* size of list elements */&lt;br /&gt;unsigned longint hsNavFlags;    /* navigation flags */&lt;br /&gt;unsigned integer;       /* ID of initial focus object */&lt;br /&gt;unsigned integer = 0;      /* hint ID of jump to object */&lt;br /&gt;unsigned integer = 0;      /* hint ID of bottom left object */&lt;br /&gt;fill word;&lt;br /&gt;&lt;br /&gt;array ObjectArray {&lt;br /&gt;unsigned integer;      /* ID of object */&lt;br /&gt;unsigned integer hsNavObjectFlags;  /* object flags */&lt;br /&gt;unsigned integer;      /* ID of above object */&lt;br /&gt;unsigned integer;      /* ID of below object */&lt;br /&gt;};&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;resource &#39;fnav&#39; ( MainForm )&lt;br /&gt;{&lt;br /&gt;objectFocusStartState,&lt;br /&gt;MainFileTestButton,&lt;br /&gt;{&lt;br /&gt;MainFileTestButton, 0, 0, MainInputTestButton,&lt;br /&gt;MainInputTestButton, 0, MainFileTestButton, MainLoopTestButton,&lt;br /&gt;MainLoopTestButton, 0, MainInputTestButton, MainStopButton,&lt;br /&gt;MainStopButton, 0, MainLoopTestButton, 0&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;</description><link>http://sumesh-palm.blogspot.com/2008/02/navigation-in-palm.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-4341945843521548516</guid><pubDate>Tue, 19 Feb 2008 04:42:00 +0000</pubDate><atom:updated>2008-02-19T10:53:10.035+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Palm Hacks</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Changing the Application name in palm</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;There are several places you need to replace the word &quot;starter&quot; with &quot;&lt;span style=&quot;color: rgb(102, 0, 0);&quot;&gt;NewName&lt;/span&gt;&quot;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;It&#39;s not required, but you might want to rename starter.c as NewName.c. If you do that, then you will have to add NewName.c to your project. Highlight Source in the project window, then click menu items Project, then Add Files... to add NewName.c to your project.  Then you should delete starter.c from the project by selecting it and pressing the delete key.&lt;/span&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2. &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;You should change all of the following settings for the starter project. Select Edit, then Starter Settings from the menu, then:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;            a) Under Target Name, change the name from &quot;Starter&quot; to &quot;NewName&quot;.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;            b) Under 68K Target, change the file name from &quot;Starter.tmp&quot; to &quot;NewName.tmp&quot;.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;       c) Under PalmRez Post Linker, change the output file from &quot;Starter.prc&quot; to &quot;NewName.prc&quot;.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;        d) Also under PalmRezPostLinker, change the Mac Resource Files from &quot;Starter.tmp&quot; to &quot;newName.tmp&quot;.  This file name must be the same as thefile name in step b.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify; color: rgb(51, 51, 255);&quot;&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;            e) click the Save button to save the project settings.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;3.&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 153, 0);&quot;&gt;Finally, you need to change the name the launcher uses for your app.  To do this, open starter.rsrc from the project window.  Change the Application Icon Name from &quot;Starter&quot;  to &quot;NewName&quot;.  (You might also want to change the name of the resource file.  If you are using windows, that is slightly painful because the file is stored in two parts:  \Rsc\Starter.rsrc and \Rsc\Resource.frk\starter.rsrc.  So you have to rename both files, then add NewName.rsrc to your project.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;4.&lt;/span&gt; &lt;span style=&quot;color: rgb(204, 51, 204);&quot;&gt;One other thing you might want to rename is the header file generated by constructor, StarterRsc.h.  To do that, open Constructor, rename &quot;StarterRsc.h&quot; to &quot;NewName.h&quot;, and save the resource.  Then you have to open NewName.c (formerly Starter.c) and change the line &#39;#include &quot;StarterRsc.h&quot;&#39; to &#39;#include &quot;NewName.h&quot;&#39;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;5. &lt;/span&gt;&lt;span style=&quot;color: rgb(153, 102, 51);&quot;&gt;And, You probably should rename Starter.mcp to NewName.mcp   The easiest way to do that is with Windows explorer.  Alternatively, you could select File, then Save a Copy As... from the CodeWarrior menu to save the project file with the new name. But then you&#39;d have two copies and would still have to delete starter.mcp.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: justify; color: rgb(102, 0, 204);&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;And to change the default apps bitmap ( Icon )&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Open your resource file with Constructor, then highlight Icons, and press ctrl-K to create a new icon.  Give it a name.  Make sure its ID is 1000. Then double-click it to open the icon editor.  Draw your picture, close the editor, save the resource file, and compile your project.  You can also make color icons using Icon Families instead of Icons.  See the knowledge base at palmos.com for more info...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://sumesh-palm.blogspot.com/2008/02/changing-application-name-in-palm.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-6210979791771337466</guid><pubDate>Wed, 06 Feb 2008 04:58:00 +0000</pubDate><atom:updated>2008-02-06T10:33:57.801+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Photoshop</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Metal Print effect</title><description>&lt;div&gt;&lt;embed src=&quot;http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf&quot; type=&quot;application/x-shockwave-flash&quot; quality=&quot;high&quot; scale=&quot;noscale&quot; salign=&quot;l&quot; wmode=&quot;transparent&quot; flashvars=&quot;mode=preview&amp;amp;previewLayout=white&amp;amp;documentId=080131223418-fe33d7d73c864a9cb423220a3dde7810&amp;amp;backgroundColor=%23ffffff&amp;amp;layout=grey&quot; style=&quot;width:800px;height:500px&quot; name=&quot;flashticker&quot; align=&quot;middle&quot;&gt;&lt;/embed&gt;&lt;div style=&quot;width:800px;text-align:left;&quot;&gt;&lt;a href=&quot;http://issuu.com&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m1.gif&quot; border=&quot;0&quot; ismap=&quot;ismap&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://issuu.com/viewer?mode=embed&amp;amp;documentId=080131223418-fe33d7d73c864a9cb423220a3dde7810&amp;amp;layout=grey&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m2.gif&quot; border=&quot;0&quot; ismap=&quot;ismap&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://issuu.com/embed/guide?documentId=080131223418-fe33d7d73c864a9cb423220a3dde7810&amp;amp;width=425&amp;amp;height=301&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://static.issuu.com/webembed/previewers/style1/v1/m3.gif&quot; border=&quot;0&quot; ismap=&quot;ismap&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://sumesh-palm.blogspot.com/2008/02/metal-print-effect.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-2858155661813675111</guid><pubDate>Fri, 18 Jan 2008 04:29:00 +0000</pubDate><atom:updated>2008-01-18T10:00:55.074+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Palm</category><category domain="http://www.blogger.com/atom/ns#">Tips</category><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><title>Progress bar programming</title><description>&lt;pre&gt;typedef struct&lt;br /&gt;{&lt;br /&gt;   RectangleType bounds;&lt;br /&gt;   WinHandle savedbits;&lt;br /&gt;} ProgBar;&lt;br /&gt;&lt;br /&gt;void OpenProgressBar (ProgBar *progbar)&lt;br /&gt;{&lt;br /&gt;   UInt16 savebitserror;&lt;br /&gt;&lt;br /&gt;   progbar-&gt;savedbits = WinSaveBits (&amp;amp; progbar-&gt;bounds, &amp;amp; savebitserror);&lt;br /&gt;   WinEraseRectangle (&amp;amp; progbar-&gt;bounds, 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void CloseProgressBar (ProgBar *progbar)&lt;br /&gt;{&lt;br /&gt;   if (progbar-&gt;savedbits)&lt;br /&gt;   {&lt;br /&gt;       WinRestoreBits (progbar-&gt;savedbits,&lt;br /&gt;               progbar-&gt;bounds.topLeft.x, progbar-&gt;bounds.topLeft.y);&lt;br /&gt;   }&lt;br /&gt;   else&lt;br /&gt;   {&lt;br /&gt;       /* maybe should enqueue a frmUpdateEvent instead, maybe not */&lt;br /&gt;       WinEraseRectangle (&amp;amp; progbar-&gt;bounds, 0);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void UpdateProgressBar (ProgBar *progbar, Int32 numerator, Int32 denominator)&lt;br /&gt;{&lt;br /&gt;   RectangleType fillrect;&lt;br /&gt;&lt;br /&gt;   RctCopyRectangle (&amp;amp; progbar-&gt;bounds, &amp;amp; fillrect);&lt;br /&gt;   fillrect.extent.x = progbar-&gt;bounds.extent.x * numerator / denominator;&lt;br /&gt;&lt;br /&gt;   WinDrawRectangle (&amp;amp; fillrect, 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void TestProgressBar ()&lt;br /&gt;{&lt;br /&gt;   Int32 i;&lt;br /&gt;   const Int32 max = 25;&lt;br /&gt;   ProgBar progbar;&lt;br /&gt;&lt;br /&gt;   progbar.bounds.topLeft.x = 20;&lt;br /&gt;   progbar.bounds.topLeft.y = 70;&lt;br /&gt;   progbar.bounds.extent.x = 120;&lt;br /&gt;   progbar.bounds.extent.y = 20;&lt;br /&gt;&lt;br /&gt;   OpenProgressBar (&amp;amp; progbar);&lt;br /&gt;   for (i = 0; i &lt;= max; i++)&lt;br /&gt;   {&lt;br /&gt;       UpdateProgressBar (&amp;amp; progbar, i, max);&lt;br /&gt;       SysTaskDelay (SysTicksPerSecond() / 5);&lt;br /&gt;   }&lt;br /&gt;   CloseProgressBar (&amp;amp; progbar);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</description><link>http://sumesh-palm.blogspot.com/2008/01/progress-bar-programming.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-7631066475837741679</guid><pubDate>Thu, 17 Jan 2008 10:49:00 +0000</pubDate><atom:updated>2008-01-17T16:20:20.918+05:30</atom:updated><title>Top Ten Languages</title><description>&lt;span class=&quot;postbody&quot;&gt;10. French -- Number of speakers: 129 million&lt;br /&gt;Often called the most romantic language in the world, French is spoken in&lt;br /&gt;tons of countries, including Belgium, Canada, Rwanda, Cameroon, and Haiti.&lt;br /&gt;Oh, and France too.. We&#39;re actually very lucky that French is so popular,&lt;br /&gt;because without it, we might have been stuck with Dutch Toast, Dutch&lt;br /&gt;Fries, and Dutch kissing (ew!).&lt;br /&gt;To say &quot;hello&quot; in French, say &quot;Bonjour&quot; (bone-JOOR).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. Malay—Indonesian Number of speakers: 159 million&lt;br /&gt;Malay-Indonesian is spoken - surprise - in Malaysia and Indonesia.&lt;br /&gt;Actually, we kinda fudged the numbers on this one because there are many&lt;br /&gt;dialects of Malay, the most popular of which is Indonesian. But they&#39;re&lt;br /&gt;all pretty much based on the same root language, which makes it the ninth&lt;br /&gt;most-spoken in the world.Indonesia is a fascinating place; a nation made&lt;br /&gt;up of over 13,000 islands it is the sixth most populated country in the&lt;br /&gt;world. Malaysia borders on two of the larger parts of Indonesia (including&lt;br /&gt;the island of Borneo), and is mostly known for its capital city of Kuala&lt;br /&gt;Lumpur.&lt;br /&gt;To say &quot;hello&quot; in Indonesian, say &quot;Selamat pagi&quot; (se-LA-maht PA-gee).&lt;br /&gt;&lt;br /&gt;8. Portuguese -- Number of speakers: 191 million&lt;br /&gt;Think of Portuguese as the little language that could. In the 12th&lt;br /&gt;Century, Portugal won its independence from Spain and expanded all over&lt;br /&gt;the world with the help of its famous explorers like Vasco da Gama and&lt;br /&gt;Prince Henry the Navigator. (Good thing Henry became a navigator . . .&lt;br /&gt;could you imagine if a guy named &quot;Prince Henry the Navigator&quot; became a&lt;br /&gt;florist?) Because Portugal got in so early on the exploring game, the&lt;br /&gt;language established itself all over the world, especially in Brazil&lt;br /&gt;(where it&#39;s the national language), Macau, Angola, Venezuela, and&lt;br /&gt;Mozambique.&lt;br /&gt;To say &quot;hello&quot; in Portuguese, say &quot;Bom dia&quot; (bohn DEE-ah).&lt;br /&gt;&lt;br /&gt;7. Bengali -- Number of speakers: 211 million&lt;br /&gt;In Bangladesh, a country of 120+ million people, just about everybody&lt;br /&gt;speaks Bengali. And because Bangladesh is virtually surrounded by India&lt;br /&gt;(where the population is growing so fast, just breathing the air can get&lt;br /&gt;you pregnant), the number of Bengali speakers in the world is much higher&lt;br /&gt;than most people would expect.&lt;br /&gt;To say &quot;hello&quot; in Bengali, say &quot;Ei Je&quot; (EYE-jay).&lt;br /&gt;&lt;br /&gt;6. Arabic -- Number of speakers: 246 million&lt;br /&gt;Arabic, one of the world&#39;s oldest languages, is spoken in the Middle East,&lt;br /&gt;with speakers found in countries such as Saudi Arabia, Kuwait, Iraq,&lt;br /&gt;Syria, Jordan, Lebanon, and Egypt. Furthermore, because Arabic is the&lt;br /&gt;language of the Koran, millions of Moslems in other countries speak Arabic&lt;br /&gt;as well. So many people have a working knowledge of Arabic, in fact, that&lt;br /&gt;in 1974 it was made the sixth official language of the United Nations.&lt;br /&gt;To say &quot;hello&quot; in Arabic, say &quot;Al salaam a&#39;alaykum&quot; (Ahl sah-LAHM ah&lt;br /&gt;ah-LAY-koom) .&lt;br /&gt;&lt;br /&gt;5. Russian -- Number of speakers: 277 million&lt;br /&gt;Mikhail Gorbachev, Boris Yeltsin, and Yakov Smirnoff are among the&lt;br /&gt;millions of Russian speakers out there. Sure, we used to think of them as&lt;br /&gt;our Commie enemies. Now we think of them as our Commie friends. One of the&lt;br /&gt;six languages in the UN, Russian is spoken not only in the Mother Country,&lt;br /&gt;but also in Belarus, Kazakhstan, and the U.S. (to name just a few places).&lt;br /&gt;To say &quot;hello&quot; in Russian, say &quot;Zdravstvuite&quot; (ZDRAST-vet- yah).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Spanish -- Number of speakers: 392 million&lt;br /&gt;Aside from all of those kids who take it in high school, Spanish is spoken&lt;br /&gt;in just about every South American and Central American country, not to&lt;br /&gt;mention Spain, Cuba, and the U.S. There is a particular interest in&lt;br /&gt;Spanish in the U.S., as many English words are borrowed from the language,&lt;br /&gt;including: tornado, bonanza, patio, quesadilla, enchilada, and taco grande&lt;br /&gt;supreme.&lt;br /&gt;To say &quot;hello&quot; in Spanish, say &quot;Hola&quot; (OH-la).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Hindustani -- Number of speakers: 497 million&lt;br /&gt;Hindustani is the primary language of India&#39;s crowded population, and it&lt;br /&gt;encompasses a huge number of dialects (of which the most commonly spoken&lt;br /&gt;is Hindi). While many predict that the population of India will soon&lt;br /&gt;surpass that of China, the prominence of English in India prevents&lt;br /&gt;Hindustani from surpassing the most popular language in the world. If&lt;br /&gt;you&#39;re interested in learning a little Hindi, there&#39;s a very easy way:&lt;br /&gt;rent an Indian movie. The film industry in India is the most prolific in&lt;br /&gt;the world, making thousands of action/romance/ musicals every year.&lt;br /&gt;To say &quot;hello&quot; in Hindustani, say &quot;Namaste&quot; (Nah-MAH-stay) .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. English -- Number of speakers: 508 million&lt;br /&gt;While English doesn&#39;t have the most speakers, it is the official language&lt;br /&gt;of more countries than any other language. Its speakers hail from all&lt;br /&gt;around the world, including the U.S., Australia, England, Zimbabwe, the&lt;br /&gt;Caribbean, Hong Kong, South Africa, and Canada. We&#39;d tell you more about&lt;br /&gt;English, but you probably feel pretty comfortable with the language&lt;br /&gt;already. Let&#39;s just move on to the most popular language in the world.&lt;br /&gt;To say &quot;hello&quot; in English, say &quot;What&#39;s up, freak?&quot; (watz-UP-freek) .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Mandarin -- Number of speakers: 1 billion+&lt;br /&gt;&lt;br /&gt;Surprise, surprise, the most widely spoken language on the planet is based&lt;br /&gt;in the most populated country on the planet, China. Beating second-place&lt;br /&gt;English by a 2 to 1 ratio, but don&#39;t let that lull you into thinking that&lt;br /&gt;Mandarin is easy to learn. Speaking Mandarin can be really tough, because&lt;br /&gt;each word can be pronounced in four ways (or &quot;tones&quot;), and a beginner will&lt;br /&gt;invariably have trouble distinguishing one tone from another. But if over&lt;br /&gt;a billion people could do it, so could you. Try saying hello!&lt;br /&gt;To say &quot;hello&quot; in Mandarin, say &quot;Ni hao&quot; (Nee HaOW). (&quot;Hao&quot; is pronounced&lt;br /&gt;as one syllable, but the tone requires that you let your voice drop&lt;br /&gt;midway, and then raise it again at the end.)&lt;/span&gt;</description><link>http://sumesh-palm.blogspot.com/2008/01/top-ten-languages.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2648907551737068236.post-4555921023354058264</guid><pubDate>Wed, 09 Jan 2008 05:00:00 +0000</pubDate><atom:updated>2008-01-09T10:34:06.899+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">downloads</category><category domain="http://www.blogger.com/atom/ns#">Palm</category><title>Run Palm OS® Applications on Windows Mobile®</title><description>&lt;img src=&quot;file:///C:/DOCUME%7E1/Sysadmin/LOCALS%7E1/Temp/moz-screenshot-3.jpg&quot; alt=&quot;&quot; /&gt;&lt;a href=&quot;http://www.styletap.com/&quot;&gt;&lt;img alt=&quot;The image “http://www.styletap.com/images/STwebbanner.jpg” cannot be displayed, because it contains errors.&quot; src=&quot;http://www.styletap.com/images/STwebbanner.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;StyleTap&lt;span class=&quot;regtm&quot;&gt;®&lt;/span&gt; Platform allows you      to run applications (and games) originally written for      Palm OS handhelds on devices running         &lt;ul style=&quot;margin-top: 0px;&quot;&gt;&lt;li&gt;Windows Mobile Pocket PC&lt;/li&gt;&lt;li&gt;Windows Mobile 5.0 for Smartphone&lt;/li&gt;&lt;li&gt;Windows Mobile 6.0&lt;/li&gt;&lt;/ul&gt;         &lt;p&gt;      With more than 20,000 applications for the Palm OS platform available –      many of them free –      you will be able to do so much more with your Windows Mobile device.      &lt;/p&gt;      &lt;p&gt;      StyleTap Platform is fast, compact and comes with everything you need.       Just add your favorite third-party      applications for Palm OS platform and you&#39;re ready to go!      &lt;/p&gt;      &lt;p&gt;      &lt;a set=&quot;yes&quot; linkindex=&quot;0&quot; href=&quot;http://www.styletap.com/downloads/downloads.php&quot;&gt;Download&lt;/a&gt; a free 14-day trial of StyleTap Platform now,      or &lt;a linkindex=&quot;1&quot; href=&quot;https://styletap.com/purchase.php&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a linkindex=&quot;1&quot; href=&quot;https://styletap.com/purchase.php&quot;&gt;purchase&lt;/a&gt;      a copy of StyleTap Platform for $49.95 (US).      &lt;/p&gt;</description><link>http://sumesh-palm.blogspot.com/2008/01/run-palm-os-applications-on-windows.html</link><author>noreply@blogger.com (sumesh)</author><thr:total>0</thr:total></item></channel></rss>