Showing posts with label Webmaster. Show all posts
Showing posts with label Webmaster. Show all posts

Friday, November 21, 2008

Google CEO Could Be Obama's Tech Advisor

Rumor has it that Google CEO Eric Schmidt will be occupying the newly-formed tech advisor position to the president of the United States. Barack Obama created this position just shortly before visiting the Google headquarters during his campaign, and some believe that the reason this happened was because the job was promised to Schmidt.


The president-elect announced his support for maintaining the Internet neutral, meaning that he (and Google) opposed the addition of more fees for data transfer to end-users. Under Obama's tech policy, ISPs will be strictly prohibited from hampering data flow around the web. He says that the network is an indispensable tool in today's economy, and that it motivates growth by making trade simpler and easier, so any obstacle will mean a loss of capital.


The head of Google endorsed the Democratic candidate throughout the elections, though the ads the company posted on various sites were mostly Republican. However, Google employees donated far more to Obama's campaign than they did for John McCain – about $487,355, and $20,600 respectively, as estimated by the Wall Street Journal.


The naming of the Democratic candidate as the new president comes at the same time as the decision of the US Federal Communications Commission (FCC) to open up unused TV broadband frequencies to wireless Internet traffic. They will enter use when the entire television grid moves to the digital format.


No one can be sure that Eric Schmidt will be named as Obama's tech advisor until the event actually happens. But, in light of the relation they had during the campaign, and the earnings that Schmidt's endorsement brought the new president, it stand to reason that he will be, at the very least, considered for the job. In addition, Google's efforts to go "green" are in line with Obama's policy towards climate change and global warming, so this is another common ground for the company and the White House.

Monday, October 27, 2008

Hiding PHP as another language


In general, security by obscurity is one of the weakest forms of security.
But in some cases, every little bit of extra security is desirable.



A few simple techniques can help to hide PHP, possibly slowing
down an attacker who is attempting to discover weaknesses in your
system. By setting expose_php = off in your php.ini file, you
reduce the amount of information available to them.



Another tactic is to configure web servers such as apache to
parse different filetypes through PHP, either with an .htaccess

directive, or in the apache configuration file itself. You can
then use misleading file extensions:


 Hiding PHP as another language


# Make PHP code look like other code types

AddType application/x-httpd-php .asp .py .pl


Read more about Hiding PHP

Wednesday, October 8, 2008

DHTML GUI Components

Colection of GUI Components
.
Animation (39)
Banner (1)
Calendar International (2)
Calendar (39)
Chart (1)
Clock (10)
Code Formatter (1)
Color Chooser (5)
ComboBox (4)
Cursor (2)
Desktop (2)
Documentation (1)
Drag Drop (22)
Dual List (1)
Editor (9)
Events Calendar (1)
Grid Layout (17)
IFrame (1)
Key Event (1)
Log Panel (1)
Menu (32)
Navigation Bar (3)
Outlook Bar (1)
Popup Menu (2)
RadioButton (2)
Scroll (9)
ScrollBar (4)
Slider (6)
Sortable Listbox (1)
Syntax HighLighter (1)
Tab (13)
Table Grid (45)
TextArea (1)
TextBox (1)
Ticker (7)
Time Picker (2)
Toggle (5)
ToolBar (3)
Tree Table (1)
Tree (26)





Try It online :

http://www.navioo.com/javascript/dhtml/GUI_Components_227.dhtml

Monday, October 6, 2008

A TCP stack design vulnerability could put Internet services everywhere at major DoS risk

Researchers from the Swedish security company Outpost24 have discovered a major flaw in the design of TCP stacks which could put TCP-enabled devices at risk. According to their findings, which they kept secret for three years, performing DoS attacks through this vulnerability would require little bandwidth and the attacked devices would need rebooting in order for proper functionality to be restored.

The researchers discovered this vulnerability back in 2005 and they claim it affects most, if not all, TCP stack implementations out there. With every TCP-enabled device being at risk, this affects everyone on the Internet, ranging from billions of home users to ISPs, hosting and other companies. Due to the deep implications of this vulnerability, the researchers decided to keep it secret and try to find applicable solutions. Because they did not succeed in coming up with an answer for mitigation, they decided to go public and search for input and feedback from the security community.

They did not disclose full details to the general public, but they teamed up with the Finnish CERT and started providing information to various vendors world-wide, which include major OS developers and router/firewall manufacturers. Along with information regarding several different attack types, the researchers provided the vendors with a stress test kit which they developed and named Sockstress. “They're still trying to do triage and understand the individual attack types that we've identified for them. We're still trying to get them to back up a step. It's a class of attack, not necessarily individual things that the vendors need to be focusing on," said Robert E. Lee, Chief Security Officer at Outpost24.

The researchers tested their attacks on 15 different TCP stacks and all proved vulnerable. "We haven't found anybody who has a TCP stack that runs TCP based services that isn't vulnerable. If they make a TCP stack then it's probably still going to be vulnerable to one or all of these attacks because this is something fundamental in how TCP works," commented Mr. Lee for The Register.

Even if, at this point, there is some skepticism coming from the security community regarding the seriousness of the vulnerability, this is explainable through the lack of detailed technical information or confirmation from other parties. “My immediate reaction is skepticism: things like this tend to be hype. However, after listening to their audio interview, I believe they are probably right. They have been working deep within TCP stacks. If such problems exist, then they would have certainly come across them,” wrote on his blog Robert Graham, the CEO of Errata Security.

A new DoS attack technique

From what little information is available in an interview with Robert E. Lee, Chief Security Officer at Outpost24, the exploitation of this flaw consists of essentially tricking the TCP stack into not closing the TCP connections. By opening numerous such connections that are never dropped, the max limit of simultaneous connections that the stack can handle is eventually reached. This uses up all the available resources and causes a denial of service situation.

This actually works backwards compared to the classic distributed DoS (DDoS) attacks where, by using the combined bandwidth of multiple compromised machines (botnets), the attacker opens numerous connections and sends numerous packets in order to force the device into using up all its resources by attempting to process them. With such classic DoS attacks, there is a direct proportionality between the resources available to the attacked device and the bandwidth required to crash it successfully. However, in one of the new attacks described by the Mr. Lee, the concept is to trick the device into thinking that your connection is getting slower. In fact, the slower, the better.

A TCP stack will attempt to determine the maximum speed of a connection and adjust the speed at which it sends the packets in order to prevent packets from being dropped. So, if successfully tricked into thinking that your speed is getting so slow that it will take, for example years for the transfer to complete, the stack will keep the connection open for a very long period of time. Then, it's just a matter of opening enough such connections up to the point where the stack can't handle any more and becomes unresponsive. But, while a device can recover on its own within minutes from a classic DDoS attack, with this new technique, the only solution is to reboot the device. "It basically self thrashes, and the only recovery after about two to four minutes worth of attack flow, even after the attack stops, is to reboot the machine," explains Mr. Lee.

Another Internet architecture design flaw

This TCP resource leak vulnerability is the second major Internet architecture design flaw made public in 2008. A few months ago, security researcher Dan Kaminsky discovered a critical flaw in the design of DNS (domain name system). That vulnerability allowed for an attacker to poison the cache of DNS servers with fake entries. Just like this flaw is supposed to affect all TCP stack implementations, the DNS one affected all DNS server platforms. That posed a great mitigation problem, but Mr. Kaminsky silently worked with several major affected vendors and companies that offer Internet-based services and eventually a patch was developed.

Facing pressure from the security community, Dan Kaminsky decided to make the technical details public after the patch was deployed on most of the DNS servers world-wide. He revealed at the time that the flaw also affects services like e-mail. Not long after, Russian physicist Evgeniy Polyakov presented a proof of concept exploit demonstrating that the patch only increases the time required to compromise a DNS server and that it doesn't really block attacks.

Miscreants like phishers and malware developers have already adopted the DNS vulnerability and complex attacks have been carried out. While a permanent solution is still being devised, the U.S. government announced plans to implement DNSSEC, an encryption-based DNS service, on their network by December 2009. All this puts into perspective what could happen if the TCP stack flaw issue is not properly addressed.

Earn Money with AdSense for Search Create your custom search engine and earn money with AdSense

AdSense is one of the most popular services from Google, because it helps people earn money just with a simple ad placed on their websites. Related to AdSense, Custom Search Engine is another innovative product provided by Google that also brings
money after users have placed a search engine on their webpages.

So, what's the relation between these two products? Well, Google said that if you link your Custom Search Engine to your AdSense for Search account, you can boost your earnings with ease.

"We've heard it time and time again: as publishers, you want to give your users a relevant search experience on your websites. You want the power of Google search, and you want to make it your own. And then, of course, you want to make money from this search engine, not spend time and money building it. Well, here's news you can use -- now you can do all this with Google's Custom Search Engine (CSE).

With CSE, you can create a highly customized and (free) tailored search experience for your users that reflects your knowledge and expertise. You place this search engine on your site and, if you've got an AdSense for search account, you can link your CSE to it and make money from the resulting traffic.

In a few simple steps you can create a CSE that looks and feels like your own, prioritizes or restricts content based on what you specify, as well as open your search engine index to trusted members of your community so they can contribute to its comprehensiveness and relevance," Jennifer Hyman - CSE Product Marketing Manager said on the official blog.

Wednesday, October 1, 2008

How to animate an element's position using the Motion subclass

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>Motion Example - Basic</title>

<style type="text/css">

/*

Copyright (c) 2006, Yahoo! Inc. All rights reserved.

Code licensed under the BSD License:

http://developer.yahoo.net/yui/license.txt

Version: 0.10.0

*/



body {

   
margin:0;

   
font:small arial;

}



h1 {

   
color:#666;

   
margin:0;

   
font:bold 150% palatino, georgia;

}



#hd img {

   
vertical-align:middle;

}



#hd h1 {

   
display:inline;

   
margin:0 0 0 20px;

   
vertical-align:middle;

}



ul, li {

   
margin:0;

   
padding:0;

   
list-style:none;

}



#doc {

   
margin:10px;

}



#examples {

   
margin:60px 40px;

}



#examples li {

   
margin-bottom:1em;

}



#examples li a {

   
color:#666;

   
font:85% verdana;

}



#demo {

   
background:#ccc;

   
font:100%/1.2em arial;

   
width:10px;

   
height:10px;

}



#animation-demo-scroll #demo p {

   
width:600px;

}



#animation-demo-motion #demo {

   
color:yellow;

   
font-size:0;

}



#animation-demo-size-plus #demo, #animation-demo-fade #demo, #animation-demo-colors #demo {

   
background:#ccc;

   
font:100%/1.2em arial;

   
width:200px;

   
height:200px;

}

#animation-demo-colors #demo {

   
border:3px solid #c3c;

}



#animation-demo-scroll #demo {

   
width:400px;

   
height:200px;

   
overflow:auto;

}



#animation-demo-colors #demo {



}



#target {

   
background:red;

   
font-size:0;

   
position:absolute;

   
left:300px;top:300px;

   
width:10px;

   
height:10px;

}



</style>



<script type="text/javascript" src="./build/yahoo/yahoo.js"></script>

<script type="text/javascript" src="./build/event/event.js"></script>

<script type="text/javascript" src="./build/dom/dom.js"></script>

<script type="text/javascript" src="./build/animation/animation.js"></script>



<script type="text/javascript">

YAHOO.example.init = function() {   

   
var anim = new YAHOO.util.Motion('demo', { points: { to: YAHOO.util.Dom.getXY('target') } });

   
YAHOO.util.Event.on(document, 'click', anim.animate, anim, true);

};



YAHOO.util.Event.onAvailable('demo', YAHOO.example.init);

</script>



</head>

<body id="animation-demo-motion">

<div id="doc">

   
<h1>Motion Example - Basic</h1>

   
<p>This example demonstrates how to animate an element's position using the Motion subclass.</p>

   
<p>Click anywhere to start animation.</p>

   
<div id="demo"></div>  

   
<div id="target"></div>

</div>

</body>

</html>






Yui required !!!!

Try it online

Tuesday, September 30, 2008

Google Toolbar 5 now available in Firefox

You can download the latest version of Google Toolbar for Firefox, available in 29 languages. It includes all the Toolbar features you know and love, such as Search, Bookmarks and Translate. When you install it, you can try out some of newest features.


READ MORE

Monday, September 29, 2008

Chromium Memory Usage

Memory Usage Backgrounder
Chromium Memory Usage

Here is some background information if you are measuring memory in Chromium.

Multi-Process Model Background
To understand Chromium's memory usage, let's understand the multi-process model. Unlike other browsers, Chromium is divided into multiple processes. When Chromium starts up, it will initially have two processes. One process is the browser process which controls the main browser functionality, and the other is the initial renderer process, which runs the WebKit rendering engine and JavaScript (V8). Each time you open a new tab in Chromium, you'll likely get a new renderer process. With typical browsing, it is common to see 5-7 chrome.exe processes active. Further, if the pages you have open contain plugins, those plugins will also execute within independent processes. All of Chromium's processes, whether it is a browser process, a renderer process, or a plugin process, will show under the Task Manager as "chrome.exe".

Here is a screenshot of what you might see from Windows Vista running Chromium:


Read more

Google Chrome Multi-process Architecture

Unlike most current web browsers, Google Chrome uses many operating system processes to keep web sites separate from each other and from the rest of your computer. In this blog post, I'll explain why using a multi-process architecture can be a big win for browsers on today's web. I'll also talk about which parts of the browser belong in each process and in which situations Google Chrome creates new processes.

1. Why use multiple processes in a browser?


In the days when most current browsers were designed, web pages were simple and had little or no active code in them. It made sense for the browser to render all the pages you visited in the same process, to keep resource usage low.

Today, however, we've seen a major shift towards active web content, ranging from pages with lots of JavaScript and Flash to full-blown "web apps" like Gmail. Large parts of these apps run inside the browser, just like normal applications run on an operating system. Just like an operating system, the browser must keep these apps separate from each other.

On top of this, the parts of the browser that render HTML, JavaScript, and CSS have become extraordinarily complex over time. These rendering engines frequently have bugs as they continue to evolve, and some of these bugs may cause the rendering engine to occasionally crash. Also, rendering engines routinely face untrusted and even malicious code from the web, which may try to exploit these bugs to install malware on your computer.

In this world, browsers that put everything in one process face real challenges for robustness, responsiveness, and security. If one web app causes a crash in the rendering engine, it will take the rest of the browser with it, including any other web apps that are open. Web apps often have to compete with each other for CPU time on a single thread, sometimes causing the entire browser to become unresponsive. Security is also a concern, because a web page that exploits a vulnerability in the rendering engine can often take over your entire computer.

It doesn't have to be this way, though. Web apps are designed to be run independently of each other in your browser, and they could be run in parallel. They don't need much access to your disk or devices, either. The security policy used throughout the web ensures this, so that you can visit most web pages without worrying about your data or your computer's safety. This means that it's possible to more completely isolate web apps from each other in the browser without breaking them. The same is true of browser plug-ins like Flash, which are loosely coupled with the browser and can be separated from it without much trouble.


2. What goes in each process?

Google Chrome creates three different types of processes: browser, renderers, and plug-ins.

Browser. There's only one browser process, which manages the tabs, windows, and "chrome" of the browser. This process also handles all interactions with the disk, network, user input, and display, but it makes no attempt to parse or render any content from the web.

Renderers. The browser process creates many renderer processes, each responsible for rendering web pages. The renderer processes contain all the complex logic for handling HTML, JavaScript, CSS, images, and so on. We achieve this using the open source WebKit rendering engine, which is also used by Apple's Safari web browser. Each renderer process is run in a sandbox, which means it has almost no direct access to your disk, network, or display. All interactions with web apps, including user input events and screen painting, must go through the browser process. This lets the browser process monitor the renderers for suspicious activity, killing them if it suspects an exploit has occurred.
Read more

Friday, September 26, 2008

The Basic Rules of Search Engine Optimization

Search engine optimization is a process that generates traffic for your website. The SEO (Search Engine Optimization) includes principles and algorithms, mainly related to the website design, capable of generating actions to improve the search engine ranking for your webpages. Increasing the value of your page's rank, the quality and quantity of visitors will be increased too. For example, the main search engines, Google and Yahoo will index your website and will rank pages according to some complex algorithms.

In order to obtain higher page ranks, you should have in mind some basic rules that will assure your SEO success. There are two types of SEO: on page SEO and off page optimization. In both cases, you should check if your site design matches the SEO main conditions:

1. Optimization of URLs - It is recommended to use short URLs titles having static character (for example .html pages), clearly named and if is possible to contain relevant keywords for your page's content. The ideal case is when the relevant keywords are even in the domain name. When choosing the keywords for meta tags you should think what keywords or key phrases you would type to search for a certain page or content on a given search engine.

2. Optimization of the page title tag - The search engine spider will look also in your page title tag for relevant keywords that describe the content of your webpages. As a consequence, the title tag should contain from one two three keywords or key phrases related or present in the page's content. You should also limit the length of your page title to 50 characters or less. And of course, every page should have a distinctive page title, easy to understand for crawlers. The abusive use of keywords will induce a decrease of page rank.

3. Optimization of the website content - The website content is among other factors that will decide the page rank. You should know that crawlers or spiders (the search engines indexing tools) do not index the content of pictures or a javascript action for example. In case you use extensively images for your page content, you should provide a detailed description for every picture. The main idea you should follow when you add content to your website is to maintain simplicity. In conclusion, the text should be present on your webpages in a higher percent as compared to images, javascripts or others. You must also provide fresh content to your visitors periodically.

4. Optimization of the site navigation system - You should build a site map having links that point to the main parts of your site. For example, Google uses your sitemap to analyze the structure of your website. All links must point to valid webpages. It is recommended to check the validity of your site navigation structure using a link checker. You should pay attention to the internal links that should contain keywords, and the number of internal links must be increased in order to provide a clear site hierarchy and an effective navigation system.

As a suggestion, the use of CSS (Cascading Style Sheets) will determine a simple and yet rapid site structure, easy to understand for search engine spiders. The external links must point only to quality sites (for example, your page rank will be increased when you link to sites having higher search engine ranks themselves). You should not use links to "link farms". There must be also other links from weblogs, forums or other sites that point to your site. You can achieve this goal by performing a link inter-change process.

5. Optimization of the general site structure - In case your site design does not allow the SEO modifications mentioned, you should change the overall site structure. You can simply do this by using a ready-made CMS (a content management system). It is easy to use and in most cases it's created having the SEO principles in mind, so you will have to manage only the content, without being concerned owith the design.

These rules are not enough to obtain the maximal search engine rank, but they should be taken as a good start for a complete strategy of search engine optimization.

Tips to Improve Joomla Performance = Fast page loading and error-free Joomla Website

When you are using the Joomla content management system, the overall site performance could be affected by various factors. Moreover, if you have many site users, the page loading speed could be influenced by the simultaneous number of MySQL database queries. In order to obtain the best results for the page loading speed (which is a key factor for the search engines rankings) and to maintain the best performance of your Joomla website, there are a few tips that could help you.

The recent studies show that Joomla is twice as fast when used with PHP 5.2.3 in comparison with PHP 4.4, as a consequence the use of the last PHP version (which is definitely improved) will always offer you the optimal Joomla performance.

If you turn on caching on the Cache tab from Joomla Global Configuration in Administration Panel, then static files or a cache of your website will be created. The file caching allows the system to find a certain page directly from hard disk and removes the delay induced by a MySQL query to retrieve the same page in the database. The speed of page loading will also be increased by enabling caching.

On the Cache tab, when enabling caching, you must not modify the default cache folder, but you can set a lower value for the cache time if you update the site contents often and a higher value if the content is changed rarely. There are also many modules from Joomla structure that support caching. It is recommended to enable caching for those modules. There are also components that improve the page caching process, such as Ircmaxell's Page Cache.This component will have visible effects on page load speed in case of website with high traffic.

Another important aspect that could affect Joomla performance is the template structure. For the best performance, you should use CSS templates and remove the unused CSS styles. The images should be optimized for web display in order to decrease the page loading time. The unused modules should be unpublished and flash modules should be avoided if they are not really necessary.

Before installing Joomla on a webserver you should test the site performance using benckmarking tools on the local computer. There are more advanced settings to modify in php.ini and .htaccess files, respectively, to increase Joomla performance, but these are specific to every joomla website, depending on its destination. In case you modify them, you should check the apache server documentation to maintain your website free of errors.

Web Attacks Through SQL Injection - A New Solution to Increase SQL Based Applications Security

The management of relational databases is performed by using SQL (Structured Query Language) that helps
you to manipulate data inside a collection of tables. Practically, at the web level, SQL language represent the bridge of communication between a web application and a database. In the same manner, the user interacts with the database at a certain point in a given database driven application.

SQL injection represents a hacking method that is based on the security vulnerabilities of web applications having a database backend. It has many implementation forms and basically it consists of malicious SQL code (or non-intended to be used in a given application) that, after execution, could determine the complete destruction of a database, the revealing of secret informations from the database records and more.

The most vulnerable to SQL injection attacks are web forms. For example, if next SQL code is used in a login system, a username could be selected from the usersname table due to the fact that the boolean value of the code 'a'='a' is true in any situation:


CODE
SELECT * FROM usersname WHERE name = 'John' OR 'a'='a';

In the case presented earlier, a hacker could bypass the authentication system or even more, to compromise the database with a DROP TABLE statement. Fortunately, solutions to increase the general security of web applications back-ended with relational databases exist.

Martin Bravenboer presents a new methods to avoid the security leaks in database driven applications in his Ph.D. Thesis entitled "Exercises in Free Syntax-Syntax Definition, Parsing, and Assimilation of Language Conglomerates". The techniques of totally removal of the SQL insecurities is based on the usage of an API (application programming interface) in combination with easy strings manipulation.

The method of embedding the syntax of SQL language into a host language like Java or PHP is generalized for many pairs host-guest type programming languages. The content of the Ph.D thesis is available on-line as PDF document and can help you to better understand the mechanisms of SQL injection and respectively the recommended coding procedures.

Free Acrobat.com Online Service Suite

The free Acrobat.com online service suite provides web based applications and tools to manage and share documents and files. There are web conferences (communication in real time) and storage solutions available, as well as a word processor and an online PDF converter.

The applications and tools contained in the suite are: Share, Create PDF, Adobe Buzzword, Adobe ConnectNow and My Files. They make the online collaboration with your team a lot easier, at the same time providing flexible access from any Internet connection.

Adobe Buzzword is a web browser based word processor capable of editing and exporting many types of documents like .txt (plain text), .pdf (Adobe PDF), .docx and .doc (Microsoft Word), HTML and more. Images (JPEG, PNG or GIF) can be inserted and easily positioned in documents. Authoring rights can be assigned to users for a certain document. The free online word processor also has many other features besides the ones mentioned in this article, so much so that due its overall capabilities it could compete with commercial desktop software.

Adobe ConnectNow is an online conferencing application that makes work more productive through an efficient web based collaboration system. Among its multiple features Adobe ConnectNow provides: video conferencing opportunity, chat pod, a unique URL for your meeting room and more.

For file sharing and storage there are 5GB of web disk space for any user account. The files can be organized online in a flexible way through a simple to use interface. There are limitations regarding the type of files uploaded and respectively shared: you are not allowed to use various formats of video, audio, executable, fonts, archives or database and raster image files on the Acrobat.com account.

Acrobat.com services are supported on Microsoft Windows XP and Vista as well as on Mac OS X. The online service suite from ADOBE can also be accessed through a Rich Internet Application (the AIR version of Acrobat.com) which provides the possibility to publish, share, edit or browse documents directly from the computer desktop. The AIR version of Acrobat.com can be downloaded from here.

Advertisers Protest Against the Google-Yahoo! Partnership

The Association of National Advertisers has voiced its concerns related to the implications that a Google-Yahoo! agreement would have on fair competition. The letter sent to the Department of Justice, which is currently reviewing the partnership between the two companies, comprises “a comprehensive, independent analysis, which included input from the Board’s members and face-to-face discussions with Google and Yahoo!” the association claims.




ANA's concerns are related to the fact that, should the partnership be given the green light, the two companies would be responsible for over 90% of the search advertising business. This can lead to the development of an unhealthy market, as both users and advertisers are not provided with the same possibility of choice. According to the association, the Google-Yahoo! alliance “will likely diminish competition, increase concentration of market power, limit choices currently available and potentially raise prices to advertisers for high quality, affordable search advertising.”



As it already common knowledge, the two companies have reached an agreement that will allow Google to display ads along with the search results provided by Yahoo! Although regulation was not compulsory, the partners have decided to delay the closure of their business agreement for 100 days, so that governmental institutions have their say on whether the affiliation is legitimate or not.



ANA was not the only organization to protest against the deal. From the very beginning, Microsoft too has expressed disapproval with the association. “If search is the gateway to the Internet, and most believe that it is, this deal will put Google in a position to own that gateway and the information that flows through it,” said Brad Smith, Microsoft Corp. senior vice president and general counsel, on July 15. “Never before in the history of advertising has one company been in the position to control prices on up to 90 percent of advertising in a single medium. Not in television, not in radio, not in publishing. It should not happen on the Internet.” he concluded by saying.

Wednesday, September 24, 2008

Web Browser Javascript Benchmark

How does your favorite browser's Javascript engine speed compare to other popular browsers? The speed of your browser's Javascript is becoming more and more important because of Web 2.0's reliance on Ajax and complex Javascript libraries. I have written a benchmark test, which you can run on your machine at home, to compare the newest versions of Internet Explorer, Opera, Safari, and Firefox. How does your favorite browser stand up to the competition?

See the results here

Friday, September 12, 2008

Firefox 3.1 To Add Private Browsing Mode

Firefox 3.1 is looking like it's going to be more of a major release than most of their .0 releases.

Not for the first time, Mozilla has let it out in the Mozilla Wiki that a feature will be added to the next version of Firefox, to wit: a private browsing mode. This is a mode in which writes to cache, history, and other traces of the user's browsing activity are blocked.

A note in the Wiki in a series of updates from the dev team states: "Private Browsing Mode: Ehsan went and implemented Connor's functional spec bug 248970 - way to go! - now back on track for beta date " Bug 248970 began in 2004 with a feature suggestion, noting that Apple's Safari was going to get such a feature and Firefox ought to have one too.

In recent days we have received betas of both Internet Explorer 8 and Google's Chrome that also implement a private browsing mode. Clearly Firefox needed this mode and the team was working on it. Only Opera is left without one.

Saturday, September 6, 2008

Google Blogging Platform Gets More Social Friendly

Google has announced that all the users of the Blogger platform will soon have greater opportunities to tighten the bonds with the other users of Google's blogging system. “Following,” a new feature that will be implemented in the next couple of weeks in all blogs, allows bloggers to interact more with the other members of the online community.



The feature makes it possible for users to get updates on who follows their blog - which means, for those who are not accustomed to the whole blogging community terminology - who added them to the “favorite blogs” sidebar. Bloggers who have already reached a steady audience can now show their appreciation for the support received so far by also adding some of its members to the public list of “supporters.” This means that, if someone likes your blog and is not shy about making it public, you can return the favor by displaying their pictures, names and weblog addresses on the side of your blog, using the “Followers” feature.



The more solid interconnection between bloggers can create an augmented sense of membership to a dynamic community. Also, it can help people who only read certain blogs easier develop a database of favorite personal webpages to follow in the future. This is because the followers are usually interested in the same subjects as those who are tracked using the new feature.



The same also goes the other way round. Bloggers who decide to follow a colleague's personal page will get automatic updates whenever they publish a new post. The subscription to “Following” can be made both publicly and anonymously, because some may not want, for various reasons, to appear in their favorite bloggers' followers side list.



The team at Google is also preparing a new application for blogs – Google Friend Connect, which promises even more engaging social experiences. Although a good idea, the “Following” feature can cause something that may be easily labeled as discrimination because, although bloggers who use the Google platform can add other bloggers who use different platforms on their friends list, the opposite is impossible. And, if someone doesn't add you to the list, you may want to give them the same treatment, which comes against Google's call for socializing and friendly behavior.

The new TraceMonkey Just-In-Time compiler brings notable improvements

Firefox 3.1 Gets Major JavaScript Speed Boost
The new TraceMonkey Just-In-Time compiler brings notable improvements
The latest Firefox 3.1 nightly-built comes with a new JIT compiler for SpiderMonkey, Gecko's JavaScript engine. The compiler is part of a project called TraceMonkey, which aims at bringing significant improvements in JavaScript performance. The tests so far show major speed boost in JavaScript functions.

TraceMonkey is based on a technique called Trace Trees which in essence determines and compiles the most often used code. The technique was developed at the Irvine University of California (UCI) and was implemented in collaboration with the Tamarin Virtual Machine project. This is set to bring a new level of JavaScript performance "where instead of competing against other interpreters, we start to compete against native code", notes Mike Shaver, Interim VP of Engineering at Mozilla.

A test performed with Apple's SunSpider JavaScript Benchmarking tool shows a 1.8x performance increase for Firefox 3.1 with TraceMonkey over Firefox 3 and the SunSpider ubench test shows a whooping 22.5x performance increase. In comparison, Firefox 3 brings an overall 0.2x (20%) performance improvement over Firefox 2. Other tests like an image manipulation demo and Sylvester 3D-based matrix multiplications reveal a factor of over 6x performance increase.

Brendan Eich, Mozilla Chief Technology Officer, considers that the overall improvement score of 2x is an appropriate estimation for the current implementation, but he's certain this will further improve. "But this is only a start. With tracing, performance will keep going up. We have easy small linear speedup tasks remaining (better register allocation, spill reduction around built-in calls). We will trace string and regular expression code and break through the '2' barrier. We will even trace into DOM methods," he notes and Mike Shaver shares this opinion: "There are many wins left in each one of those benchmarks, and we'll be working on those through Firefox 3.1 and beyond: better code generation, more efficient guards, improvements to some data structures, parallel compilation, use of specific processor features, new optimization passes, tracing more code patterns, and many more".

Developers should note that TraceMonkey, while present in the latest nightly built of Firefox 3.1, is turned OFF by default. For testing purposes, an image manipulation demo page set up by Mike Schroepfer can be used; the corresponding screencast can be watched instead. More tech savvy users that are interested in the tracing technology can read the original Trace Trees paper or the the Hotpath paper.

Friday, September 5, 2008

Google Reps Unveil Chrome Making-Of Secrets -Video

Google has presented, during a media event lasting nearly an hour, its latest, highly acclaimed product. Probably anyone on the planet with an Internet connection is already familiar with Google Chrome, the first open source web browser.



During the conference, Google officials presented the capabilities of the product that has already generated a lot of stir, along with some behind-the-scenes development stories. The main “lecturer” was Sundar Pichai, Google product management vice president, who started by saying that the team working on Chrome tried to emulate the technologies and the user experience from behind Google's most successful product, the search engine used by nearly two thirds of the planet.



Pichai underscored that the main aspect that differentiated the browser from its competitors was that it didn’t stand out, and was as unobtrusive as possible. “The motto in the whole team was how do we minimize Chrome. We used to call it “content, not Chrome” [...]. Our view is that the browser is just an application, is just a tool for people to interact with the sites and applications they care about. So browsers should not be self important.”



“In Chrome, we do not interrupt users at all. There are no dialogs which pop-up in front of you and ask you to do something. So our goal is that the user should enjoy surfing the web and the browser should stay out of the way.” added the Google official.



The Google rep highlighted the three significant features that actually distinguished Chrome from anything else on the market – the rendering engine, the multiprocess technology and V8, a JavaScript engine that developers have built from scratch. Rendering is based on the same engine that powers Safari, which enables at least some of the web developers to easily adapt their webpages to fit the browser. Multiprocessing has the main function of increasing the speed of the browser, but also of avoiding the crashing of the entire browser when a tab malfunctions. The V8 JavaScript engine speeds up even more the reactions of Chrome, whenever users employ it to do something in particular.



While Sundar Pichai held a speech focused mostly on technical facts, Larry Page, one of Google's co-founders, joked about the fact that he usually ruled over his team with an iron fist, but that the people who worked on Chrome did a really good job. “I've been using Chrome for quite a while actually and I've really enjoyed using it. I used it on a slow, old computer on purpose to really force them to make it fast without a lot of memory and on slower computer.” said Page.



Meanwhile, Software Engineer at the company Amanda Walker announced that the Mac and Linux versions were under development, although no one could estimate the exact date of release. Pichai also tackled this topic for the journalists gathered at the official release event, saying that the internal need for the two versions of the browser (since many Googlers - the company staff - also use Linux and Mac OS X platforms) should make development pick up the pace.

Video