<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Binary Spectrum Geeks at work</title>
      <link>http://binaryspectrum.com/geeksatwork/</link>
      <description></description>
      <language>en</language>
      <copyright>Copyright 2007</copyright>
      <lastBuildDate>Sat, 10 Feb 2007 08:50:57 +1200</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2ysb5-20051201</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>An Introduction to Web 2.0</title>
         <description><![CDATA[  <p class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">In 2004<strong> </strong></span><span style="font-size: 10pt; font-family: Verdana">O'Reilly Media coined a phrase <strong><span>Web 2.0 </span></strong><span>which refers to proposed second generation of web based services that include:</span></span><strong><em><span style="font-size: 10pt; font-family: Verdana"> <br /></span></em></strong></p>  <ol style="margin-top: 0in"><li style="text-align: justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Social      networking sites:</span></strong><span style="font-size: 10pt; font-family: Verdana"> Social networks connect people      with all different types of interests, and one area that is expanding in      the use of these networks is the corporate environment. Businesses are      beginning to use social networks as a means to connecting employees      together and helping employees to build profiles</span><span class="MsoHyperlink"><span style="font-size: 10pt; font-family: Verdana; color: windowtext; text-decoration: none"> <br /></span></span></li></ol>    <ol style="margin-top: 0in"><li style="text-align: justify" class="MsoNormal"><span class="MsoHyperlink"><strong><span style="font-size: 10pt; font-family: Verdana; color: windowtext; text-decoration: none">Wikis:</span></strong></span><span class="MsoHyperlink"><span style="font-size: 10pt; font-family: Verdana; color: windowtext; text-decoration: none"> </span></span><span style="font-size: 10pt; font-family: Verdana">are websites that allows the visitors to easily add, remove, and edit      available content, typically without the need for registration. This ease      of interaction and operation makes the wiki an effective tool for mass      collaborative authoring.</span><strong><span style="font-size: 10pt; font-family: Verdana"> <br /></span></strong></li></ol>    <ol style="margin-top: 0in"><li style="text-align: justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Communication:</span></strong><span style="font-size: 10pt; font-family: Verdana"> </span><span style="font-size: 10pt; font-family: Verdana">Web      communication protocols are a key element of the Web 2.0 infrastructure.      Two major ones are REST and SOAP.</span><span style="font-size: 10pt; font-family: Verdana"> <br /></span></li></ol>    <ol style="margin-top: 0in"><ol style="margin-top: 0in"><li style="margin-bottom: 2pt; text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">REST (Representational State Transfer) indicates a       way to access and manipulate data on a server using the HTTP verbs GET,       POST, PUT, and DELETE.</span></li><li style="margin-bottom: 3pt; text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">SOAP involves posting XML messages and requests to a       server that may contain quite complex, but pre-defined, instructions for       it to follow.</span></li></ol></ol>    <p style="margin-left: 0.5in; text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">In both cases, access to the service is defined by an API. Often this API is specific to the server, but standard Web service APIs are also widely used (for example, when posting to a blog). <br /></span></p>  <ol style="margin-top: 0in"><li style="text-align: justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Folksonomies:</span></strong><span style="font-size: 10pt; font-family: Verdana"> Tags are      personalized labels for describing Web content &ndash; web pages, blog&rsquo;s, news      stories, photos, and the like. </span><span style="font-size: 10pt; font-family: Verdana">Collectively,      the set of tags adopted by a community to facilitate the sharing of content      is known as a folksonomy.</span><strong><em><span style="font-size: 10pt; font-family: Verdana"> <br /></span></em></strong></li></ol>      <p class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">Web 2.0 services share many <strong>attributes</strong>. But which create competitive advantage and prompt fast growth? By tracking the services that embrace Web 2.0, we can identify attributes that have made a difference. <br /></span></p>    <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">The </span><strong><span style="font-size: 10pt; font-family: Verdana">Foundation Attributes</span></strong><em><span style="font-size: 10pt; font-family: Verdana"> </span></em><span style="font-size: 10pt; font-family: Verdana">that enable the economics of Web 2.0, such as the <strong>network effect, the Long Tail and user contributed values</strong>, pre-date other attributes by several years and exist in many non-Web 2.0 services They allow services to scale efficiently to accommodate many customers. (e.g., email and bulletin boards). <br /></span></p>        <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">The <strong>Experience Attributes</strong> create unique service experiences like <strong>decentralization, co-creation, remixabilty and emergent systems</strong> that were undeliverable before Web 2.0. Users can tailor services and systems to create new, relevant experiences that meet their needs on their terms.</span> <br /></p>    <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">Earlier users of the phrase &quot;Web 2.0&quot; employed it as a synonym for &quot;Semantic Web,&quot; (The <strong>Semantic Web</strong> is an evolution of the World Wide Web in which information is machine processable (rather than being only human oriented), thus permitting browsers or other software agents to find, share and combine information more easily). and indeed, the two concepts complement each other. The combination of social-networking systems such as a Friend Of Friend (FOF) and XHTML Friends Network (XFN) works to with the development of tag-based, delivered through <a title="Blog" href="http://en.wikipedia.org/wiki/Blog">bogs</a> and Wikis, sets up a basis for a semantic web environment. <br /></span></p>  <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">I leave you with O reillys definition for As defined by </span><span style="font-size: 10pt; font-family: Verdana">O'Reilly<span /></span></p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana"><span> </span></span><span style="font-size: 11pt">&quot;<em>Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform. Chief among those rules is this: Build applications that harness network effects to get better the more people use them. (This is what I've elsewhere called 'harnessing collective intelligence.')</em>&quot;.</span><span style="font-size: 10pt; font-family: Verdana" /></p>      <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">&nbsp;</span><br />The Author Prakash T.C.is a Support Manager at <a href="http://www.binaryspectrum.com/">Binary Spectrum</a><span style="font-size: 10pt; font-family: Verdana" /></p>  <p class="MsoNormal"><span>&nbsp;</span></p>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2007/02/an_introduction_to_web_20.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2007/02/an_introduction_to_web_20.html</guid>
         <category></category>
         <pubDate>Sat, 10 Feb 2007 08:50:57 +1200</pubDate>
      </item>
            <item>
         <title>Software testing                                      Part 2</title>
         <description><![CDATA[<p><span><strong>Classic Testing Misconceptions and Mistakes:</strong></span></p><span><span><ol><li><span>Assumption that all defects in the software product have been detected</span></li><li><span>The assumption that he or she is <span>&nbsp;</span>capable of testing the program completely</span></li><li><span>The opinion that testing team is responsible for assuring quality</span></li><li><span>The opinion that the goal of testing is to find bugs only</span></li><li><span>Careless approach to the detection of major bugs </span></li><li><span>Negligence in reporting usability problems</span></li><li><span>Starting the testing phase too late (bugs detection, not bugs reduction)</span></li><li><span>Putting stress and load testing off to the last minute</span></li><li><span>Incomplete evaluation of the related project&rsquo;s documentation</span></li><li><span>Ignore testing of installation procedures </span></li><li><span>Failure in correctly identifying risk areas</span></li><li><span>Paying more attention to running tests than to designing them.</span></li><li><span>Not reviewing test designs.</span></li><li><span>Checking that the product does what it&rsquo;s supposed to do, but not that it doesn&rsquo;t do what it isn&rsquo;t supposed to do</span></li><li><span>Poor bug reporting</span></li><li><span>Attempting to automate all tests</span></li><li><span>Expecting to re-run all manual tests</span></li></ol><span><p><span><strong>Typical Tester&rsquo;s Mistakes:</strong></span></p><ol><li><div align="justify"><span>Assuming that the program works correctly. </span></div></li><li><div align="justify"><span>Unwillingness to document each and every error.</span></div></li><li><div align="justify"><span>Ignoring or even hiding the problem.</span></div></li><li><div align="justify"><span>Falling under influence of developers which pressurize the tester not to submit detected defects or to ignore existing intelligence about defects without adequate reasons.</span></div></li><li><div align="justify"><span>Attempting to have a &ldquo;not escalate&rdquo; attitude towards the developer.</span></div></li><li><div align="justify"><span>Insufficient attention to test planning.</span></div></li><li><div align="justify"><span>Writing defect reports about non existing problems.</span></div></li></ol><span><span><p><span><strong>An ideal tester should:</strong></span></p><ol><li><div><span>Possess software engineering skills (understanding the rules of software engineering, knowing computer programming and having operating system level knowledge). Often a tester needs to be an expert in a number of areas. </span></div></li><li><div><span>Possess a good knowledge of the application being tested.</span></div></li><li><div><span>Possess a considerable intelligence.</span></div></li><li><div><span>Possess a hyper-sensitivity to little things.</span></div></li><li><div><span>Be steady to chaos and pressure of development, management, as well as pressure of different circumstances.</span><span><li><div><span>Possess organizational skills.</span></div></li><li><div><span>Be skeptical, but not take hostile attitude.</span></div></li><li><div><span>Be capable of breaking the software without feeling any remorse. </span></div></li><li><div><span>Be self-sufficient and tough.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></div></li><li><div><span>Be a technology hungry. </span></div></li><li><div><span>Be honest.</span></div></li><li><div><span>Be capable to bring the bad news to developers and management.</span></div></li><li><div><span>Be patient &ndash; be ready to perform monotonous work during a long time.</span></div></li><li><div><span>Possess a flexible thinking.</span></div></li><li><div><span>Be capable of viewing the project from a global point of view.</span></div></li><li><div><span>Possess detective skills.</span></div></li><span><li><div><span>Possess strong communication skills which include.</span></div></li><ul><li><div><span>People skills</span></div></li><li><div><span>Tenacity</span></div></li><li><div><span>Capability to criticize and interpret the criticism correctly</span></div></li></ul><span>&nbsp;</span></span></span></div></li></ol><ol><span><span><span><span>The Author </span><span>Abdul Quddus is a Test Engineer</span><span> at <a href="http://www.binaryspectrum.com/">Binary Spectrum</a><strong><br /></strong></span></span><span></span></span></span></ol></span></span></span></span></span>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2007/01/software_testing_part_2.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2007/01/software_testing_part_2.html</guid>
         <category></category>
         <pubDate>Fri, 26 Jan 2007 10:59:34 +1200</pubDate>
      </item>
            <item>
         <title>Software Testing                                                       Part 1</title>
         <description><![CDATA[<h1>  </h1><p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Verdana">Software testing</span></strong></p>    <p align="justify" class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Verdana">The other day a friend asked me what a tester does. In other words what is software testing? What&rsquo;s a bug? What are the key terms associated with testing? This is a humble attempt to address these questions and initiate the uninitiated to the world of testing.</span></p><div align="justify">    </div><p align="justify" class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Verdana">Software Testing is a process of software analysis and defect detecting. It&rsquo;s the art (pun intended) of identifying as many defects as possible in order that they can be fixed. A Defect (bug) is the nonconformance to requirements or functional specification. It is something that does not correspond to valid Customer&rsquo;s expectations that are assumed but may be not described in product requirements.</span></p><div align="justify">    </div><p align="justify" class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Verdana">The Test Manager in conjunction with the Project Manager develops a Test Plan which describes what, when, how and who will be involved in the testing process. This basic document also describes a list of tested components, quality criteria and risks of testing, resources and graphs of testing, testing strategy and testing types test budget etc.</span></p><div align="justify">    </div><p align="justify" class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Verdana">The test lead/ senior test Engineer develops Test cases which is basically a set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.</span></p><p class="MsoNormal" style="text-align: justify">  </p><p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Classification of Testing Types:</span></strong></p>    <p align="justify" class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Verdana">Static Testing </span></strong><span style="font-size: 10pt; font-family: Verdana">is a process, which is used for verifying any work product in terms of code, requirements, functional specification, architecture and design documents, etc. Static testing is one of the most effective ways of defects detecting in the early stages of a product process. </span></p><div align="justify">    </div><p align="justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Dynamic Testing</span></strong><span style="font-size: 10pt; font-family: Verdana"> Dynamic testing consists of launching the program, running all functional modules and comparing the product&rsquo;s behavior with expected one using user interface.<strong> </strong></span></p><div align="justify">    </div><p align="justify" class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Verdana">Black box testing. </span></strong><span style="font-size: 10pt; font-family: Verdana">Testing software based on functional and business requirements at launching and operating it<strong> </strong>without knowledge of the internal structure or program source code. A tester tests a product so as an end-user would work with it<strong> </strong>at the time of its launch and operation. This method checks the proper working of all functions and whether they conform to functional requirements.<strong> </strong></span></p><div align="justify">    </div><p align="justify" class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Verdana">White box testing (</span></strong><strong><span style="font-size: 10pt; font-family: Verdana">glass box testing).</span></strong><span style="font-size: 10pt; font-family: Verdana"> The Tester uses his or her understanding of source code and accesses the code to develop and execute test cases. This method tests the architecture of the system. It tests the design and programming that goes into building system. White box testing is usually applied when application is not entirely assembled, but it&rsquo;s necessary to check each of the components, modules, procedures and sub-functions. </span></p><div align="justify">    </div><p align="justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Unit Testing. </span></strong><span style="font-size: 10pt; font-family: Verdana">This level of testing is usually carried out by the software developer to perform the testing of a separate module of the system. It may be a testing even of any particular part of the code (class).<strong> </strong></span></p><div align="justify">    </div><p align="justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Integration Testing. </span></strong><span style="font-size: 10pt; font-family: Verdana">Is the testing of various components of an application (in their integrated form) to determine if they function well together. Also, interactions between applications of big system can be checked with this type of testing. In this case this testing is known as Cross-product testing. Usually it is performed after unit and functional testing has been carried out. </span></p><div align="justify">    </div><p align="justify" class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Verdana">System Testing </span></strong><span style="font-size: 10pt; font-family: Verdana">refers to that type of testing which checks the operation of the system as a whole. It is usually associated with the testing of the functional as well as non-functional requirements of the system.<span>&nbsp; </span></span></p><div align="justify">    </div><p align="justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Functional testing</span></strong><span style="font-size: 10pt; font-family: Verdana"> is the process of attempting to find discrepancies between the program and its functional requirements or specifications. I<span>ts goals are</span></span><span style="font-size: 10pt; font-family: Tahoma"><span><span style="font-size: 10pt; font-family: Verdana" /></span></span></p><div align="justify"><ol><li><span style="font-size: 10pt; font-family: Tahoma"><span><span style="font-size: 10pt; font-family: Verdana">Defining defects in software product and its documenting</span></span></span><span style="font-size: 10pt; font-family: Tahoma"><span><span style="font-size: 10pt; font-family: Verdana" /></span></span></li><li><span style="font-size: 10pt; font-family: Tahoma"><span><span style="font-size: 10pt; font-family: Verdana">Determine if software meets its requirements as defined in the Software requirements Specification (SRS) and other relevant documents.</span></span></span><span style="font-size: 10pt; font-family: Tahoma"><span><span style="font-size: 10pt; font-family: Verdana" /></span></span></li><li><span style="font-size: 10pt; font-family: Tahoma"><span><span style="font-size: 10pt; font-family: Verdana">Take an objective decision about possibility of software product delivery to customer; the decision should be documented in test result report.<strong> </strong></span></span></span></li></ol></div>            <div align="justify"><strong><span style="font-size: 10pt; font-family: Verdana">Smoke Test </span></strong><span style="font-size: 10pt; font-family: Verdana">It is the first and the shortest test, which checks the basic functionality of software product. This test takes approximately 1-4 hours depending on program complexity, A smoke test helps the Test lead to take a decision as to whether to continue further testing or not.</span></div><div align="justify">&nbsp;</div><div align="justify">  <p class="MsoNormal"><span style="font-size: 8pt; font-family: Verdana">The Author </span><span style="font-size: 8pt; font-family: Verdana"><strong>Abdul Quddus</strong> is a Test Engineer</span><span style="font-size: 8pt; font-family: Verdana"> at <strong><a href="http://www.binaryspectrum.com/">Binary Spectrum</a></strong></span></p>&nbsp;  <br /></div>  ]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2007/01/software_testing_part_1.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2007/01/software_testing_part_1.html</guid>
         <category></category>
         <pubDate>Fri, 26 Jan 2007 10:16:14 +1200</pubDate>
      </item>
            <item>
         <title>Bluesnarfing</title>
         <description><![CDATA[<h2>  </h2><p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Introduction</span></strong></p><p align="justify"><strong><span style="font-size: 10pt; font-family: Verdana">Bluetooth </span></strong><span style="font-size: 10pt; font-family: Verdana">a short range wireless communication technology developed for use at home, office and Personal Area Networks. Over the years Bluetooth integration has been achieved in mobile phones, Personal Digital Assistants (PDAs) and other consumer devices. When blue tooth was conceived, an essential element of the technology was its requirement for a low expectation of end user technical ability and minimum levels of user setup and configuration for ease of use. This was adopted to ensure that widespread adoption and utilization of Bluetooth technology by the general public could be achieved</span></p><p align="justify">  </p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">A direct consequence of this requirement some users are not aware of the functionality Bluetooth offers and its potential for exploitation and in many cases leave the default settings on their devices unchanged. Bluetooth enabled devices are vulnerable to exploitation using a range of methods including Bluesnarf, Backdoor and Bluebug.</span></p><h3>  </h3><p style="text-align: justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Bluetooth vulnerabilities</span></strong></p><p style="text-align: justify" class="MsoNormal">  </p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">The use of Bluetooth technology to access restricted areas of a users&rsquo; device without their knowledge or approval for the purpose of capturing data e.g. contacts, images, lists of called missed, received or dialed, calendars, business cards and the device&rsquo;s International Mobile Equipment Identity (IMEI) is known as Bluesnarf. Bluesnarfing works by using the push profile of the Object Exchange protocol (OBEX) which is a built-in Bluetooth functionality for exchanging electronic business cards.</span></p><p style="text-align: justify" class="MsoNormal">  </p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">Instead of pushing a business card the Bluesnarf attack pulls using a &ldquo;get&rdquo; request looking for files with known names e.g. phonebook file (telecom/pb.vcf) or calendar file (telecom/cal.vcs). This vulnerability exists due to the manner in which the OBEX push profile was implemented in some of the early Bluetooth enabled phones, which did not require authentication from other Bluetooth devices attempting to communicate with it. Accessing information by Bluesnarfing was thought to only be possible if the users device is in &quot;discoverable&quot; or &quot;visible&quot; mode, but Bluesnarf attacks have being carried out on devices set to &ldquo;non-discoverable&rdquo; mode.</span></p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">To achieve this the Bluesnarfing software needs to address the device by its unique 48-bit Bluetooth device name. For example, uncovering the device name is possible using software applications such as RedFang. This application uses a brute-force approach to discover device addresses by systematically generating every possible combination of characters and recording those combinations which get a response. Fortunately this approach is time consuming, potentially taking hours of computation.</span></p><h3>  </h3><p style="text-align: justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Verdana">Current scenario</span></strong></p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">The subsequent release of the Bluetooth specification 1.2 has addressed this problem by adding an anonymity mode that masks a device&rsquo;s Bluetooth physical address. In addition a major privacy concern related to this type of attack is the possibility of obtaining the IMEI of a device which can then be utilized to uniquely identify a phone on a mobile network and could also be used in illegal phone cloning. This could give someone the ability to use a cloned subscriber identity module (SIM) card to track a mobile device and by inference the user carrier without their knowledge. Recent firmware upgrades have corrected this problem but many phone owners have not installed them</span></p><p style="text-align: justify" class="MsoNormal">  </p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">Nokia the World leading Mobile phone manufacturer recently made this announcement &ldquo;</span><span style="font-size: 10pt; font-family: Verdana">Nokia is aware of claims that there are security issues relating to malicious attempts by hackers to access another user&rsquo;s mobile device featuring Bluetooth technology, an act currently referred to as &ldquo;<strong>Bluesnarfing</strong>&rdquo;. Affected models include the Nokia 6310, 6310i, 8910, 8910i mobile phones. &ldquo;</span></p><p style="text-align: justify" class="MsoNormal">  </p><p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">Nokia recommends the following in order to </span><span style="font-size: 10pt; font-family: Verdana">prevent<strong> &ldquo;Bluesnarfing&rdquo;. </strong></span><span style="font-size: 10pt; font-family: Verdana">In public places, where phones with Bluetooth technology might theoretically be targets of malicious attacks, reliable ways to foil potential hackers are:</span></p>  <p class="MsoNormal"><span style="font-size: 11pt; font-family: NokiaSansWide-Regular">&nbsp;</span></p>  <ul style="margin-top: 0in"><li style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">To      set the device to &quot;hidden&quot; mode using the Bluetooth menu.      Personal devices like headsets can still connect to the phone, but      intrusion is much more difficult since the hacker will have to know or      guess the Bluetooth address before establishing a connection.</span></li></ul>  <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">&nbsp;</span></p>  <ul style="margin-top: 0in"><li style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Verdana">If      a user wants absolute security, they can simply &ldquo;switch off&rdquo; the Bluetooth      functionality of their mobile phone. This will not affect other      functionalities of the phone.</span></li></ul>  <p style="text-align: justify" class="MsoNormal">&nbsp;  </p><p class="MsoNormal"><strong><span style="font-size: 9pt; font-family: NokiaSansWide-Regular">Vivek GD </span></strong><span style="font-size: 9pt; font-family: NokiaSansWide-Regular">is Software developer with the Bluetooth software development team at <a href="http://www.binaryspectrum.com/">Binary spectrum.</a> </span></p>    <p style="text-align: justify" class="MsoNormal">&nbsp;</p>    <p style="text-align: justify" class="MsoNormal">&nbsp;</p>  <p style="text-align: justify" class="MsoNormal">&nbsp;</p><p>&nbsp;</p><p align="justify">&nbsp;</p>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2007/01/bluesnarfing.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2007/01/bluesnarfing.html</guid>
         <category></category>
         <pubDate>Thu, 25 Jan 2007 07:39:50 +1200</pubDate>
      </item>
            <item>
         <title>.Net versus J2EE</title>
         <description><![CDATA[<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">Here are some similarities, differences, advantages and disadvantages of architecting/developing applications in .NET over J2EE.To summarize these 2 <a title="Technology Unleashed" href="http://www.ashoktech.blogspot.com/">technologies</a> for a layman to understand would be:</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<strong>.NET</strong> &ndash; Relates to Productivity, Simplicity and &ldquo;Out-of-the-box&rdquo;.</span></p><p class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Arial">J2EE</span></strong><span style="font-size: 10pt; font-family: Arial"> &ndash; Relates to Flexibility, Complexity and &ldquo;Do-it-yourself&rdquo;.</span></p><ol><li class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Arial">To bring about a comparison with respect to the Architectural Philosophy, below are some of the points that have been identified:</span></strong></li></ol><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong>J2EE</strong></span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;J2EE was created to give something better and more scalable than CGI or CORBA and to help standardize pervasive enterprise technologies such as message oriented middleware (MOM). As such, J2EE had some - great hits in Servlets instead of CGI, <br />- lackluster - EJBs instead of CORBA Hence the J2EE is a result of a powerful but also very complex framework.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">Some of the big architectural advantages that one can enjoy when working on J2EE are the flexibility and the extensibility rendered by the J2EE API&rsquo;s, which leaves ample room for open source innovations. Another noted feature is that J2EE can run on any platform.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">Amidst all this a major concern would be the need for expensive application server to run its applications where they often add very little value relative to its license cost.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">J2EE has limitless options for implementation of domain models backed by object-relational and cross-enterprise integration tools.</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong>.NET</strong></span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The major architectural additions to the .NET Framework were:</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">The &quot;adoption&quot; of the Java language as C#.NET</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">S.O.A.P. (Simple Object Access Protocol) and its native support for OO-to-XML</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Re-design of VB into a VB.NET to make it, as Java/C# was, fully object oriented. </span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">The architectural advantages identified here is that the focus is on the developer and hence is easy to work with, it follows a simplified transition path from the client-server to the enterprise development model. But unlike J2EE where it is platform independent, .NET is restrained to just one platform.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">.NET has a harder time supporting database independent implementation of the domain model because of its less mature or mapping tools.</span></p><ol><li class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Arial">To bring about a comparison with respect to the Framework Components, below are some of the points that have been identified:</span></strong></li></ol><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong>.NET</strong></span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;The major architectural components of the .NET framework that most of the developers use are ASP.NET pages, plain objects written in some .NET language, ADO objects and Web Services.</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong>J2EE</strong></span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;J2EE design is heavily based on design and architectural patterns such as &quot;MVC - Model View Controller&quot;, Facade, Factory, Layers which makes it somehow more complex to understand to the uninitiated.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">In general, the most commonly used core components in J2EE are Servlets, JSP and JDBC for database access. These roughly correspond to &quot;code behind&quot;, ASP.NET and ADO.NET components in .NET.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">J2EE defines one or more sets of components for enterprise tasks that are not even defined in .NET. So in J2EE we have:</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">EJB for object remoting, message (as in MOM) processing and relational persistence</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">JMS for Message Oriented Middleware (MOM) abstraction</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">JDO for relational persistence</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">JCA for non-relational enterprise access</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">JAAS for security services and SSO abstraction and so on.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">Not very many people write their web apps using Servlets and JSP only. Most of the J2EE developers use either aging but widely popular Struts framework, official J2EE JSF web framework, more recent and innovative Spring MVC or WebWork, etc.</span></p><ol><li class="MsoNormal" style="text-align: justify"><strong><span style="font-size: 10pt; font-family: Arial">To bring about a comparison with respect to the Web Components, below are some of the points that have been identified:</span></strong></li></ol><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong>.NET</strong></span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;In general, ASP.NET is easy to work with; the tool support through Visual Studio product line is very good. There is also a very good set of components available for the common web development tasks.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">Its code behind concept is easy to understand and it is flexible enough to extend through smart use of design patterns. I like how ASP.NET manages to keep configuration files and application settings under control. Unlike J2EE, there are no verbose xml files for every little component you want to use. You specifically configure only special cases and exceptions.</span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">Another attractive feature is how Microsoft incorporated Atlas (their AJAX frameworks) into ASP.NET. Deployment of ASP.NET applications is very easy.</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Some of the concerns that have been identified with ASP.NET are:</span></p><p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">The increased risk of code replication which in other terms increases code duplication and could create a significant maintenance burden.</span></p><p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Addition of data binding objects, including query definitions into the ASP.NET pages itself.</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong>J2EE</strong></span></p><p class="MsoNormal" style="margin-left: 0.5in; text-align: justify"><span style="font-size: 10pt; font-family: Arial">Servlets came as a better, faster, more expressive replacement for then popular CGI-BIN. They are very POST/GET and HTTP parameters oriented. API is easy to work with but it is very bare. It could be categorized in the following procedural format:</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Request, Response, Session and Context.</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The advantages that are seen in its use are:</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Portability</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Extensibility</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Richness and Sophistication of available Value Add Open Source Frameworks</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Some of the issues that have been identified with J2EE are:</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Complexity of the deployment model</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Bareness of the core API</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Over-saturation with choices</span></p><p class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in; text-align: justify">&lt;!--[if !supportLists]--&gt;<span style="font-size: 10pt; font-family: Symbol"><span>&middot;<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span>&lt;!--[endif]--&gt;<span style="font-size: 10pt; font-family: Arial">Need for application server.</span></p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">&nbsp;The Author <strong>Hermon Peter</strong> is a Software Engineer at <a href="http://www.binaryspectrum.com/">Binary Spectrum</a>.</span></p>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/11/net_verses_j2ee.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/11/net_verses_j2ee.html</guid>
         <category></category>
         <pubDate>Thu, 16 Nov 2006 12:52:31 +1200</pubDate>
      </item>
            <item>
         <title>Bluetooth and J2ME</title>
         <description><![CDATA[  <p style="text-align: justify" class="MsoNormal">&nbsp;</p><p style="text-align: justify" class="MsoNormal">&nbsp;</p><p style="text-align: justify" class="MsoNormal">&nbsp;</p><p style="text-align: justify" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Arial">Mobile</span></strong><strong><span style="font-size: 10pt; font-family: Arial">..</span></strong><span style="font-size: 10pt; font-family: Arial"> </span></p>  <p style="margin-left: 0.5in; text-align: justify; text-indent: 0.5in" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Arial">Mobile</span></strong><strong><span style="font-size: 10pt; font-family: Arial">..</span></strong><span style="font-size: 10pt; font-family: Arial"> </span></p>  <p style="margin-left: 1.5in; text-align: justify; text-indent: 0.5in" class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Arial">Mobile</span></strong><strong><span style="font-size: 10pt; font-family: Arial">..</span></strong><span style="font-size: 10pt; font-family: Arial"> </span></p>  <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">&nbsp;</span></p>  <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">In today&rsquo;s scenario - a very common name, a technology which in recent years has seen growth in leaps and bounds. As the economics of demand set in, competition between the various Mobile Manufacturing companies hots up. Complementing all this is the new generations of competent mobile application developers, who are making their dream come true.</span></p>    <p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">The most commonly used mobile application development platforms are</span></p>  <ol><li><span style="font-size: 10pt; font-family: Arial"><span style="font-size: 10pt; font-family: Arial">Sun&rsquo;s Java 2 Platform Micro      Edition &ndash; J2ME, and</span></span></li><li class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">.NET Compact Framework (CF)</span></li></ol>      <p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">&nbsp;Both have their own advantages and disadvantages,</span></p>    <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial"><span>J2ME, which has been around for quite a while, is the platform of choice for the application developers, as it is beholds the same JAVA motto, &ldquo;Compile Once, Run Anywhere&rdquo; and this holds true for mobile application development. J2ME developers can write their code without worrying about cross-platform portability.</span></span></p>    <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">In recent years Microsoft has extended its .NET environment to the Windows operating system based mobile devices with the .NET Compact Framework (CF). .Net CF runs only on one operating system &ndash; Windows.</span></p>    <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">For the Mobile Application Developers, how do these two platforms measure up? What are the strengths and weaknesses, of each platform? And Last but not the least, which of these is the best suited platform for developing and deploying your mobile application? </span></p>      <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">To answer these questions lets examine Bluetooth &ndash; a very important emerging standard for wireless integration of small devices. It is said that the &ldquo;sky is the limit&rdquo; in terms of applications that will be available in the not so distant future. The JSR-82 specification standardizes a set of Java APIs to allow Java-enabled devices to integrate into a Bluetooth environment.</span></p>    <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">The Java Bluetooth API basically relies on the Java Generic Connection Framework (JGCF), which has been around for a long time. One of the main advantages is that the Bluetooth API can be made accessible for a broader range of systems as the technological advances occur.</span></p>    <p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial"><span>The Java APIs for Bluetooth defines two packages: </span></span></p>  <ol><li><span style="font-size: 10pt; font-family: Arial"><span style="font-size: 10pt; font-family: Arial">javax.bluetooth - for the core      Bluetooth API, and</span></span></li><li class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">javax.obex -for the Object      Exchange (OBEX) protocol.</span></li></ol>      <p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">All Bluetooth applications need these components for: </span><span style="font-size: 10pt; font-family: Arial"><span style="font-size: 10pt; font-family: Arial" /></span></p><ol><li><span style="font-size: 10pt; font-family: Arial">Stack initialization, </span></li><li class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">Device management, </span></li><li class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">Device discovery, </span></li><li class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">Service discovery, and </span></li><li class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">Communication.</span></li></ol>        <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial">As per the JSR 82 specifications, a Bluetooth system should have a Bluetooth Control Center (BCC). The BCC, is defined as the heart of a Bluetooth System, it allows a user or the OEM (Original Equipment Manufacturer) to define specific values for certain configuration parameters in a stack. In particular, it would be used in a stack initialization.</span></p>  <p style="margin-top: 6pt" class="Default"><span style="font-size: 10pt; font-family: Arial; color: windowtext">The API is intended to provide the following capabilities: </span></p>    <p style="margin-left: 0.25in; text-indent: -0.25in" class="Default"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Arial; color: windowtext"> <span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Arial; color: windowtext">1. Discover devices and services</span></p>  <p style="margin-left: 0.25in; text-indent: -0.25in" class="Default"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Arial; color: windowtext"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Arial; color: windowtext">2. Register services</span></p>  <p style="margin-left: 0.25in; text-indent: -0.25in" class="Default"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Arial; color: windowtext"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Arial; color: windowtext">3. Establish connections( it may be OBEX, L2CAP or RFCOMM) , and finally</span></p>  <p style="margin-left: 0.25in; text-indent: -0.25in" class="Default"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Arial; color: windowtext"><span><span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Arial; color: windowtext">4. Conduct these activities in a secure fashion </span></p>    <p style="text-align: justify" class="Default"><span style="font-size: 10pt; font-family: Arial; color: windowtext">The Mobile Information Device Profile (MIDP) is a specification which standardizes Java on embedded devices and is a part of Java Micro Edition Framework (J2ME framework). MIDP devices are expected to be the most prevalent class of devices to incorporate the above said specifications, and the specification allows for the coexistence of Bluetooth APIs and MIDP. This specification was developed under the Java Community Process, and is known as the JSR 82.</span></p>  <p style="text-align: justify" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial"><span>We conclude that the J2ME framework is, with its enriched Features, is one of the most widely used. Sun&rsquo;s J2ME wireless toolkit 2.2 has a Bluetooth simulator and also supports OBEX and is the basic available development Kit for J2ME applications.</span></span></p><p style="text-align: justify" class="MsoNormal">&nbsp;</p><p style="text-align: justify" class="MsoNormal">  </p><p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; font-family: Arial">The Author <strong>Somnath Das</strong> is a Software Engineer at <a href="http://www.binaryspectrum.com/">Binary Spectrum</a> .</span></p>  <p style="text-align: justify" class="MsoNormal">&nbsp;</p>    ]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/11/bluetooth_and_j2me.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/11/bluetooth_and_j2me.html</guid>
         <category></category>
         <pubDate>Thu, 16 Nov 2006 08:50:52 +1200</pubDate>
      </item>
            <item>
         <title>Top ten considerations while migrating from .Net 1.1 to .Net 2.0 Web Applications</title>
         <description><![CDATA[<p>&nbsp;</p><ol><li>Use the Web Project Conversion Wizard<br /></li><li>To ensure browser compatibility XHTML compliance has been enforced in .Net 2.0, one good idea would be to run your aspx pages through an XTHTML parser and fix any broken pages.<br /></li><li>If current .Net 1.x applications use AJAX framework, either convert them to ATLAS (preferred) or build applications with the corresponding AJAX 2.0 libraries.<br /></li><li>In usage of Object model calling a protected constructor directly is not allowed for security reasons, but calling through base constructor is permitted.<br /></li><li>You should consider Re-designing the entire layout to a Master page layout.<br /></li><li>Use more ATLAS components to reduce post back delays<br /></li><li>Re-visit pages that were cached to support Sql Notifications hence reducing rounds trips between database and application layers.<br /></li><li>Re-organize complex screens to use the new Wizard control.<br /></li><li>For more organized and easily maintainability of code convert the entire aspx codebase to partial classes.<br /></li><li>Use Site Navigation features of ASP.Net 2.0 to manage breadcrumbs with ease.</li></ol><p>&nbsp;</p><strong>Reference Links:<br /><br /></strong><p><a title="More on Migration" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/webprojectsvs05.asp" target="_blank">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/webprojectsvs05.asp</a></p><p><a title="More on Migration" href="http://msdn2.microsoft.com/en-us/library/ms379587.aspx" target="_blank">http://msdn2.microsoft.com/en-us/library/ms379587.aspx</a></p>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/10/top_ten_considerations_while_m.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/10/top_ten_considerations_while_m.html</guid>
         <category></category>
         <pubDate>Mon, 02 Oct 2006 08:05:47 +1200</pubDate>
      </item>
            <item>
         <title>piconet... bluetooth at its best</title>
         <description><![CDATA[<p>You might have heard a lot about bluetooth, but apart from sending files from one cell phone to another or to another computer, has anyone used it for any other purposes?&nbsp; Well piconet is one such thing that has been really picking up and has unleashed the best use of bluetooth devices and technology.</p><p>&quot;Piconet&quot; is a combination of the prefix &quot;pico,&quot; meaning very small or one trillionth, and network.</p><p>Piconet is a network of devices connected in an adhoc fashion using Bluetooth technology. A piconet is formed when at least two devices, such as a portable PC and a cellular phone, connect. When a piconet is formed, one device acts as the master while the others act as slaves for the duration of the piconet connection. Also called as PAN, a piconet can support up to eight devices.</p>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/08/piconet_bluetooth_at_its_best.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/08/piconet_bluetooth_at_its_best.html</guid>
         <category></category>
         <pubDate>Fri, 11 Aug 2006 19:34:08 +1200</pubDate>
      </item>
            <item>
         <title></title>
         <description><![CDATA[<h1><span>Unwire yourself with Bluetooth technology</span></h1><h2><span>Introduction</span></h2><span>With the advent of powerful electronic devices which have rich computing power and communication features the need for ubiquitous and seamless integration has arisen enormously. An average successful individual uses mobile phone for sending and receiving SMS, storing pictures and contact information while having a laptop or computer at home. Needless to talk about the gadgets used by senior management folks and IT professionals. All this has lead to the need to have a limitless and boundless integration of these devices and a common mechanism to do so. The challenge for achieving this is the capability of doing it in an individualized manner without the involvement of any infrastructure overheads. The answer lies in Bluetooth technology which is named after the 10<sup>th</sup> century Danish king Herald Bluetooth, who united Denmark and Norway </span><span>bringing peace that lasted 25 years</span><span>. Ericsson, the mobile devices and telecom giant which invented the Bluetooth technology inspired from the Danish king and named this technology after him, which is aptly aimed at uniting the computing and telecommunications world. <br /></span><span>Let us try and understand what this technology is all about and how does it work.</span><strong><span>&nbsp;</span></strong> <h2><span>About the technology</span></h2><p><strong><span>Bluetooth</span></strong><span> is an industry standard&mdash;an open source specification available for developers to change and enhance&mdash;for short-range digital radio. It is designed to operate in the unlicensed radio spectrum known as the Industrial - Scientific - Medical (ISM) band, which is generally available in most parts of the world. <br /></span></p><p><span>Bluetooth allows a variety of devices&mdash;not only conventional PCs, laptops, mobile phones and peripherals, but also PDAs (Personal Digital Assistants) and other next-generation emerging portable devices&mdash;to communicate without cables or hard wiring. It is being dubbed as the next generation communication interoperability mechanism which will touch and change the lifestyle of the masses.<span>&nbsp;</span></span></p><p><span><span><a href="http://binaryspectrum.com/clients/case-studies/rtos.html"><strong>Read more</strong></a>&nbsp;</span></span></p><img height="1" alt="1" src="http://geo.yahoo.com/serv?s=76001524&amp;t=1154530757&amp;f=p3w12" width="1" border="0" />]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/08/unwire_yourself_with_bluetooth.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/08/unwire_yourself_with_bluetooth.html</guid>
         <category></category>
         <pubDate>Fri, 11 Aug 2006 01:49:04 +1200</pubDate>
      </item>
            <item>
         <title>What is the difference between Web Servers and Application Servers?</title>
         <description><![CDATA[<strong>A web server is a light weight service designed to support static content with different MIME types.<br /><br /></strong><strong>Web servers support browser based clients with published content and of course provide the required security cover. However this definition has expanded over a period of time.<br /></strong><strong><br />Web Servers have graduated to provide users with the ability to support plug-ins&nbsp; what&nbsp;are called as Web Components like ASP, JSP, Servlets, CGI...Etc which brings&nbsp;Web Servers&nbsp;close to what an Application Server is designed&nbsp;for, to support transactions and dynamic content.<br /></strong><strong><br />But the difference is still very obvious;&nbsp;while Application Servers provide enterprise level <a title="Business" href="http://www.binaryspectrumhealth.blogspot.com/">business </a>services such as </strong><ul><li><strong>Session Management<br /></strong></li><li><strong>Distributed Protocol support such as JRMI or JMS<br /></strong></li><li><strong>Messaging Services<br /></strong></li><li><strong>Persistence management<br /></strong></li><li><strong>Transaction Management...etc<br /></strong></li></ul><strong><p><a href="http://www.binaryspectrum.com/">&nbsp;Read more</a></p></strong><strong><p>&nbsp;</p></strong><strong><p>&nbsp;</p></strong>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/08/what_is_the_difference_between.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/08/what_is_the_difference_between.html</guid>
         <category></category>
         <pubDate>Wed, 09 Aug 2006 03:46:37 +1200</pubDate>
      </item>
            <item>
         <title>SOA Architecture – Pros and Cons</title>
         <description><![CDATA[<p></p><p><strong>Service Oriented Architecture is a collection of web services, at times I begin to wonder why it is so overplayed and over hyped, the reality is not all that rosy.<br /></strong></p><p><strong>From an Architects perspective, you really need to ask yourself the real questions that matter instead of going over board with SOA.<br /></strong><strong><br />Service Oriented Architecture is great, it reduces integration costs dramatically, simple to implement and is scalable.<br /></strong><strong><br />What about performance?<br /></strong><strong><br />With little development experience with XML I am sure you figure that XML is resource intensive over a binary format to communicate between the layers of the system. <br /></strong><strong><br />Hence it would be a lot more optimal to use SOA selectively based on the overall requirement of the system instead of making the entire system SOA based.<br /></strong></p><strong><p><a href="http://www.binaryspectrum.com/">Read more</a></p></strong>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/08/soa_architecture_pros_and_cons.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/08/soa_architecture_pros_and_cons.html</guid>
         <category></category>
         <pubDate>Wed, 09 Aug 2006 02:12:46 +1200</pubDate>
      </item>
            <item>
         <title>Using Windows Fax Service to Send Fax using C#</title>
         <description><![CDATA[<span style="font-size: 85%; font-family: verdana">In todays world, while building an applicaiton you might run into scenarios where you need to send a Fax from the application. And to a certain extent this is very much required, because i would not want take a print out and go to a fax machine to send a fax. Why cant it be sent from my application?<br /><br /><a title="Read More &gt;&gt;" href="http://binaryspectrum.com/knowledge_bank/send_fax_using_CSharp.htm" target="_blank">Read More &gt;&gt;</a></span>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/05/using_windows_fax_service_to_s_1.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/05/using_windows_fax_service_to_s_1.html</guid>
         <category></category>
         <pubDate>Tue, 30 May 2006 17:30:45 +1200</pubDate>
      </item>
            <item>
         <title>  Relevance of Distributed Programming</title>
         <description><![CDATA[<h5>Distributed programming&nbsp;over time&nbsp;has been ignored in most implementations&nbsp;due to lack of skill in most development companies.</h5><h2><span>Benefits of Distributed Programming</span></h2><ol><li><h5>Resource management is very efficient.</h5></li><li><h5>Risks are considerably reduced.</h5></li><li><h5>Scalability to different platforms and databases.</h5></li><li><h5>Increases focus on the core business requirements.</h5></li><li><h5>Performance of the system improves dramatically.</h5></li><li><h5>Highly configurable.<br /></h5></li></ol><h2><span>Drawbacks of Distributed programming</span></h2><h5><span>&nbsp;&nbsp;&nbsp;The experience of developers and skill requirement is a bottleneck. <strong><h6><br />&nbsp;</h6></strong></span></h5>]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/05/relevance_of_distributed_progr.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/05/relevance_of_distributed_progr.html</guid>
         <category>Enterprise Computing</category>
         <pubDate>Tue, 30 May 2006 16:49:13 +1200</pubDate>
      </item>
            <item>
         <title>Ajax!!</title>
         <description><![CDATA[A lot of talking about AJAX is taking place here and there; AJAX is the acronym of &quot;Asynchronous JavaScript and XML&quot;, a technology based on XMLHttpRequest, which is now supported by all main browsers. The basic idea is quite simple - and not actually a breakthrough - but it allows updating a page following a server request, without reloading the entire set of data. Some examples can be found on GMail or Google Suggest. For additional information about AJAX, you can see Wikipedia.]]></description>
         <link>http://binaryspectrum.com/geeksatwork/2006/04/ajax.html</link>
         <guid>http://binaryspectrum.com/geeksatwork/2006/04/ajax.html</guid>
         <category>Ajax</category>
         <pubDate>Wed, 26 Apr 2006 09:37:50 +1200</pubDate>
      </item>
      
   </channel>
</rss>
