<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns: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'><id>tag:blogger.com,1999:blog-2212733856638163184</id><updated>2026-08-06T07:14:40.075-07:00</updated><category term="Microsoft"/><category term="Visual Studio"/><category term="Google"/><category term="Open Source"/><category term="FireFox"/><category term="IE vs FireFox"/><category term="Internet Explorer"/><category term="Mozilla"/><category term="Yahoo"/><category term="Explorer"/><category term="IE"/><category term="SQL"/><category term="YouTube"/><category term="ASP"/><category term="ASP.Net"/><category term="Bing searches"/><category term="Browser"/><category term="C#"/><category term="CodeRush"/><category term="Data"/><category term="Debuging"/><category term="Exchange Server"/><category term="Facebook partnered"/><category term="GDrive"/><category term="HTML"/><category term="Login Data"/><category term="OneCare"/><category term="OpenOffice"/><category term="SQL Server"/><category term="Saas"/><category term="Samba"/><category term="Security"/><category term="Social networking"/><category term="Translator"/><category term="Trends API"/><category term="Vista"/><category term="Web"/><category term="XBox"/><category term="bing"/><category term="facebook"/><category term="location based"/><title type='text'>Technology Post</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-9096987765208578607</id><published>2011-02-24T23:53:00.000-08:00</published><updated>2011-02-24T23:59:00.247-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bing"/><category scheme="http://www.blogger.com/atom/ns#" term="Bing searches"/><category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Facebook partnered"/><category scheme="http://www.blogger.com/atom/ns#" term="location based"/><category scheme="http://www.blogger.com/atom/ns#" term="Social networking"/><title type='text'>Bing in now with Facebook results</title><content type='html'>Social networking is global and the present style now. It&#39;s all saturating grip has now extended to search engines too. Google already has a social search with Twitter combined into its results, but what&#39;s missing is Facebook in the social search ground. Though, it isn&#39;t for long because Facebook has partnered with Microsoft and the coalition see&#39;s Facebook &quot;Liked Results&quot; being integrated into Bing searches.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Microsoft&#39;s Bing team blog explains how it works:&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&quot;While we are very excited to talk about our next development, we&#39;re all aware that it&#39;s all part of a longer journey. This is the first time in human history that people are leaving social traces that machines can read and learn from, and present enhanced online experiences based on those traces. As people spend more time online and integrate their offline and online worlds, they will want their friends&#39; social activity and their social data to help them in making better decisions. Integrating with Twitter data 16 months ago was one step, and exploring Facebook&#39;s rich streams is another.&quot;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;For those worried about privacy, only the publicly liked links will be available on the search engine, but that still leaves the chance of undesirable likes by friends being included in the links. However, that is a debatable point because the whole point of friend system is to have people you trust. Moreover, Bing mentions that not all Facebook &quot;Liked Results&quot; will not show up in searches. The partnership harks to a new trend of the social foray of the two players in the search engine market.&lt;br /&gt;&lt;br /&gt;The sum of &quot;liked results&quot; you get on Bing logically depends on the number of friends you have on Facebook and how frequently those friends &quot;like&quot; things. &lt;br /&gt;&lt;br /&gt;Last week, Bing also released an updated version of its toolbar. The search engine also recently got location-based and more personalized search results.</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/9096987765208578607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/9096987765208578607' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/9096987765208578607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/9096987765208578607'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2011/02/bing-in-now-with-facebook-results.html' title='Bing in now with Facebook results'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-3962227887120458190</id><published>2009-09-01T11:45:00.000-07:00</published><updated>2009-09-02T12:04:38.430-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Microsoft Announces Visual Studio 2010</title><content type='html'>Microsoft&#39;s development environment offers new tools for Agile development, software testing enhancements and improved support for cloud computing. Microsoft showed us a sneak peek, and we invited developers to chime in with their feedback&lt;br /&gt;&lt;br /&gt; Microsoft is offering a first look at the next version of its Visual Studio integrated development environment (IDE) and platform, which will be named Visual Studio 2010 and the .Net Framework 4.0. There&#39;s a lot promised in the new release (expected to ship, duh, in 2010), from improved software testing tools to software engineering modeling capabilities to integrated development and database functions for the application lifecycle management (ALM).&lt;br /&gt;&lt;br /&gt;I could bulk that up with a lot more feature buzzwords, but the bottom line is that Microsoft is putting its attention on improving Visual Studio for the benefit of every one of its users—from the CIO to the software architect to the enterprise developer to the software testing team. I was given an overview of some of these new-and-improved features, particularly in Visual Studio Team System 2010 (VSTS, code-named Rosario) by Dave Mendlen, Microsoft&#39;s director of developer tools, and Cameron Skinner, VSTS product unit manager.&lt;br /&gt;Visual Studio 2010, Assemblies&lt;br /&gt;Assemblies (Image supplied by Microsoft)&lt;br /&gt;&lt;br /&gt;But it would be too easy to simply report on vendor promises and rely on my own jaded programmer-meets-journalism background. With Microsoft&#39;s permission, I shared some of the product details with experienced programmers and software quality assurance professionals, so you can learn how the software developers in your shop may respond to the new software (or at least, to its promises based on demo-ware).&lt;br /&gt;Essential Business Reasoning Cause of Offshoring IT&lt;br /&gt;Sponsored by CIO and IBM&lt;br /&gt;&lt;br /&gt;A key goal in VSTS 2010, says Microsoft, is to help democratize ALM by bringing all members of a development organization into the application development lifecycle, and remove many of the existing barriers to integration.&lt;br /&gt;&lt;br /&gt;One way that Visual Studio 2010 will do this is to break down the ALM roles, from the business decision maker (who needs a project overview but doesn&#39;t want to be bogged down in details) to the lead developer or system architect (who enables the software infrastructure and draws the blueprint), to the developer who writes the code and the database administrator (DBA) who integrates it with the company database to the testers (who make sure the software is of high quality).&lt;br /&gt;&lt;br /&gt;For the IT manager or CIO, says Mendlen, VSTS will give clarity and visibility into the state of the project throughout the lifecycle, using Team Foundation Server-enabled dashboards customized for her role. The dashboard can answer high level questions such as ongoing project cost or project status.&lt;br /&gt;Agile Tools, Built-In&lt;br /&gt;&lt;br /&gt;Visual Studio 2010 also will sport features to integrate Agile methodologies into the tech stack using Team Foundation Server. Skinner explains, &quot;We&#39;ll include in the [VSTS] box an Excel workbook for teams that are leveraging, say, the Scrum process so they can get burndown from their project.&quot; These features, he says, will let Agile teams track daily progress, see projects broken down into iterations and use sprints.&lt;br /&gt;UML 2.1.1 sequence diagram in Visual Studio 2010&lt;br /&gt;The result of right-clicking on a method in the VS text editor, selecting &quot;Generate Sequence Diagramâ¬¦&quot;. A UML 2.1.1 sequence diagram depicting the call chain originating from the selected method. (Image supplied by Microsoft)&lt;br /&gt;&lt;br /&gt;Skinner and Mendlen are obviously very proud of Microsoft&#39;s investments around modeling, pointing to the company&#39;s recent membership in the Object Management Group and their work to advance design tools with UML. They aim to take these software engineering efforts further. &quot;Tools for architects have traditionally been designed for that population,&quot; says Mendlen, &quot;But they could be useful across the lifecycle. One place we think that&#39;s very valuable is for developers.&quot;&lt;br /&gt;&lt;br /&gt;So in this upcoming Visual Studio Team System, an &quot;architecture explorer&quot; tool will let the user interrogate the code base and graphically display its architecture, including the relationships in the code and their dependencies. Microsoft hopes this feature will help developers see what their code really looks like (not just what they imagined). While this feature will obviously be valuable for iterative development and debugging purposes, it also will help a developer who inherits a project and needs to figure out its design. If it works as promised, it might help save a developer a pizza-and-Jolt fueled weekend spent wondering, &quot;What the heck is this F variable supposed to be doing?&quot;&lt;br /&gt;&lt;br /&gt;&quot;I love the idea of the architecture map for inherited projects that are not well-documented,&quot; comments Julia Lerman, .Net Mentor and author of O&#39;Reilly&#39;s Programming Entity Framework .&quot;Or better yet, when I return to an old project that I wrote for my own personal use and didn&#39;t bother to document very well.&quot;&lt;br /&gt;&lt;br /&gt;Cory Foy, a development manager from Tampa, is a little less thrilled by the promised architectural validation features. &quot;This has been somewhat available in the Team Edition for Architects,&quot; he says, but &quot;I&#39;ve known very few teams who have bothered,&quot; Foy says. &quot;The concept is wonderful sounding, especially to a CIO or development manager: Draw a diagram of your data center, of your deployment, of your application and of your architecture—and you can magically &#39;validate&#39; that everything will work when deployed,&quot; he explains.&lt;br /&gt;&lt;br /&gt;In practice, however, even when teams go through all of that effort, someone has to maintain all of those diagrams, Foy says. &quot;They typically fall out of sync rather quickly, and just as quickly get abandoned. Until there are ways of automatically keeping those things in sync (datacenter machines report out what they have, applications report what they need based on dependencies, deployment diagrams are generated from build scripts, and architectures are created based on code), and all of this is automated as part of the build/continuous integration process) I predict this either not being well adopted, or being a hindrance.&quot;&lt;br /&gt;&lt;br /&gt;The last release of Visual Studio had support for a continuous build process. Inspired in part by Agile methodologies, says Mendlen, &quot;We&#39;re taking it to the next level.&quot; The build process will have a customizable workflow engine, ensuring that, say, when a developer checks in her code, it goes to the architect. The build process can be tuned for the specific problem domain, Mendlen says.&lt;br /&gt;&lt;br /&gt;Part of that build process includes architectural validation. If the software specs say that the user interface code must not directly call the data layer, VSTS will be able to flag as an error any code that breaks that rule. New tools will help the development staff visually draw diagrams that describe the software&#39;s architecture, and map the physical assets to existing code. As part of the check-in policy, says Skinner, &quot;We&#39;ll tell if the code is abiding by those constraints&quot; and let the developers act on it appropriately. Just what a developer does about noncompliance is up to the development team leaders; besides, these architecture validation features are just as likely to identify design bugs as they are check-in noncompliance issues.&lt;br /&gt;&lt;br /&gt;&quot;The more that Microsoft is [enables] developers to engage in Agile techniques, right out of the box, the more adoption you&#39;ll see,&quot; opines Lerman. &quot;I&#39;ve witnessed this in the .Net user group I lead. Once unit testing was embedded into VS2008 Professional, many members were suddenly interested in learning how to test—even though tools like nUnit have been around and highly regarded for years.&quot; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.cio.com/article/451622/Microsoft_Announces_Visual_Studio_2010._Developers_Respond.&quot;&gt;Read More....&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/3962227887120458190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/3962227887120458190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/3962227887120458190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/3962227887120458190'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2009/09/microsoft-announces-visual-studio-2010.html' title='Microsoft Announces Visual Studio 2010'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-6045544930036524135</id><published>2009-08-27T23:16:00.000-07:00</published><updated>2009-08-28T03:07:28.202-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>How to set the Cursor of a TextBox</title><content type='html'>When I tried to do this work, i thought it will be a peace of cake :)  in fact it is not a difficult ask. The main problem is that Visual studio does not show &quot;Style&quot; property in TextBox Control, so no worries just put the style property with this way&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:TextBox ID=&quot;txtbox1&quot; runat=&quot;server&quot; TextMode=&quot;MultiLine&quot; Style=&quot;cursor:hand&quot; /&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/6045544930036524135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/6045544930036524135' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/6045544930036524135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/6045544930036524135'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2009/08/how-to-set-cursor-of-textbox.html' title='How to set the Cursor of a TextBox'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-8228585242333332402</id><published>2009-08-11T11:56:00.000-07:00</published><updated>2009-09-02T11:59:30.029-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CodeRush"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Visual Studio(R) IDE Productivity Tools -- Announcing the Newest Version of CodeRush v2009 vol 2</title><content type='html'>DevExpress Technologies for Visual Studio Help You Build Your Best, Reduce the Amount of Code You Write, Increase Your Productivity, and Create Stunning Applications for Windows and the Web in the Shortest Possible Time.&lt;br /&gt;&lt;br /&gt;CodeRush for Visual Studio® .NET helps you create sophisticated code blocks in seconds and extend code templates instantly. CodeRush completes identifiers as you type and expand or contract selections logically. With CodeRush, you will be able to instantly place selected code inside Try/Catch blocks, Regions and your own custom wrappers with ease. You can even reverse the logic of selected code and revisit important points within your code instantly (and effortlessly swap between locations). &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://dotnet.sys-con.com/node/1086421&quot;&gt;Read More...&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/8228585242333332402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/8228585242333332402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/8228585242333332402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/8228585242333332402'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2009/08/visual-studior-ide-productivity-tools.html' title='Visual Studio(R) IDE Productivity Tools -- Announcing the Newest Version of CodeRush v2009 vol 2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-9175099284979532035</id><published>2008-07-26T01:11:00.000-07:00</published><updated>2008-07-26T01:12:37.070-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>&quot;Squiggles&quot; for C#</title><content type='html'>Since the beginning VB.NET has had a background compiler that gave developers real-time feedback on compiler errors, continuously updated code-completion data, and a host of other features. The downside of this is that it could not be turned off, too many features relied on always having that data. C#, on the other hand, has been limited to syntax checking and a code completion that is fully updated only at compile time.&lt;br /&gt;&lt;br /&gt;This isn&#39;t however what Microsoft intended. Since before VS 2005, the C# team has been trying to find the time to catch up to the VB team. With Live Semantic Errors, also known as &quot;Squiggles&quot;, they have finally started to do so.&lt;br /&gt;&lt;br /&gt;One of the reasons it took so long is that prior to VS 2008, Visual Studio didn&#39;t use the real C# compiler for normal operations such as syntax checking. That was handled instead by a lightweight pseudo-compiler specifically designed for that purpose. With 2008&#39;s Language Analysis Framework, VS can now communicate with the real compiler.&lt;br /&gt;&lt;br /&gt;By Jonathan Allen&lt;br /&gt;&lt;br /&gt;According to an interview with DJ Park, only files currently open in the IDE will be analyzed. This suggests that changes to an open file that creates errors in other files will not be detected until compile time.&lt;br /&gt;&lt;br /&gt;While scheduling demands prevented releasing this in VS 2008, it will be included in Service Pack 1.</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/9175099284979532035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/9175099284979532035' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/9175099284979532035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/9175099284979532035'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/squiggles-for-c.html' title='&quot;Squiggles&quot; for C#'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-7522805729432828434</id><published>2008-07-26T01:07:00.000-07:00</published><updated>2008-07-26T01:09:17.990-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Rumor: SQL Server 2008 to arrive July 31, 2008</title><content type='html'>Microsoft SQL Server is a relational database management system that uses Transact-SQL as its primary query language. The latest version of the Microsoft database platform is Microsoft SQL Server 2005 SP2, but Microsoft has been working on Microsoft SQL Server 2008 (overview), previously codenamed Katmai, for a while now.  It is planning to release it sometime during the third quarter of this year; according to a new rumor, the precise date that version 2008 will be released is July 31, 2008:&lt;br /&gt;&lt;br /&gt;  But I was talking to a Microsoft representative the other day regarding implementation of Dynamics AX 2009 and we are eager to use SQL 2008 in this deployment to take advantage of the database compression that will give great improvements regarding throughput, scalability and response time. I was then told that the scheduled release date now is 31 July. Any followup up questions regarding the release date of SQL 2008 was answered with the usual; &quot;I don&#39;t know, I can not say&quot;&lt;br /&gt;&lt;br /&gt;Currently, the latest build is RC0 (released in early June). Microsoft&#39;s official stance is of course still &quot;third quarter of 2008,&quot; and further questioning always leads to &quot;when it&#39;s ready,&quot; which means we can get it in the next six days, sometime in August, or even on September 30, 2008—and one should never rule out the possibility of a delay. The new version has already appeared on the August price list (pricing is the same as the previous version) but this does not necessarily mean that we&#39;ll see it in August. As we keep playing the guessing game, the real date only keeps getting closer, and if I were to wager, I would say it&#39;s coming sooner rather than later.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By Emil Protalinski</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/7522805729432828434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/7522805729432828434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/7522805729432828434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/7522805729432828434'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/rumor-sql-server-2008-to-arrive-july-31.html' title='Rumor: SQL Server 2008 to arrive July 31, 2008'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-5996026524019585941</id><published>2008-07-14T14:58:00.000-07:00</published><updated>2008-07-14T14:59:35.343-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="YouTube"/><title type='text'>YouTube Adding Geosearch</title><content type='html'>&lt;span name=&quot;intelliTxt&quot; id=&quot;intelliTXT&quot;&gt;&lt;p&gt;&lt;img alt=&quot;youtube.JPG&quot; src=&quot;http://www.appscout.com/images/youtube.JPG&quot; height=&quot;242&quot; width=&quot;350&quot; /&gt;&lt;/p&gt;  &lt;p&gt;Since its inception in 2005, YouTube has pretty much dominated the Internet airwaves. This has led to two things: &quot;YouTube&quot; being added to the daily verb lexicon, (&quot;Did you YouTube your new video?&quot;) and an enormous amount of content. While we can&#39;t do anything about brand names being used as verbs (but really, you can quit Googling yourself every five minutes), YouTube is attempting to make the search through the tens of millions of YouTube videos a little easier when it rolls out geosearch.&lt;/p&gt;  &lt;p&gt;Geosearch will allow users to search for videos tagged to a certain location. Uploaders have been able to geotag their videos for over a year, but this is the first time that information will be applied to search results.&lt;/p&gt;  &lt;p&gt;Google Earth and Google Maps currently integrate a limited amount of YouTube functionality, but only a select number of videos are included. YouTube has indicated that the geotagging feature is currently in its beta stages but will be launched soon.&lt;/p&gt;&lt;/span&gt;&lt;span name=&quot;intelliTxt&quot; id=&quot;intelliTXT&quot;&gt;&lt;em&gt;Brittany Petersen.&lt;/em&gt;&lt;/span&gt;&lt;span name=&quot;intelliTxt&quot; id=&quot;intelliTXT&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/5996026524019585941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/5996026524019585941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/5996026524019585941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/5996026524019585941'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/youtube-adding-geosearch.html' title='YouTube Adding Geosearch'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-3302955288858679890</id><published>2008-07-14T14:48:00.000-07:00</published><updated>2008-07-14T14:54:59.023-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><title type='text'>Google Search Security Mistaken For Censorship</title><content type='html'>&lt;img src=&quot;file:///M:/DOCUME%7E1/Fawad/LOCALS%7E1/Temp/moz-screenshot.jpg&quot; alt=&quot;&quot; /&gt;&lt;a href=&quot;http://images.google.com.pk/imgres?imgurl=http://blog.wired.com/photos/uncategorized/2008/02/27/google.jpg&amp;amp;imgrefurl=http://blog.wired.com/business/2008/02/no-the-skys-not.html&amp;amp;h=352&amp;amp;w=500&amp;amp;sz=117&amp;amp;hl=en&amp;amp;start=38&amp;amp;um=1&amp;amp;tbnid=B_Q0DUSyeYEPyM:&amp;amp;tbnh=92&amp;amp;tbnw=130&amp;amp;prev=/images%3Fq%3Dgoogle%26start%3D36%26ndsp%3D18%26um%3D1%26hl%3Den%26sa%3DN&quot;&gt;&lt;img style=&quot;border: 1px solid ; width: 178px; height: 98px;&quot; src=&quot;http://tbn0.google.com/images?q=tbn:B_Q0DUSyeYEPyM:http://blog.wired.com/photos/uncategorized/2008/02/27/google.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google is known for its code of conduct -- &quot;Don&#39;t be evil&quot; -- as much as its computer code. But as the company has become a dominant force online, Google&#39;s detractors have become more willing to see evil in its actions, even when they&#39;re seeing things that aren&#39;t there.&lt;br /&gt;&lt;br /&gt;On Friday evening, the Web site of the Progress &amp;amp; Freedom Foundation was hit with a SQL injection attack that temporarily turned it into a malware distribution vector -- the injected script called out to a malicious third-party site that attempted to infect visitors&#39; computers with malware.&lt;br /&gt;&lt;br /&gt;Google has been automatically flagging malicious sites in its search results list for about two years and, upon detecting the hack at pff.org, its anti-malware code began adding a warning to search results listings for certain PFF pages.&lt;br /&gt;&lt;br /&gt;But because the warning applied to Web pages that contained documents expressing opposition to Net neutrality, a policy that Google supports, some saw politically motivated censorship.&lt;br /&gt;&lt;br /&gt;Google &quot;appears to be blocking a site which expresses opinions with which it does not agree...,&quot; said Brett Glass, owner of wireless ISP Lariat.net, in an e-mail sent to David Farber&#39;s Interesting People mailing list. &quot;When one does a search for the terms &#39;neutrality&#39; and &#39;site:pff.org&#39;... many of the pages and documents on the site -- in particular, white papers expressing views with which Google disagrees -- are tagged with a warning that &#39;This site may harm your computer.&#39;&quot;&lt;br /&gt;&lt;br /&gt;Glass didn&#39;t immediately respond to a request for comment. In previous e-mail messages and online posts, he has been critical of Net neutrality.&lt;br /&gt;&lt;br /&gt;As Google senior engineer Niels Provos and PFF visiting fellow Berin Michael Szoka explained in reply messages, there wasn&#39;t any political censorship. The PFF site was flagged as part of a technical process based on Google&#39;s anti-malware code. Sites that believe they have been unfairly or incorrectly labeled as having malware can appeal to StopBadware.org, which helps moderate potential disputes.&lt;br /&gt;&lt;br /&gt;&quot;Some of our critics are unfortunately quick to leap to political conclusions when a technical explanation is the answer,&quot; said Google spokesperson Adam Kovacevich.&lt;br /&gt;&lt;br /&gt;However, the political and technical appear to be destined to collide as Google&#39;s influence grows. Indeed, in many ways politics and technology have fused.&lt;br /&gt;&lt;br /&gt;Back in May, U.S. Sen. Joseph Liberman sent Google CEO Eric Schmidt an open letter seeking the removal of Islamic terrorist videos from YouTube. YouTube responded by saying it does remove videos that violate its terms of service, but that it would not remove &quot;legal nonviolent or non-hate speech videos.&quot;&lt;br /&gt;&lt;br /&gt;Outside the United States, in countries like China, for example, Google has been more willing to accommodate politically directed requests.&lt;br /&gt;&lt;br /&gt;And because of that, Google will find it hard to avoid being seen as a suspect when speech gets silenced, even when it has acted in good fait.&lt;br /&gt;&lt;br /&gt;Thomas Claburn</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/3302955288858679890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/3302955288858679890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/3302955288858679890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/3302955288858679890'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/google-search-security-mistaken-for.html' title='Google Search Security Mistaken For Censorship'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-1020172016739425621</id><published>2008-07-14T14:41:00.000-07:00</published><updated>2008-07-14T14:45:24.596-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="XBox"/><title type='text'>Microsoft&#39;s Xbox 360 takes off</title><content type='html'>&lt;center&gt;&lt;a href=&quot;http://latimesblogs.latimes.com/photos/uncategorized/2008/07/14/xbox3602_2.jpg&quot;&gt;&lt;img src=&quot;http://latimesblogs.latimes.com/photos/uncategorized/2008/07/14/xbox3602_2.jpg&quot; alt=&quot;Xbox 360 sponsors new soccer team&quot; title=&quot;Xbox 360 sponsors new soccer team&quot; class=&quot;image-full&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/center&gt;  &lt;p&gt;Over lunch, Microsoft executives fleshed out the Xbox/Netflix arrangement announced this morning at the video game industry&#39;s annual event, the E3 Media &amp;amp; Business Summit, here in Los Angeles.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;The Netflix/Xbox announcement is part of a battle being waged over which device and service will be the entertainment hub in people&#39;s homes. For those  who want to watch movies downloaded from the Internet on their TVs, having an Xbox will make it easier, executives said. (Netflix already has a partnership with a company it backed called Roku that sells a box that also streams video content from Netflix over the Internet and on to television sets). &lt;/p&gt;  &lt;p&gt;While Xbox Live online platform has had video content, Microsoft&#39;s partnership with Netflix, which built its business sending DVDs through the mail, will add 10,000 movies and TV shows. The Netflix service will be available free to people who pay for the premium Xbox Live Gold membership, which cost $50 a year, and who are also Netflix members. Microsoft said a majority of its 12 million Live members pay the annual fee but did not say exactly how many. &lt;/p&gt;  &lt;p&gt;Microsoft executives said they were continuing their PacMan-like gobbling of games, wooing developers who were once close allies with Sony&#39;s PlayStation platform.  &lt;/p&gt;  &lt;p&gt;On Monday, Microsoft added more friends to its lineup, including Capcom, which will bring its Resident Evil franchise for the first time to the Xbox. Also joining the Xbox lineup is Square Enix&#39;s Final Fantasy XXIII, a franchise that has shipped more than 85 million units. &lt;/p&gt;  &lt;p&gt;&quot;Final Fantasy joins a list of former PlayStation franchises finding a new home on Xbox 360,&quot; said Don Mattrick, Microsoft&#39;s senior vice president for interactive entertainment.  &lt;/p&gt;  &lt;p&gt;  Alex Pham&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/1020172016739425621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/1020172016739425621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/1020172016739425621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/1020172016739425621'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/microsofts-xbox-360-takes-off.html' title='Microsoft&#39;s Xbox 360 takes off'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-979836520266483322</id><published>2008-07-14T14:34:00.000-07:00</published><updated>2008-07-14T14:40:00.305-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Yahoo"/><title type='text'>Yahoo! Drama ....</title><content type='html'>&lt;p&gt;Not because the Microsoft chief executive is finally closing the Yahoo deal. Who knows if, how and when he&#39;ll untangle that hairball?&lt;/p&gt;  &lt;p&gt;The Yahoo drama is really a diversion from the real war that&#39;s going on between Microsoft and Google.&lt;/p&gt;  &lt;p&gt;All the attention on Carl Icahn and Jerry Yang is starting to feel like we&#39;re obsessing about &quot;American Idol&quot; finalists while a war rages in the Middle East.&lt;/p&gt;  &lt;p&gt;The bigger story is that Google and Microsoft are warring over which one will be the world&#39;s dominant software company. Yahoo&#39;s not a contender, it&#39;s materiel.&lt;/p&gt;  &lt;p&gt;It&#39;s in that war that Ballmer can claim a small but important victory Tuesday, when Google will be the focus of a hearing before the Senate subcommittee on antitrust, competition policy and consumer rights.&lt;/p&gt;  &lt;p&gt;The same committee in 1998 raked a cocksure Microsoft over the coals.&lt;/p&gt;  &lt;p&gt;Now the senators are concerned about Google providing ad services to Yahoo, and what that consolidation of market share means to the public and Internet advertising.&lt;/p&gt;  &lt;p&gt;Separately, the U.S. Department of Justice has started a formal investigation of the May partnership Google and Yahoo formed to thwart Microsoft&#39;s takeover attempt, The Washington Post reported.&lt;/p&gt;  &lt;p&gt;Was Ballmer&#39;s master plan to hang the antitrust albatross on Google?&lt;/p&gt;  &lt;p&gt;He claims to want Yahoo mostly so Microsoft&#39;s online businesses can quickly scale up. But Ballmer had to anticipate increased antitrust scrutiny of Google could be a positive outcome if Yahoo was pushed into an alliance.&lt;/p&gt;  &lt;p&gt;Microsoft is probably the world&#39;s most knowledgeable company when it comes to antitrust scrutiny.&lt;/p&gt;  &lt;div id=&quot;admiddle3left&quot;&gt;Not only has it learned the ropes in Washington, D.C., the hard way, it&#39;s also had painful lessons in the ways regulatory problems can gum up the works at a fast-moving technology company.  &lt;p&gt;You&#39;re not as nimble if you&#39;re second-guessing your moves and you have to run everything by lawyers first.&lt;/p&gt;  &lt;p&gt;One thing to watch for is whether the hearings and subpoenas discover more than just Google&#39;s big market share.&lt;/p&gt;  &lt;p&gt;Remember that Microsoft&#39;s monopoly wasn&#39;t the problem as much as the tactics it used in the 1990s to build and extend that position.&lt;/p&gt;  &lt;p&gt;Even if Google really does no evil, it would have been scrutinized eventually because of its dominance. It&#39;s approaching 70 percent of the U.S. search market share and 90 percent in the United Kingdom, according to Hitwise.&lt;/p&gt;  &lt;p&gt;Google had to know this was coming. In some ways it&#39;s a turnabout, since its chief executive, Eric Schmidt, previously worked for Sun Microsystems and Novell when they were fighting antitrust battles with Microsoft.&lt;/p&gt;  &lt;p&gt;Another thing to watch is how Google responds to the challenge.&lt;/p&gt;  &lt;p&gt;The company&#39;s collegial, democratic management style is already being tested by its growth.&lt;/p&gt;  &lt;p&gt;Now, with antitrust regulators poking around, Google managers have to be more cautious and consult more frequently with lawyers.&lt;/p&gt;&lt;p&gt;Fortunately for Google, many of its engineers and managers have been through this before, at Microsoft.&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/979836520266483322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/979836520266483322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/979836520266483322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/979836520266483322'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/yahoo-drama.html' title='Yahoo! Drama ....'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-4811987026490573485</id><published>2008-07-05T08:49:00.000-07:00</published><updated>2008-07-05T09:05:16.029-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="FireFox"/><category scheme="http://www.blogger.com/atom/ns#" term="IE vs FireFox"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Mozilla"/><title type='text'>IE vs FireFox : JavaScript differences</title><content type='html'>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;javascript_differences&quot;&gt;&lt;b&gt;&lt;span style=&quot;letter-spacing: 0.25pt;font-family:Arial;font-size:14;color:black;&quot;   &gt;JavaScript differences&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style=&quot;letter-spacing: 0.25pt;font-family:Arial;font-size:14;color:black;&quot;   &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Most differences between Mozilla and Internet Explorer are usually blamed on JavaScript. However, the issues usually lie in the APIs that a browser exposes to JavaScript, such as the DOM hooks. The two browsers possess few core JavaScript differences; issues encountered are often timing related.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;N103D2&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;&quot;&gt;JavaScript date differences&lt;/span&gt; &lt;b&gt;&lt;span style=&quot;;font-size:15;color:red;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;The only Date difference is the getYear method. Per the ECMAScript specification (which is the specification JavaScript follows), the method is not Y2k-compliant, and running new Date().getYear() in 2004 will return &quot;104&quot;. Per the ECMAScript specification, getYear returns the year minus 1900, originally meant to return &quot;98&quot; for 1998. getYear was deprecated in ECMAScript Version 3 and replaced with getFullYear(). Internet Explorer changed getYear() to work like getFullYear() and make it Y2k-compliant, while Mozilla kept the standard behavior.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;a name=&quot;N103FB&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;JavaScript execution differences&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Different browsers execute JavaScript differently. For example, the following code assumes that the div node already exists in the DOM by the time the script block executes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 64.54%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;64%&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 0in; width: 100%;&quot; width=&quot;100%&quot;&gt;&lt;pre&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;... &lt;/pre&gt;&lt;pre&gt;&amp;lt;div id=&quot;foo&quot;&gt;Loading...&amp;lt;/div&gt; &lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;script&gt; &lt;/pre&gt;&lt;pre&gt;  document.getElementById(&quot;foo&quot;).innerHTML = &quot;Done.&quot;; &lt;/pre&gt;&lt;pre&gt;&amp;lt;/script&gt; &lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;However, this is not guaranteed. To be sure that all elements exist, you should use the &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  &gt;onload &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;event handler on the &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  &gt;&lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt; tag:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 64.54%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;64%&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 0in; width: 100%;&quot; width=&quot;100%&quot;&gt;&lt;pre&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;body onload=&quot;doFinish()&quot;&gt; &lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;div id=&quot;foo&quot;&gt;Loading...&amp;lt;/div&gt; &lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;script&gt; &lt;/pre&gt;&lt;pre&gt;  function doFinish() { &lt;/pre&gt;&lt;pre&gt; &lt;span style=&quot;&quot;&gt;   &lt;/span&gt;var element = document.getElementById(&quot;foo&quot;);&lt;/pre&gt;&lt;pre&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;element.innerHTML = &quot;Done.&quot;; &lt;/pre&gt;&lt;pre&gt;  } &lt;/pre&gt;&lt;pre&gt;&amp;lt;/script&gt; &lt;/pre&gt;&lt;pre&gt;... &lt;/pre&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Such timing-related issues are also hardware-related -- slower systems can reveal bugs that faster systems hide. One concrete example is window.open, which opens a new window:  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;The problem with the code is that window.open is asynchronous -- it does not block the JavaScript execution until the window has finished loading. Therefore, you may execute the line after the &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:9;&quot;  &gt;window.open &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;line before the new window has finished. You can deal with this by having an &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:9;&quot;  &gt;onload &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;handler in the new window and then call back into the opener window (using &lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:9;&quot;  &gt;window.opener&lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot; class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;N10440&quot;&gt;Differences in JavaScript-generating HTML&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:11;&quot;&gt;JavaScript can, through document.write, generate HTML on the fly from a string. The main issue here is when JavaScript, embedded inside an HTML document (thus, inside an &amp;lt;script&gt; tag), generates HTML that contains a &amp;lt;script&gt; tag. If the document is in &lt;a href=&quot;http://www-128.ibm.com/developerworks/web/library/wa-ie2mozgd/#html_modes&quot;&gt;&lt;span style=&quot;text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;strict rendering mode&lt;/span&gt;&lt;/a&gt;, it will parse the &amp;lt;/script&gt; inside the string as the closing tag for the enclosing &amp;lt;script&gt;. The following code illustrates this best:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 0in; width: 100%;&quot; width=&quot;100%&quot;&gt;&lt;pre&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &lt;/pre&gt;&lt;pre&gt;  &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt; &lt;/pre&gt;&lt;pre&gt;... &lt;/pre&gt;&lt;pre&gt;&amp;lt;script&gt; &lt;/pre&gt;&lt;pre&gt;   &lt;/pre&gt;&lt;pre&gt;&amp;lt;/script&gt; &lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Since the page is in strict mode, Mozilla&#39;s parser will see the first &lt;script&gt; and parse until it finds a closing tag for it, which would be the first &lt;/script&gt;. This is because the parser has no knowledge about JavaScript (or any other language) when in strict mode. In quirks mode, the parser is aware of JavaScript when parsing (which slows it down). Internet Explorer is always in quirks mode, as it does not support true XHTML. To make this work in strict mode in Mozilla, separate the string into two parts: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 64.54%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;64%&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 0in; width: 100%;&quot; width=&quot;100%&quot;&gt;&lt;pre&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &lt;/pre&gt;&lt;pre&gt;  &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt; &lt;/pre&gt;&lt;pre&gt;... &lt;/pre&gt;&lt;pre&gt;&amp;lt;script&gt; &lt;/pre&gt;&lt;pre&gt;  document.write(&quot;&amp;lt;script&gt;&amp;lt;/&quot; + &quot;script&gt;&quot;) &lt;/pre&gt;&lt;pre&gt;&amp;lt;/script&gt; &lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; font-weight: bold;&quot;&gt;&lt;a name=&quot;N10482&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Debug JavaScript&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Mozilla provides several ways to debug JavaScript-related issues found in applications created for Internet Explorer. The first tool is the built-in JavaScript console, shown in Figure 1, where errors and warnings are logged. You can access it in Mozilla by going to Tools -&gt; Web Development -&gt; JavaScript Console, or in Firefox (the standalone browser product from Mozilla) at Tools -&gt; JavaScript Console.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/4811987026490573485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/4811987026490573485' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/4811987026490573485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/4811987026490573485'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/ie-vs-firefox-javascript-differences_05.html' title='IE vs FireFox : JavaScript differences'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-6730916461687153112</id><published>2008-07-04T10:14:00.000-07:00</published><updated>2008-07-05T09:09:30.428-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Browser"/><category scheme="http://www.blogger.com/atom/ns#" term="Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="FireFox"/><category scheme="http://www.blogger.com/atom/ns#" term="IE"/><category scheme="http://www.blogger.com/atom/ns#" term="IE vs FireFox"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Mozilla"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><title type='text'>IE vs FireFox</title><content type='html'>Even though Web standards do exist, different browsers behave differently (in fact, the same browser may behave differently depending on the platform). Many browsers, such as Internet Explorer, also support pre-W3C APIs and have never added extensive support for the W3C-compliant ones.&lt;br /&gt;&lt;br /&gt;When Netscape started the Mozilla browser, it made the conscious decision to support W3C standards. As a result, Mozilla is not fully backwards-compatible with Netscape Navigator 4.x and Microsoft Internet Explorer legacy code; for example, Mozilla does not support &lt;layer&gt;. Browsers, like Internet Explorer 4, that were built before the conception of W3C standards inherited many quirks(which provides strong backwards HTML compatibility with Internet Explorer and other legacy browsers).&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://technologypost.blogspot.com/2008/07/ie-and-firefox-dom-differences_05.html&quot;&gt;1 - DOM differences&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://technologypost.blogspot.com/2008/07/ie-vs-firefox-javascript-differences_05.html&quot;&gt;2 - JavaScript differences&lt;/a&gt;&lt;br /&gt;3 - CSS differences&lt;br /&gt;4 - XML differences&lt;br /&gt;5 - XSLT differences&lt;br /&gt;6 - Development Tools&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Click above topics to read more.</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/6730916461687153112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/6730916461687153112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/6730916461687153112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/6730916461687153112'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/ie-vs-firefox.html' title='IE vs FireFox'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-645708132058284330</id><published>2008-07-04T07:14:00.000-07:00</published><updated>2008-07-04T07:16:39.060-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Login Data"/><category scheme="http://www.blogger.com/atom/ns#" term="YouTube"/><title type='text'>Google wants logins cut from YouTube data</title><content type='html'>Google Inc., the owner of YouTube, said it&#39;s seeking to remove users&#39; login information from a database of all videos viewed on YouTube that it must turn over to Viacom Inc.&lt;br /&gt;&lt;br /&gt;A federal judge in New York presiding over Viacom&#39;s copyright infringement lawsuit against Google told the search-engine company this week to give Viacom its &quot;logging database&quot; containing records of every video viewed, the login name of the person who watched it, and the Internet address of the viewer&#39;s computer.&lt;br /&gt;&lt;br /&gt;Viacom, owner of Comedy Central and MTV Networks, wants the information to find out if YouTube viewers watch more copyrighted shows such as &quot;South Park&quot; and &quot;The Colbert Report&quot; than other videos in an effort to strengthen its $1 billion lawsuit against Google.&lt;br /&gt;&lt;br /&gt;&quot;We are disappointed the court granted Viacom&#39;s overreaching demand for viewing history,&quot; Catherine Lacavera, Google&#39;s senior litigation counsel, said yesterday. &quot;We will ask Viacom to respect users&#39; privacy and allow us to anonymize the logs before producing them under the court&#39;s order.&quot;&lt;br /&gt;&lt;br /&gt;A Viacom spokesman didn&#39;t return a call seeking comment after business hours.&lt;br /&gt;&lt;br /&gt;Viacom sued YouTube last year, claiming it allows users to post clips from its copyrighted shows without permission.&lt;br /&gt;&lt;br /&gt;Google, based in Mountain View, Calif., has denied Viacom&#39;s claims in the lawsuit, saying YouTube follows the law by removing copyrighted material when it becomes aware of it.&lt;br /&gt;&lt;br /&gt;US District Judge Louis L. Stanton authorized full access to the YouTube logs after Viacom and other copyright holders argued that they needed the data to show whether their copyright-protected videos are more heavily watched than amateur clips.&lt;br /&gt;&lt;br /&gt;The data would be disclosed only to the plaintiffs.&lt;br /&gt;&lt;br /&gt;By Globe Wire Service</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/645708132058284330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/645708132058284330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/645708132058284330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/645708132058284330'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/google-wants-logins-cut-from-youtube.html' title='Google wants logins cut from YouTube data'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-873557444329926637</id><published>2008-07-04T07:09:00.000-07:00</published><updated>2008-07-04T07:11:58.157-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debuging"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Remote debugging with Visual Studio 2008</title><content type='html'>I recently examined the JavaScript debugger features in Visual Studio 2008 that aid in locating problems in Web pages. But if you often have to track down bugs in an application installed on another machine, you should check out Microsoft&#39;s remote debugger tool with Visual Studio 2008. Here&#39;s a closer look at its set-up and usage.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Example scenario&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You develop an application and then deploy it to another server when a problem occurs. The code works on your development system, so finding the bug just became more complicated. You may have access to the application environment, but you rarely want to install a full copy of Visual Studio on a server. This is where the remote debugger enters the picture.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Getting the remote debugger to work&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get the remote debugger up and running, you must install it on the remote computer (ie, the server in the previously described scenario) and then configure it. Configuration is complex because the remote debugger authenticates both ways; that is, the machine running Visual Studio needs to authenticate on the remote machine, and the remote machine needs to authenticate on the machine running Visual Studio.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When you install Visual Studio 2008, remote debugging components install by default. In addition, the remote debugger is readily available on the Visual Studio installation media. The installation disc contains a directory called Remote Debugger, which has two folders (x64 and x86) that contain the set-up application for the specific platform. This installs the remote debugging monitor (msvsmon.exe). In my example, it is installed on a server.&lt;br /&gt;&lt;br /&gt;Once the installation application runs, the configuration wizard runs. The configuration wizard allows you to set up the remote debugger to run as a service or as an application. Running the remote debugger as a service means that it will run all the time, so you may want to run it as an application so it can be run only when needed. At this point, security becomes an important aspect of set-up.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Security&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The remote debugger must run using a user account that has the appropriate privileges. It must use an account that has at least the same privileges as the account used to run the application being debugged.&lt;br /&gt;&lt;br /&gt;When working with ASP.NET applications, the ASP.NET worker process (aspnet_wp.exe) usually runs with an account called ASPNET, so you must use this account (or an account with equal or greater privileges) to remotely debug it. A safe bet is running the remote debugger with administrative level access, but this is not advisable for a production environment since the remote debugger needs to communicate with your debugger via the network, thus putting the server at risk of being hacked. I like to create a specific account for the remote debugger with a name like VSDebugger and make sure it has appropriate access.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Using the remote debugger&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once you install all the components, you can use the remote debugger with your own applications. Follow these steps to use it with a C#/VB.NET application:&lt;br /&gt;&lt;br /&gt;|&gt; In Visual Studio, choose Properties on the Project menu.&lt;br /&gt;|&gt; Select Debug from the Properties page.&lt;br /&gt;|&gt; For the Start Action setting, select Start External Program and in the field type the complete path to the executable on the host computer (running the remote debugger monitor).&lt;br /&gt;|&gt; Under Start Options in the working directory box, type the directory where the executable is located.&lt;br /&gt;|&gt; Select Use Remote Machine and type the name of the remote computer in the field. You can specify any command line arguments to pass to the application on the remote computer.&lt;br /&gt;|&gt; Start the Remote Debugging Monitor on the remote computer.&lt;br /&gt;|&gt; In Visual Studio, you can begin debugging the application via the usual Debug menu by selecting Start to begin a debugging session.&lt;br /&gt;&lt;br /&gt;When working with an ASP.NET application, be sure to reference the remote computer by name and not the IP address. Also, the application&#39;s web.config file must have the debug attribute set to True. The site&#39;s security settings must allow windows authentication (or anonymous), and make sure there are no firewall restrictions that may disable remote debugging. MSDN offers more information about setting up remote debugging.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Go to the source&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio 2008&#39;s remote debugger feature allows you to investigate code issues where they occur. You may use Visual Studio on your development machine and connect to the problem code on a remote host; this allows you to find problems specific to the host environment. During set-up, it&#39;s important to use the proper accounts with necessary access. Add the remote debugger to your developer toolbox for those situations where problems are unique to an application&#39;s environment.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By  Tony Patton</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/873557444329926637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/873557444329926637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/873557444329926637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/873557444329926637'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/remote-debugging-with-visual-studio.html' title='Remote debugging with Visual Studio 2008'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-7440554479364837957</id><published>2008-07-04T00:47:00.000-07:00</published><updated>2008-07-04T00:56:08.454-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Yahoo"/><title type='text'>Yahoo&#39;s struggle for independence</title><content type='html'>&lt;p&gt;On this 4&lt;sup&gt;th&lt;/sup&gt; of July weekend, let us celebrate the independence of Yahoo -- for however long it lasts. Because just when you thought Microsoft&#39;s bid for the Yahooligans was really truly deeply ultimately finally over, it really isn&#39;t. At least, according to the &lt;em&gt;Wall Street Journal,&lt;/em&gt; which published a report on Wednesday titled Microsoft Seeks Partners for a New Run at Yahoo. &lt;/p&gt;  &lt;p&gt;What&#39;s most interesting about that story isn&#39;t that Microsoft is yet again thrusting at Yahoo&#39;s windmills, with either Time Warner or News Corp. as Sancho Panza; it&#39;s the almost surreal descriptions of the negotiations that have taken place so far. Like this, for example:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;With both companies concerned about leaks, Microsoft took pains to ensure that the meeting remained a secret. It instructed Mr. Yang and his coterie of advisers to drive to the back of the building, where a woman holding a closed red umbrella would be waiting for them at the loading dock.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Or this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The two sides met at the airport, in a conference room overlooking the runway. The Yahoo camp was encouraged that Mr. Ballmer had donned a polo shirt in purple, Yahoo&#39;s color. For several hours, the men discussed Microsoft&#39;s proposal to acquire Yahoo&#39;s search assets.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Secret meetings at airports and golf courses. Codes sent via a red umbrella and a purple polo shirt. Who knew the Microsoft-Yahoo soap opera was really a dime-store spy novel in disguise? &lt;/p&gt;  &lt;p&gt;The underlying theme of the story: Despite all public appearances to the contrary &lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;,&lt;/span&gt; Yahoo very much wanted to be acquired by Microsoft, even dropping its asking price to $33 a share -- and that it was Ballmer who spurned them, not the other way around. &lt;/p&gt;  &lt;p&gt;Such a painstakingly detailed report could only come from someone very high up the food chain in one of the two companies, and it almost certainly has to be Microsoft. &lt;/p&gt;  &lt;p&gt;Why? Because the &lt;em&gt;Wall Street Journal&lt;/em&gt; is Microsoft&#39;s designated leak recipient of choice. Nearly every major story involving Microsoft over the last few years has been broken by the &lt;em&gt;Journal&lt;/em&gt;. And that&#39;s how MSFT wants it. They get to control the spin.&lt;/p&gt;  &lt;p&gt;Reason 2: Yahoo&#39;s Jerry Yang and Roy Bostock come off looking like oafish amateurs, at first ignoring Microsoft&#39;s advances and then desperately hiking up their skirts for Redmond. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Once the meeting had broken up, [Yahoo director] Burkle told Messrs. Bostock and Yang that they had done everything they could to woo Mr. Ballmer. &quot;We took all of our clothes off,&quot; he joked.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hmm, in whose interests would it be to spin that story, with Yahoo&#39;s annual shareholder meeting coming up and Carl Icahn breathing down their necks? I see the fingerprints of Ballmer, the master of FUD, all over this one.&lt;/p&gt;  &lt;p&gt;Stay tuned, as they say, for further developments.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Got hot tips or more dirt on Steve &quot;the spy who shoved me&quot; Ballmer? Post them below or e-mail me here - cringe (at) infoworld (dot) com. And have a happy 4th.&lt;/em&gt;&lt;/p&gt;     &lt;a name=&quot;more&quot;&gt;&lt;/a&gt;By Robert X. Cringely</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/7440554479364837957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/7440554479364837957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/7440554479364837957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/7440554479364837957'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/yahoos-struggle-for-independence.html' title='Yahoo&#39;s struggle for independence'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-3382723833329409704</id><published>2008-05-05T07:21:00.000-07:00</published><updated>2008-07-07T12:48:45.819-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FireFox"/><category scheme="http://www.blogger.com/atom/ns#" term="IE"/><category scheme="http://www.blogger.com/atom/ns#" term="IE vs FireFox"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Mozilla"/><title type='text'>IE and FireFox :  DOM differences</title><content type='html'>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;dom_differences&quot;&gt;&lt;b&gt;&lt;span style=&quot;letter-spacing: 0.25pt;font-family:Arial;font-size:14;color:black;&quot;   &gt;DOM differences&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style=&quot;letter-spacing: 0.25pt;font-family:Arial;font-size:14;color:black;&quot;   &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;The Document Object Model (DOM) is the tree structure that contains the document elements. You can manipulate it through JavaScript APIs, which the W3C has standardized. However, prior to W3C standardization, Netscape 4 and Internet Explorer 4 implemented the APIs similarly. Mozilla only implements legacy APIs if they are unachievable with W3C standards.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;a name=&quot;N10180&quot;&gt;&lt;span class=&quot;smalltitle&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt; Access elements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;b&gt;&lt;span style=&quot;;font-size:15;color:red;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;To retrieve an element reference following the cross-browser approach, you use document.getElementById(aID), which works in Internet Explorer 5.5+, Mozilla, and is part of the DOM Level 1 specification.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Mozilla does not support accessing an element through document.elementName or even through the element&#39;s name, which Internet Explorer does (also called global namespace polluting). Mozilla also does not support the Netscape 4 document.layers method and Internet Explorer&#39;s document.all. While document.getElementById lets you retrieve one element, you can also use document.layers and document.all to obtain a list of all document elements with a certain tag name, such as all &lt;div&gt; elements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;The W3C DOM Level 1 method gets references to all elements with the same tag name through getElementsByTagName(). The method returns an array in JavaScript, and can be called on the document element or other nodes to search only their subtree. To get an array of all elements in the DOM tree, you can use getElementsByTagName(*).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;The DOM Level 1 methods, as &lt;span style=&quot;color:black;&quot;&gt;shown in Table,&lt;/span&gt; are commonly used to move an element to a certain position and toggle its visibility (menus, animations). Netscape 4 used the &lt;layer&gt; tag, which Mozilla does not support, as an HTML element that can be positioned anywhere. In Mozilla, you can position any element using the &lt;/layer&gt;&lt;div&gt; tag, which Internet Explorer uses as well and which you&#39;ll find in the HTML specification.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Methods used to access elements &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 287.75pt; margin-left: 8.25pt;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; width=&quot;384&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 190.35pt;&quot; width=&quot;254&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Method&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 92.9pt;&quot; width=&quot;124&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 190.35pt;&quot; width=&quot;254&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;document.getElementById( aId )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 92.9pt;&quot; width=&quot;124&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns a reference to the element with the   specified ID.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 190.35pt;&quot; width=&quot;254&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;document.getElementsByTagName( aTagName )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 92.9pt;&quot; width=&quot;124&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns an array of elements with the   specified name in the document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;a name=&quot;N101F0&quot;&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Traverse the DOM&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;b&gt;&lt;span style=&quot;;font-size:15;color:red;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Mozilla supports the W3C DOM APIs for traversing the DOM tree through JavaScript (see Table). The APIs exist for each node in the document and allow walking the tree in any direction. Internet Explorer supports these APIs as well, but it also supports its legacy APIs for walking a DOM tree, such as the children property.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt; Methods used to traverse the DOM &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 290.55pt; margin-left: 5.45pt;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; width=&quot;387&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Property/Method&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;childNodes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-right: -48.3pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns an array of all   child nodes of the element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;firstChild&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the first child node of the element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;getAttribute( aAttributeName )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the value for the specified   attribute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;hasAttribute( aAttributeName )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt; Returns a boolean stating if the   current node has an attribute defined with the specified name.   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;hasChildNodes()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt; Returns a boolean stating whether the   current node has any child nodes.   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;lastChild&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the last child node of the element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;nextSibling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the node immediately following the   current one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;nodeName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the name of the current node as a   string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;nodeType&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt; Returns the type of the current node.    &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;table class=&quot;MsoNormalTable&quot; style=&quot;&quot; border=&quot;0&quot; cellpadding=&quot;0&quot;&gt;    &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Value&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Element Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Attribute Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Text Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;CDATA Section Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Entity Reference Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Entity Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Processing Instruction Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Comment Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Document Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Document Type Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;11&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Document Fragment Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr style=&quot;&quot;&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;     &lt;td style=&quot;padding: 0.75pt;&quot;&gt;     &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Notation Node&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;      &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;nodeValue&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the value of the current node. For   nodes that contain text, such as text and comment nodes, it will return their   string value. For attribute nodes, the attribute value is returned. For all   other nodes, null is returned.   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;ownerDocument&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the document object containing the   current node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;parentNode&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the parent node of the current node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;previousSibling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Returns the node immediately preceding the   current one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;removeAttribute( aName )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Removes the specified attribute from the   current node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 117.3pt;&quot; width=&quot;156&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;setAttribute( aName, aValue )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Sets the value of the specified attribute   with the specified value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Internet Explorer has a nonstandard quirk, where many of these APIs will skip white space text nodes that are generated, for example, by new line characters. Mozilla will not skip these, so sometimes you need to distinguish these nodes. Every node has a nodeType property specifying the node type. For example, an element node has type 1, while a text node has type 3 and a comment node is type 8. The best way to only process element nodes is to iterate over all child nodes and only process those with a nodeType of 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 66.62%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;66%&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 0in; width: 100%;&quot; width=&quot;100%&quot;&gt;&lt;pre&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  HTML: &lt;/pre&gt;&lt;pre&gt; &lt;span style=&quot;&quot;&gt;   &lt;/span&gt;&amp;lt;div id=&quot;foo&quot;&gt; &lt;/pre&gt;&lt;pre&gt; &lt;span style=&quot;&quot;&gt;     &lt;/span&gt;&amp;lt;span&gt;Test&amp;lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;  c &amp;lt;/div&gt; &lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt; &lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;N10329&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Generate and manipulate content&lt;/span&gt;&lt;/b&gt;&lt;/a&gt; &lt;b&gt;&lt;span style=&quot;;font-size:15;color:red;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Mozilla supports the legacy methods for adding content into the DOM dynamically, such as document.write, document.open and document.close. Mozilla also supports Internet Explorer&#39;s InnerHTML method, which it can call on almost any node. It does not, however, support OuterHTML (which adds markup around an element, and has no standard equivalent) and innerText (which sets the text value of the node, and which you can achieve in Mozilla by using textContent).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Internet Explorer has several content manipulation methods that are nonstandard and unsupported in Mozilla, including retrieving the value; inserting text; and inserting elements adjacent to a node, such as getAdjacentElement and insertAdjacentHTML. Table shows how the W3C standard and Mozilla manipulate content, all of which are methods of any DOM node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt; Methods Mozilla uses to manipulate content &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;border: 1pt solid windowtext; width: 287.75pt; margin-left: 8.25pt;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; width=&quot;384&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;Method&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;appendChild( aNode )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Creates   a new child node. Returns a reference to the new child node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;cloneNode( aDeep )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Makes   a copy of the node it is called on and returns the copy. If aDeep is true, it   copies over the node&#39;s entire subtree.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;createElement( aTagName )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Creates   and returns a new and parentless DOM node of the type specified by aTagName.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;createTextNode( aTextValue   )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Creates   and returns a new and parentless DOM textnode with the data value specified   by aTextValue.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;insertBefore( aNewNode,   aChildNode )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Inserts   aNewNode before aChildNode, which must be a child of the current node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;removeChild( aChildNode )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Removes   aChildNode and returns a reference to it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 114.5pt;&quot; width=&quot;153&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;replaceChild( aNewNode,   aChildNode )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 6pt; width: 168.75pt;&quot; width=&quot;225&quot;&gt;   &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Replaces   aChildNode with aNewNode and returns a reference to the removed node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt;&quot;&gt;&lt;a name=&quot;N103AE&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Document fragments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;b&gt;&lt;span style=&quot;;font-size:15;color:red;&quot;  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;For performance reasons, you can create documents in memory, rather than working on the existing document&#39;s DOM. DOM Level 1 Core introduced document fragments, which are lightweight documents that contain a subset of a normal document&#39;s interfaces. For example, getElementById does not exist, but appendChild does. You can also easily add document fragments to existing documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Mozilla creates document fragments through document.createDocumentFragment(), which returns an empty document fragment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: justify;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=&quot;;font-family:Arial;font-size:11;&quot;  &gt;Internet Explorer&#39;s implementation of document fragments, however, does not comply with the W3C standard and simply returns a regular document.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/3382723833329409704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/3382723833329409704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/3382723833329409704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/3382723833329409704'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/07/ie-and-firefox-dom-differences_05.html' title='IE and FireFox :  DOM differences'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-8403850356277075513</id><published>2008-02-02T07:07:00.000-08:00</published><updated>2008-02-03T05:32:31.902-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Yahoo"/><title type='text'>Yahoo! board responds to Microsoft bid</title><content type='html'>The board of directors of Yahoo! is currently undertaking a “deliberate review process” of Microsoft Corp.’s bid to buy the Internet portal at $44.6 billion.&lt;br /&gt;&lt;br /&gt;Responding to Microsoft’s “unsolicited bid,” made public Friday, Yahoo! did not specify how long the review process would take, but it vaguely said “it can take quite a bit of time.”&lt;br /&gt;&lt;br /&gt;At least two officials from the Yahoo! Southeast Asia region have remained mum on Microsoft’s bid to buy the Internet portal.&lt;br /&gt;&lt;br /&gt;In an e-mail message, Jason Coates, Southeast Asia Senior Manager for communications, declined to speculate on the impact of the deal on the company’s operations in the region, but has directed INQUIRER.net’s inquiry to an official pressroom, which contains Yahoo! board’s reaction to the bid.&lt;br /&gt;&lt;br /&gt;“They’re going to take time to thoroughly evaluate the proposal in the context of Yahoo!’s strategic plans. This will include evaluating all of the company’s strategic alternatives, including maintaining Yahoo! as an independent company. That process will take some time, but the Board will ultimately pursue the option that it believes can best maximize value for our shareholders,” Yahoo! said.&lt;br /&gt;&lt;br /&gt;Yahoo! also declined to speculate on the implications of this deal on its users, advertisers, publishers and partners.&lt;br /&gt;&lt;br /&gt;“Yahoo!’s Board is going to evaluate all aspects of this proposal carefully and promptly in the context of the company’s strategic plans and alternatives. So it wouldn’t be appropriate to speculate about the potential benefits or challenges of a deal. But the review process that&#39;s underway won&#39;t have any impact on our efforts to deliver value to all of our users, advertisers, publishers and partners -- as well as new and exciting opportunities to our employees,” Yahoo! said.&lt;br /&gt;&lt;br /&gt;Microsoft officials in the Philippines have not issued any statement related to the deal.&lt;br /&gt;&lt;br /&gt;The bid was made just after Yahoo! announced possible job cuts this year. Yahoo! said that up to 1,000 jobs will be slashed this year due to financial difficulties.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;fontbyline&quot;&gt;By Erwin   Oliva&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/8403850356277075513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/8403850356277075513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/8403850356277075513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/8403850356277075513'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/02/yahoo-board-responds-to-microsoft-bid.html' title='Yahoo! board responds to Microsoft bid'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-6872369177602458214</id><published>2008-01-16T20:29:00.000-08:00</published><updated>2008-01-16T20:35:10.574-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Translator"/><title type='text'>Microsoft to develop document translator for blind</title><content type='html'>&lt;span id=&quot;test&quot; name=&quot;test&quot; style=&quot;font-size: 14px; font-weight: normal; color: rgb(0, 0, 0); font-family: Arial,Helvetica,sans-serif; line-height: 18px;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  Microsoft and the DAISY digital talking books consortium are to work together on a tool for the blind and otherwise print-disabled that translates Microsoft Word documents into a digital audio standard. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  The two organisations said on Tuesday the collaboration was aimed at producing a free, downloadable plug-in that would translate documents based on Open XML—the default file-saving format in Microsoft Office 2007—into DAISY XML. The DAISY XML file can then be processed to produce digital audio and other formats. The plug-in is expected to be available in early 2008. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  The not-for-profit DAISY (Digital Accessible Information System) consortium, based in Zurich, Switzerland, was formed in 1996 by talking-book libraries to help the transition from analogue to digital talking books, and has adopted open standards based on internet file formats. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  Its members include the US National Library Service for the Blind and Physically Handicapped, the Spanish National Organisation of the Blind and the Korean Braille Library. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  Microsoft is campaigning to have its Open XML document format approved as an international standard, which would help it gain wider adoption by public-sector organisations. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  It failed to capture the necessary majority in a September vote by members of the International Organisation for Standardisation (ISO), partly due to concerns the format is not truly open but rather a ploy to lock in users. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;  An ISO group will meet again in February to try to agree a consensus, giving Microsoft time to lobby for more votes.&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/6872369177602458214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/6872369177602458214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/6872369177602458214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/6872369177602458214'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/01/microsoft-to-develop-document.html' title='Microsoft to develop document translator for blind'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-1313035792971120509</id><published>2008-01-15T22:51:00.000-08:00</published><updated>2008-01-15T22:59:31.405-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenOffice"/><title type='text'>Try the Free OpenOffice.org Suite Via Web Browser</title><content type='html'>&lt;p class=&quot;MsoNormal&quot;&gt;Willing to trying out the free OpenOffice.org 2.0 office suite without having to install it on your computer?&lt;br /&gt;&lt;br /&gt;That choice became possible this week when OpenOffice.org and online application vendor Ulteo launched a beta project that hosts OpenOffice.org 2.0 on Ulteo&#39;s Online Desktop infrastructure, giving users online access to the applications and up to 1GB of related data storage.&lt;br /&gt;&lt;br /&gt;In an announcement, the two groups said the project will be open to 15,000 beta users who will be able to access the applications using a Web browser on Windows, Linux or Mac OS X.&lt;br /&gt;&lt;br /&gt;Beta users will also have access to the project&#39;s instant collaboration features, which will allow participants to invite other users to join them online in working on a document together in real time. Users can send invitations to others via e-mail, allowing access to documents in either read-only or full edit mode through a clickable link in the message.&lt;br /&gt;&lt;br /&gt;&quot;Now everyone can use OpenOffice.org from any connected PC, anytime, anywhere,&quot; Florian Effenberger, marketing project co-lead of OpenOffice.org, said in a statement. &quot;You even can work together on documents online and collaborate with others. This especially is an interesting option for trainers and workgroups.&quot;&lt;br /&gt;&lt;br /&gt;&quot;Ulteo is very proud to deliver OpenOffice.org to the community in a new, useful and exciting way: online and designed for collaboration,&quot; Thierry Koehrlen, CEO of Ulteo, said in a statement. &quot;We expect that it will ... spread OpenOffice.org to even more users now that it is simpler than ever to try and use it in a couple of clicks.&quot;&lt;br /&gt;&lt;br /&gt;Users can register for the beta program at Ulteo&#39;s Web site.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/1313035792971120509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/1313035792971120509' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/1313035792971120509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/1313035792971120509'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2008/01/try-free-openofficeorg-suite-via-web.html' title='Try the Free OpenOffice.org Suite Via Web Browser'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-5913407166647953</id><published>2007-12-22T12:02:00.000-08:00</published><updated>2007-12-22T12:20:25.410-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Samba"/><title type='text'>Developers of open-source software will now share the Mircrosoft Code</title><content type='html'>Developers of open-source Samba software will find their work a little easier thanks to an &lt;a href=&quot;http://samba.org/samba/PFIF/PFIF_agreement.html&quot; target=&quot;_blank&quot;&gt;agreement&lt;/a&gt; with Microsoft signed last week, that will give them access to previously secret data on how the Windows operating system works.&lt;br /&gt;Microsoft was compelled to make this information available following a March 24, 2004, European Commission antitrust ruling against the company. In July 2006, the EU fined Microsoft €280.5 million (US$338.6 million at that time) for failing to provide documentation on Windows protocols to its rivals. Microsoft lost an appeal of that decision in September, setting the stage for the deal.&lt;br /&gt;The deal was signed with a nonprofit group called the Protocol Freedom Information Foundation, (PFIF) which negotiated on behalf of the Samba team because Samba is not represented by a corporate entity. PFIF will pay a one-time fee of €10,000 and, in return, will be able to allow open-source developers, including the Samba team, to access the documents.&lt;br /&gt;Developers will have to sign nondisclosure agreements and will not be allowed to redistribute Microsoft&#39;s documentation, but they will be able to write open-source software that implements the Windows protocols. The deal will also clarify which patents Microsoft believes are related to this technology, making it easier for open-source developers to avoid patent violations.&lt;br /&gt;Antitrust rulings forced Microsoft to set up protocol-licensing programs in the past, including the Microsoft Communications Protocol Program (MCPP) and the &lt;a href=&quot;http://www.microsoft.com/about/legal/intellectualproperty/protocols/wspp/wspp.mspx&quot; target=&quot;_blank&quot;&gt;Work Group Server Protocol Program (WSPP)&lt;/a&gt;, but these efforts were not compatible with open-source software licenses.&lt;br /&gt;To reach an agreement with the Samba team, Microsoft created a new type of WSPP licensing agreement, which gives developers access to the Windows protocols as well as a clear list of the patents that Microsoft has declared relative to its technology.&lt;br /&gt;&quot;They&#39;re giving us all the documentation to make everything work,&quot; said Jeremy Allison, co-author of Samba. &quot;We will have no more excuses to suck ... if we don&#39;t have something, we won&#39;t be able to say it&#39;s not our fault we don&#39;t know how to do it.&quot;&lt;br /&gt;Samba and Microsoft executives had been meeting since March in hopes of hammering out a deal, said Sam Ramji, director of Microsoft&#39;s Open Source Software Lab, in a &lt;a href=&quot;http://port25.technet.com/archive/2007/12/20/If-you_2700_re-surprised_2C00_-you_2700_re-not-paying-attention.aspx&quot; target=&quot;_blank&quot;&gt;blog post&lt;/a&gt; entitled &quot;If you&#39;re surprised, you&#39;re not paying attention.&quot;&lt;br /&gt;&quot;I expect that this will significantly improve the process of Samba development, and produce better quality interoperation between Windows and Linux/UNIX environments,&quot; he wrote.&lt;br /&gt;Samba is an open-source version of the file-and-print software used by Windows. It is a standard component of the Linux and Unix operating systems, allowing these systems to share data and work alongside Windows clients.&lt;br /&gt;But development of Samba has traditionally been back-breaking work. Developers would analyze network traffic to try and glean how Windows was working and then build their software based on that knowledge -- a process called reverse-engineering.&lt;br /&gt;With the new agreement, developers will have access to Microsoft&#39;s own protocol specifications and will be able to build their software based on those documents, Allison said. That, in turn, will accelerate the team&#39;s development of its next generation of software, which will implement the new Sever Message Block (SMB) 2.0 protocol, used by Windows Vista.&lt;br /&gt;Though the deal was reached on Thursday, developers were still waiting for the final technical aspects of the document hand-over to be settled, Allison said. He expects to get his hands on the technical specifications fairly soon. &quot;I&#39;m guessing that for my Christmas vacation I&#39;ll have some enjoyable things to read,&quot; he said.&lt;br /&gt;&lt;br /&gt;Robert McMillan</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/5913407166647953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/5913407166647953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/5913407166647953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/5913407166647953'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2007/12/developers-of-open-source-software-will.html' title='Developers of open-source software will now share the Mircrosoft Code'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-29027259995716846</id><published>2007-12-13T13:34:00.000-08:00</published><updated>2007-12-13T13:43:24.596-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Vista"/><title type='text'>Microsoft posts Vista SP1 RC for download</title><content type='html'>&lt;p&gt;Microsoft Corp. on 12th Dec, 2007,  opened the preview of Windows Vista Service Pack 1 (SP1) to the general public, but it required users to go through an elaborate process that involves multiple reboots before they are allowed to download it from the company&#39;s update service. &lt;/p&gt;&lt;p&gt;The long-anticipated Vista SP1 Release Candidate (RC) has been added to Windows Update, where any user running a valid copy of Vista can grab it, the company said today. Microsoft first seeded preliminary copies of the service pack to thousands of by-invitation-only testers in September. &lt;/p&gt;&lt;p&gt;&quot;Today we made the SP1 RC available to the public on Microsoft&#39;s Download Center,&quot; a company spokeswoman said in an e-mail. &quot;Because Windows Vista SP1 will be available to hundreds of millions of customers, we want to make sure we get a breadth and depth of customer feedback. By increasing the test base of SP1, this helps customers ensure [there] will be a thoroughly tested product at RTM [release to manufacturing].&quot; &lt;/p&gt;&lt;p&gt; To get the release candidate, however, users must jump through the hoops detailed in a document posted to Microsoft&#39;s support Web site. &quot;Systems running on Windows Vista RTM require as many as three updates before SP1 can be installed,&quot; the document warns. &quot;Windows Update will detect your system configuration and offer the prerequisite packages that are applicable to your system.&quot; &lt;/p&gt;&lt;p&gt;Before doing that, however, a script must be downloaded and run. The script sets a registry key required for Windows Update to sniff out the system as eligible for a SP1 RC update. After that, two additional updates are necessary -- each followed by a reboot of the operating system -- before Microsoft&#39;s servers confirm that the machine is suitable for SP1. Only then do they offer the download. &lt;/p&gt;&lt;p&gt;According to Microsoft, when Vista SP1 is offered to users normally through Windows Update, the prerequisite steps will have already taken place automatically over several nights. Microsoft has not set a definitive release date for SP1, other than to promise that it will launch sometime in the first three months of 2008. &lt;/p&gt;&lt;p&gt;The SP1 release candidate will have to be uninstalled before applying the final code in 2008, Microsoft warned as it also issued an odd caution on the subject. &quot;After you uninstall Service Pack for Windows (KB936330), we recommend that you wait at least one hour before you try to install the final release of Windows Vista SP1,&quot; another support document read. &lt;/p&gt;&lt;p&gt; The company also noted that SP1 RC will expire at the end of June 2008. &lt;/p&gt;&lt;p&gt; To begin the process of updating a Vista-powered PC to SP1 RC, users should &lt;b&gt;&lt;a target=&quot;new&quot; href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=9de6260e-4275-482d-9524-de850c4dd91c&amp;amp;DisplayLang=en&quot;&gt;follow these instructions&lt;/a&gt;&lt;/b&gt;. &lt;/p&gt; Not everything slated for the final version of SP1 has made it into the release candidate, however. Major changes to &lt;b&gt;Vista&#39;s antipiracy scheme&lt;/b&gt; outlined only last week are not included.</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/29027259995716846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/29027259995716846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/29027259995716846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/29027259995716846'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2007/12/microsoft-posts-vista-sp1-rc-for.html' title='Microsoft posts Vista SP1 RC for download'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-2473716001131561831</id><published>2007-12-06T05:42:00.000-08:00</published><updated>2007-12-06T06:12:25.559-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Trends API"/><title type='text'>Google to Give Developers Access to Trends API</title><content type='html'>&lt;span class=&quot;Article_Deck&quot;&gt;&lt;b&gt;Google will eventually give programmers access to an API for its Trends analysis tool.&lt;/b&gt;   &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Google will eventually provide an open application programming interface for its Trends analysis tool, allowing users to embed the tool in their applications, or download data from the application for personal use, a company official said. &lt;p&gt;Marissa Mayer, vice president of search products and user experience at Google, would not provide timelines for when the search vendor might open up the API for Trends, which tallies Google Web searches for the terms users enter relative to the total number of searches done on Google.&lt;/p&gt;Trends also includes a feature called Hot Trends that lets users check the most searched terms for a that day. Clicking on a link in Hot Trends yields a number of nuggets of info, including when the search results for that term peaked and where, as well as news articles and blog posts about the topic. &lt;p&gt;Users can also compare query volumes, and do cross-discipline analyses, by typing in multiple terms in the search trends box. Trends will conduct analyses only as far back as January 2004. &lt;/p&gt;&lt;p&gt;Releasing a Trends API developer would also be par for the course for Google, which released APIs for the OpenSocial platform on Oct. 31. &lt;/p&gt;&lt;p&gt;Google also offers an API that lets users embed Google Maps in their own Web pages, and an API for Google Gears that lets developers create Web applications that can run offline. &lt;/p&gt;&lt;p&gt;She said social networking sites reigned in 2007, with YouTube, Club Penguin, MySpace and Facebook grabbing four of the spots on Google&#39;s search list for 2007. iPhone topped the list, and Webkinz, Transformers, Heroes, TMZ and Anna Nicole Smith completed the top 10 list. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/2473716001131561831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/2473716001131561831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/2473716001131561831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/2473716001131561831'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2007/12/google-to-give-developers-access-to.html' title='Google to Give Developers Access to Trends API'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-2449496603946547551</id><published>2007-12-02T07:47:00.000-08:00</published><updated>2007-12-02T07:51:02.477-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Exchange Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><title type='text'>Microsoft launched Service Pack 1 for Exchange Server 2007.</title><content type='html'>Microsoft on Friday launched Service Pack 1 for Windows Exchange Server 2007. Features include additions to the Exchange management console, Outlook web access and disaster recovery.&lt;br /&gt;&lt;br /&gt;Disaster recovery features already in Windows Exchange Server 2007 include Local Continuous Replication and Cluster Continuous Replication. SP1 introduces Standby Continuous Replication, which allows replication between geographically dispersed areas. Data created in one place can be copied to other areas so that, in the event of failure or disaster, data from the other areas can be recovered automatically.&lt;br /&gt;&lt;br /&gt;However, replication will not happen automatically. &quot;Restore after failure will be a manual process,&quot; said Microsoft&#39;s Mark Deakin, product manager for unified communications. &quot;It has to be manual because it is two separate pieces of data.&quot;&lt;br /&gt;&lt;br /&gt;Another new feature in the Exchange Server 2007 SP1 is a closer tie with Office Communications Server, with the ability to move voice mail between the two and control a greater variety of mobile devices. &quot;There are lots more mobile devices you can connect as well,&quot; said Deakin.&lt;br /&gt;&lt;br /&gt;Forefront Security for Exchange Server is now included, as is support for multiple scanning engines from more security firms. These can be implemented in a single module, Microsoft said.&lt;br /&gt;&lt;br /&gt;Microsoft claims it has more than 3,000 companies as customers, representing more than a million seats now working with Exchange Server 2007. More than 270,000 people tested out the beta of SP1, the company said.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Colin Barker&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/2449496603946547551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/2449496603946547551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/2449496603946547551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/2449496603946547551'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2007/12/microsoft-launched-service-pack-1-for.html' title='Microsoft launched Service Pack 1 for Exchange Server 2007.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-2692584067950433092</id><published>2007-11-30T03:55:00.000-08:00</published><updated>2007-11-30T05:25:27.773-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>New SQL Server Data Type: HierarchyId</title><content type='html'>&lt;p&gt;Tree-like hierarchies has always a problem in relational databases. Microsoft&#39;s first attempt at addressing this was in SQL Server 2005 with the implementation of Common Table Expressions. &lt;/p&gt; &lt;p&gt;While CTEs work over existing schema, Microsoft has sought a way to treat hierarchies as first-class concepts. To this effect, they have introduced the HierarchId data type in SQL Server 2008. &lt;/p&gt; &lt;p&gt;In traditional hierarchies, a row merely stores a reference to its parent node. This allows a row to know its relative position in the hierarch, but not its absolute position. Changing the parent is an atomic update that does not affect any child rows. &lt;/p&gt; &lt;p&gt;A HierarchyId field stores the rows exact position in the row in the hierarchy. An example provided by Denny Cherry shows values of 0x, 0x58, and 0x5AC0. These have string representations of /, /1/, and /1/1/ respectively. This leads to questions about consistency and performance, especially when changing the parent of a row. Ravi S.Maniam recommends that databases be designed such that reparenting occurs infrequently. &lt;/p&gt; &lt;p&gt;The HierarchyId field comes with a whole host of functions. GetAncestor and GetDescendant can be used to walk the tree. ToString and Parse methods are used for converting between the binary and string representations of the field. Strangely, there are also methods for supporting BinaryReaders and BinaryWriters. &lt;/p&gt; &lt;p&gt;Going back to the GetDescendant, it is a rather curious method. It does not actually return child rows, but rather it returns locations of potential child nodes. To insert a new row into the tree, it must be called the get the slot of the last child for the given parent, then a second time to get an empty slot just after that slot. &lt;/p&gt; &lt;p&gt;So far there aren&#39;t any good examples of actually retrieving a tree using T-SQL. In fact, everything about it has a imperative rather than set-based feel to it.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Jonathan Allen</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/2692584067950433092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/2692584067950433092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/2692584067950433092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/2692584067950433092'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2007/11/tree-like-hierarchies-has-always.html' title='New SQL Server Data Type: HierarchyId'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212733856638163184.post-8051121040320407889</id><published>2007-11-28T03:10:00.000-08:00</published><updated>2007-11-28T03:29:16.832-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GDrive"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>Google lounching GDrive very soon!</title><content type='html'>&lt;p&gt;The GDrive rumors have resurfaced. This morning, &lt;em&gt;The Wall Street Journal&lt;/em&gt; reported that Google is preparing an online storage service capable of housing all the files you now store on your very own hard drive.&lt;/p&gt;  &lt;p&gt;According to &lt;em&gt;The Journal&lt;/em&gt;, the service could allow access from both PCs and mobile phones, and it could be released &quot;a few months from now.&quot;&lt;/p&gt;&lt;span class=&quot;boxcontents&quot;&gt;The stored data will be available for access to users through the Internet on different PCs and mobile phones. It will also be available for sharing files with friends after signing-in with a password, as and when required.&lt;br /&gt;&lt;br /&gt;However, the storage space and expansion options being made available to users have not been revealed yet.&lt;br /&gt;&lt;br /&gt;The online storage service is no news as rumors about &quot;Gdrive&quot; have been doing the rounds of industry for quite sometime now.&lt;br /&gt;&lt;br /&gt;And most importantly, there are concerns being raised about the privacy of data and copyright issues, because content will be stored online, which can lead to illegal sharing of it.&lt;br /&gt;&lt;br /&gt;According to Google though, data privacy has been addressed with the utmost sensitivity, and extensive safeguards have been put in place to protect user data. &lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technologypost.blogspot.com/feeds/8051121040320407889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2212733856638163184/8051121040320407889' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/8051121040320407889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212733856638163184/posts/default/8051121040320407889'/><link rel='alternate' type='text/html' href='http://technologypost.blogspot.com/2007/11/google-lounching-gdrive-very-soon.html' title='Google lounching GDrive very soon!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>