<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tmtbox &#187; technology</title>
	<atom:link href="http://www.tmtbox.com/category/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tmtbox.com</link>
	<description>technology media and telecomm</description>
	<lastBuildDate>Sat, 31 Jul 2010 04:43:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Play Framework,Java Web Applications Framework</title>
		<link>http://www.tmtbox.com/play-frameworkjava-web-applications-framework</link>
		<comments>http://www.tmtbox.com/play-frameworkjava-web-applications-framework#comments</comments>
		<pubDate>Wed, 07 Jul 2010 11:08:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Play Framework]]></category>
		<category><![CDATA[Web Applications]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=970</guid>
		<description><![CDATA[The Play framework makes it easier to build Web applications with Java A web app in 10 minutes using Play! from zenexity on Vimeo. The Play framework is a clean alternative to bloated Enterprise Java stacks. It focuses on developer productivity and targets RESTful architectures. Play is a perfect companion to agile software development. The [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The Play framework makes it easier to build Web applications with Java</strong></p>
<p><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7087610&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=BCE569&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7087610&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=BCE569&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>
<p><a href="http://vimeo.com/7087610">A web app  in 10 minutes using Play!</a> from <a href="http://vimeo.com/user2463720">zenexity</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>The <a href="http://www.playframework.org/">Play framework</a> is a clean alternative to bloated Enterprise Java stacks. It focuses on developer productivity and targets RESTful architectures. Play is a perfect companion to agile software development.</p>
<p>The Play framework’s goal is to ease web applications development while sticking with Java. </p>
<p><a href="http://www.playframework.org/documentation/1.0.3/home">Play framework 1.0.3 documentation</a></p>
<p>Download<a href="http://download.playframework.org/"> Play Framework</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/play-frameworkjava-web-applications-framework/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Facebook satisfied a need for speed</title>
		<link>http://www.tmtbox.com/how-facebook-satisfied-a-need-for-speed</link>
		<comments>http://www.tmtbox.com/how-facebook-satisfied-a-need-for-speed#comments</comments>
		<pubDate>Wed, 16 Jun 2010 16:04:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=965</guid>
		<description><![CDATA[By Mac Slocum Remember how Facebook used to lumber and strain? And have you noticed how it doesn&#8217;t feel slow anymore? That&#8217;s because the engineering team pulled off an impressive feat: an in-depth optimization and rewrite project made the site twice as fast. Robert Johnson, Facebook&#8217;s director of engineering and a speaker at the upcoming [...]]]></description>
			<content:encoded><![CDATA[<p>By Mac Slocum</p>
<p>Remember how Facebook used to lumber and strain? And have you noticed  how it doesn&#8217;t feel slow anymore? That&#8217;s because the engineering team  pulled off an impressive feat: an in-depth optimization and rewrite  project made the site <a href="http://www.facebook.com/note.php?note_id=307069903919">twice as  fast</a>.</p>
<p><a href="http://www.facebook.com/robert">Robert Johnson</a>,  Facebook&#8217;s director of engineering and a speaker at the upcoming <a href="http://en.oreilly.com/velocity2010/public/schedule/speaker/44471">Velocity</a> and <a href="http://www.oscon.com/oscon2010/public/schedule/speaker/44471">OSCON</a> conferences, discusses that project and its accompanying lessons  learned below. Johnson&#8217;s insights have broad application &#8212; you don&#8217;t  need <a href="http://blogs.wsj.com/digits/2010/05/18/facebook-crosses-the-500-million-threshold-comscore-says/">hundreds  of millions of users</a> to reap the rewards.</p>
<h2>Facebook recently overhauled its platform to improve performance.  How long did that process take to complete?</h2>
<p><strong>Robert Johnson:</strong> Making the site faster isn&#8217;t  something we&#8217;re ever really done with, but we did make a big push the  second half of last year. It took about a month of planning and <a href="http://www.facebook.com/note.php?note_id=307069903919">six months  of work</a> to make the site twice as fast.</p>
<h2>What big technical changes were made during the rewrite?</h2>
<p><strong>Robert Johnson:</strong> The two biggest changes were to  pipeline the page content to overlap generation, network, and render  time, and to move to a very small core JavaScript library for features  that are required on the initial page load.</p>
<p>The pipelining project was called BigPipe, and it streams content  back to the browser as soon as it&#8217;s ready. The browser can start  downloading static resources and render the most important parts of the  page while the server is still generating the rest of the page. The new  JavaScript library is called <a href="http://css.dzone.com/articles/how-facebook-jacked-javascript">Primer</a>.</p>
<p>In addition to these big site-wide projects, we also performed a lot  of general cleanup to make everything smaller and lighter, and we  incorporated best practices such as <a href="http://css-tricks.com/css-sprites/">image spriting</a>.</p>
<p><span id="more-965"></span></p>
<h2>Were developers encouraged to work in different ways?</h2>
<p>This was one of the trickiest parts of the project. Moving fast is  one of our most important values, and we didn&#8217;t want to do anything to  slow down development. So most of our focus was on building tools to  make things perform well when developers do the things that are easiest  for them. For example, with Primer, making it easy to integrate and hard  to misuse was as important to its design as making it fast.</p>
<p>We also built detailed monitoring of everything that could affect  performance, and set up systems to check code before release.</p>
<p>It&#8217;s really important that developers be automatically alerted when  there&#8217;s a problem, instead of developers having to go out of their way  for every change. That way, people can continue innovating quickly, and  only stop to deal with performance in the relatively unusual case that  they&#8217;ve caused a problem.</p>
<h2>How do you address exponential growth? How do you get ahead of it?</h2>
<p>You never get ahead of everything, but you have to keep ahead of most  things most of the time. So whenever you go in to make a particular  system scale better, you can&#8217;t settle for twice as good, you really need  to shoot for 10 or 100 times as good. Making something twice as good  only buys a few months, and you&#8217;re back at it again as soon as you&#8217;re  done.</p>
<p>In general, this means scaling things by allowing greater federation  and parallelism and not just making things more efficient. Efficiency is  of course important, too, but it&#8217;s really a separate issue.</p>
<p>Two other important things: have good data about how things are  trending so you catch problems before you&#8217;re in trouble, and test  everything you can before you have to rely on it.</p>
<p>In most cases the easiest way for us to test something new is to put  it in production for a small number of users or on a small number of  machines. For things that are completely new, we set up &#8220;dark launches&#8221;  that are invisible to the user but mimic the load from the real product  as much as possible. For example, before we launched chat we had  millions of JavaScript clients connecting to our backend to make sure it  could handle the load.</p>
<h2>Facebook&#8217;s size and traffic aren&#8217;t representative of most sites, but  are there speed and scaling lessons you&#8217;ve learned that have universal  application?</h2>
<p>The most important one isn&#8217;t novel, but  it&#8217;s worth repeating: <em>scale everything horizontally</em>.</p>
<p>For example, if you had a database for users that couldn&#8217;t handle the  load, you might decide to break it into two functions &#8212; say, accounts  and profiles &#8212; and put them on different databases. This would get you  through the day but it&#8217;s a lot of work and it only buys you twice the  capacity. Instead, you should write the code to handle the case where  two users aren&#8217;t on the same database. This is probably even more work  than splitting the application code in half, but it will continue to pay  off for a very long time.</p>
<p>The most important thing here isn&#8217;t to have fancy systems for  failover or load balancing. In fact, those things tend to take a lot of  time and get you in trouble if you don&#8217;t get them right. You really just  need to be able to split any function to run on multiple machines that  operate as independently as possible.</p>
<p>The second lesson is to <em>measure everything you can</em>.  Performance bottlenecks and scaling problems are often in unexpected  places. The things you think will be hard are often not the biggest  problems, because they&#8217;re the things you&#8217;ve thought about a lot. It&#8217;s  actually a lot more like debugging than people realize. You can&#8217;t be  sure your product doesn&#8217;t have bugs just by looking at the code, and  similarly you can&#8217;t be sure your product will scale because you designed  it well. You have to actually set it up and pound it with traffic &#8212;  real or test &#8212; and measure what happens.</p>
<h2>What is Scribe? How is it used within Facebook?</h2>
<p><a href="http://github.com/facebook/scribe">Scribe</a> is a system we  wrote to aggregate log data from thousands of servers. It turned out to  be generally useful in a lot of places where you need to move large  amounts of data asynchronously and you don&#8217;t need database-level  reliability.</p>
<p>Scribe scales extremely large  &#8212; I think we do more than 100 billion  messages a day now. It has a simple and easy-to-use interface, and it  handles temporary network or machine failures nicely.</p>
<p>We use Scribe for everything from logging performance data, to  updating search indexes, to gathering metrics for platform apps and  pages. There are more than 100 different logs in use at Facebook today.</p>
<h2>I was struck by a phrase in one of your recent <a href="http://www.facebook.com/note.php?note_id=32008268919">blog posts</a>:  You said Scribe has a &#8220;reasonable level of reliability for a lot of use  cases.&#8221; How did you sell that internally?</h2>
<p>For some use cases I didn&#8217;t. We can&#8217;t use the system for user data  because it&#8217;s not sufficiently reliable, and keeping user data safe is  something we take <em>extremely</em> seriously.</p>
<p>But there are a lot of things that aren&#8217;t user data, and in practice,  data loss in Scribe is extremely rare. For many use cases it&#8217;s well  worth it to be able to collect a massive amount of data.</p>
<p>For example, the statistics we provide to page owners depend on a  large amount of data logged from the site. Some of this is from large  pages where we could just take a sample of the data, but most of it is  from small pages that need detailed reporting and can&#8217;t be sampled. A  rare gap in this data is much better than having to limit the number of  things we&#8217;re able to report to page owners, or only giving approximate  numbers that aren&#8217;t useful for smaller pages.</p>
<p>Source <a href="http://radar.oreilly.com/2010/06/how-facebook-satisfied-a-need.html" target="_self">How Facebook satisfied a need for speed</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/how-facebook-satisfied-a-need-for-speed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eclipse 3.7,Indigo</title>
		<link>http://www.tmtbox.com/eclipse-3-7-indigo</link>
		<comments>http://www.tmtbox.com/eclipse-3-7-indigo#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:17:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse 3.7]]></category>
		<category><![CDATA[Indigo]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=956</guid>
		<description><![CDATA[eclipse 3.7 has been created in the repository HEAD branch, the version code-named Indigo (indigo).]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tmtbox.com/wp-content/uploads/2010/06/eclipse.gif"><img class="aligncenter size-full wp-image-957" title="eclipse" src="http://www.tmtbox.com/wp-content/uploads/2010/06/eclipse.gif" alt="eclipse" width="350" /></a></p>
<p><a title="eclipse" href="http://www.eclipse.org/" target="_blank">eclipse 3.7</a> has been created in the  repository HEAD branch, the version code-named Indigo (indigo).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/eclipse-3-7-indigo/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Modify Your WordPress Theme With Stiqr</title>
		<link>http://www.tmtbox.com/modify-your-wordpress-theme-with-stiqr</link>
		<comments>http://www.tmtbox.com/modify-your-wordpress-theme-with-stiqr#comments</comments>
		<pubDate>Mon, 03 May 2010 08:54:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[Stiqr]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=949</guid>
		<description><![CDATA[Ordinary self-hosted WordPress users know only too well that even though choosing and using thousands of available themes is a snap, creating one is an almost impossible task. You could use one of the customizable themes to modify the look to your liking, but that’s as far as you can go. Theme creating is not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tmtbox.com/wp-content/uploads/2010/05/Stiqr.jpg"><img class="aligncenter size-medium wp-image-950" title="Stiqr" src="http://www.tmtbox.com/wp-content/uploads/2010/05/Stiqr-300x177.jpg" alt="Stiqr" width="300" height="177" /></a></p>
<p><a href="http://www.tmtbox.com/wp-content/uploads/2010/05/Stiqr.jpg"></a>Ordinary self-hosted  WordPress users know only too well that even though choosing and  using thousands of available themes is a snap, creating one is an almost  impossible task. You could use one  of the customizable themes to modify the look to your liking, but  that’s as far as you can go. Theme creating is not for the faint-hearted  who are afraid to plunge into HTML, PHP and CSS coding.</p>
<p>But that’s not the case anymore. I recently stumbled across a  WordPress theme editor plugin called <a href="http://www.stiqr.com/">Stiqr</a> – still in beta as every other Web 2.0 service is – which can help  ordinary web users to become a “skillful” web designer. If you can drag  and drop objects, you can modify the look of your web. Self-hosted  WordPress is officially included in the list of supported type of  websites.</p>
<p>Read <a title="Stiqr" href="http://www.makeuseof.com/tag/modify-wordpress-theme-browser-stiqr/">How To Modify Your WordPress Theme Via Browser Using Stiqr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/modify-your-wordpress-theme-with-stiqr/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to redirect URL with Javascript</title>
		<link>http://www.tmtbox.com/how-to-redirect-url-with-javascript</link>
		<comments>http://www.tmtbox.com/how-to-redirect-url-with-javascript#comments</comments>
		<pubDate>Thu, 26 Nov 2009 11:31:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=910</guid>
		<description><![CDATA[&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;1.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#60;script language=”javascript” type=”text/javascript”&#62; window.location.href=”login.php?backurl=”+window.location.href; &#60;/script&#62; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;2.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#60;script language=”javascript”&#62; alert(”back”); window.history.back(-1); &#60;/script&#62; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;3.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#60;script language=”javascript”&#62; window.navigate(”tmtbox.php”); &#60;/script&#62; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;4.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#60;script language=”JavaScript”&#62; self.location=”tmtbox.htm”; &#60;/script&#62; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;5.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#60;script language=”javascript”&#62; alert(”Access Violation”); top.location=”error.php”; &#60;/script&#62;]]></description>
			<content:encoded><![CDATA[<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;1.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&lt;script language=”javascript” type=”text/javascript”&gt;<br />
window.location.href=”login.php?backurl=”+window.location.href;<br />
&lt;/script&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;2.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&lt;script language=”javascript”&gt;<br />
alert(”back”);<br />
window.history.back(-1);<br />
&lt;/script&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;3.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&lt;script language=”javascript”&gt;<br />
window.navigate(”tmtbox.php”);<br />
&lt;/script&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;4.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&lt;script language=”JavaScript”&gt;<br />
self.location=”tmtbox.htm”;<br />
&lt;/script&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;5.&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&lt;script language=”javascript”&gt;<br />
alert(”Access Violation”);<br />
top.location=”error.php”;<br />
&lt;/script&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/how-to-redirect-url-with-javascript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 8 Release Expected in 2012</title>
		<link>http://www.tmtbox.com/windows-8-release-2012</link>
		<comments>http://www.tmtbox.com/windows-8-release-2012#comments</comments>
		<pubDate>Tue, 24 Nov 2009 05:16:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=907</guid>
		<description><![CDATA[Windows 8 will be with us in 2012, according to Microsoft roadmaps apparently revealed at last week&#8217;s Professional Developers&#8217; Conference (PDC). Although Microsoft has yet to officially discuss plans for Windows 8, a 2012 release would be consistent with previous Microsoft pledges to release a new desktop operating system every three years. Windows 7 was [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tmtbox.com/wp-content/uploads/2009/11/163929-windows_updates_original.jpg"><img class="alignright size-full wp-image-908" title="163929-windows_updates_original" src="http://www.tmtbox.com/wp-content/uploads/2009/11/163929-windows_updates_original.jpg" alt="" width="180" height="119" /></a>Windows 8 will be with us in 2012, according to Microsoft roadmaps apparently revealed at last week&#8217;s Professional Developers&#8217; Conference (PDC).</p>
<p>Although Microsoft has yet to officially discuss plans for Windows 8, a 2012 release would be consistent with previous Microsoft pledges to release a new desktop operating system every three years. Windows 7 was released a month ago.</p>
<p>The latest speculation suggesting a 2012 release has been credited to Microsoft Kitchen, a blog with the tagline &#8220;Serving up some seriously tasty Microsoft.&#8221;</p>
<p>Despite showing roadmaps apparently picked up at PDC, the blog has little else to reveal about Windows 8.</p>
<p>However, a Microsoft employee may have inadvertently spilled the beans on one key Windows 8 feature last month.</p>
<p>Microsoft employee Robert Morgan appeared to detail the software giant&#8217;s plans to make a 128-bit version of Windows 8, and even Windows 9, on LinkedIn, where he listed his job as &#8216;senior research and development&#8217;. His profile, which has now been removed from the business networking site, said Morgan was &#8220;working in high security department for research and development involving strategic planning for medium and longterm projects&#8221;.</p>
<p>It went on to reveal that his R&amp;D projects included: &#8220;128-bit architecture compatibility with the Windows 8 kernel and Windows 9 project plan&#8221;. He&#8217;s also responsible for &#8220;forming relationships with major partners: Intel, AMD, HP and IBM&#8221;.</p>
<p>Microsoft is also looking for employees to help shape Windows 8, according to reports online. Neowin.net spotted the vacancy for a Windows 7 software engineer on Microsoft&#8217;s site.</p>
<p>&#8220;We just finished up work on Windows 7, and are pushing forth on Windows 8 planning and preparation,&#8221; said the blurb in the job ad, which was replicated on the CodenameWindows website.</p>
<p>&#8220;As part of this team, you will help shape Windows 8. Components of our code include a core agent that runs as an NT service, an API layer and a UI application,&#8221; added the advert. (Via  PC Advisor)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/windows-8-release-2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search Engine Ranking Factors 2009</title>
		<link>http://www.tmtbox.com/search-engine-ranking-factors-2009</link>
		<comments>http://www.tmtbox.com/search-engine-ranking-factors-2009#comments</comments>
		<pubDate>Fri, 28 Aug 2009 03:56:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[Factors]]></category>
		<category><![CDATA[Ranking]]></category>
		<category><![CDATA[Search Engine]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=875</guid>
		<description><![CDATA[Every two years, SEOmoz surveys top SEO experts in the field worldwide on their opinions of the algorithmic elements that comprise search engine rankings. This year features contributors from the US, UK, Canada, Australia, New Zealand, Iceland, the Ukraine, the Dominican Republic and many more. Each participant was asked to rate more than 100 search [...]]]></description>
			<content:encoded><![CDATA[<p>Every two years, SEOmoz surveys top SEO experts in the field worldwide on their opinions of the algorithmic elements that comprise search engine rankings. This year features contributors from the US, UK, Canada, Australia, New Zealand, Iceland, the Ukraine, the Dominican Republic and many more.</p>
<p>Each participant was asked to rate more than 100 search ranking factors along with specific questions about hot issues in the SEO field. This document, representing the collective wisdom of expert practitioners, is, in opinion, one of the most useful resources for SEO practitioners of all varieties, helping to provide transparency into what matters (and doesn’t) for best practices in search engine optimization.</p>
<p>Read more <a title="Search Engine Ranking Factors" href="http://www.seomoz.org/article/search-ranking-factors" target="_blank">http://www.seomoz.org/article/search-ranking-factors</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/search-engine-ranking-factors-2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet Another Image Replacement Method</title>
		<link>http://www.tmtbox.com/yet-another-image-replacement-method</link>
		<comments>http://www.tmtbox.com/yet-another-image-replacement-method#comments</comments>
		<pubDate>Thu, 09 Jul 2009 17:39:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=825</guid>
		<description><![CDATA[Semantic CSS Image Replacement Yes, &#8220;YAIRM&#8221; (&#8220;Yet Another Image Replacement Method&#8221;) is a crappy acronym. Anyhow…. There have been several image replacement suggestions made over the past 5 years. Semantically, some just don’t make sense. Of course, the accessibility of your image replacement method and the semantic &#8220;correctness&#8221; has to do with how you code [...]]]></description>
			<content:encoded><![CDATA[<h2>Semantic CSS Image Replacement</h2>
<p>Yes,  &#8220;YAIRM&#8221; (&#8220;Yet Another Image Replacement Method&#8221;) is a crappy acronym.  Anyhow….</p>
<p>There have been several image replacement suggestions made over the past 5 years. Semantically, some just don’t make sense. Of course, the accessibility of your image replacement method and the semantic &#8220;correctness&#8221; has to do with how you code your HTML.</p>
<p>Pros</p>
<ul>
<li>This method works for both in-line and block style elements.</li>
<li>Accessible to screen readers and non-image/non-screen media.</li>
<li>Does not add extra elements only for styling (no extra <code>span</code>).</li>
<li>Works cross browser</li>
</ul>
<p>Cons</p>
<ul>
<li>Using images for text does not allow for text resizing (like all <code>IR</code> methods).</li>
<li>Does not handle &#8220;images off/CSS on&#8221; scenario; but neither do most layouts with background images, such as the sidebar on this blog.</li>
</ul>
<p>When I need to replace a header or some other text with an image, I simply give the <code>element</code> my  image replacement class (<code>&lt;h1 class="imgreplacement"&gt;</code>), and declare the background image, height and width I want to use either by providing an ID and defining the background image in the #id selector, or by targeting the <code>element</code> through specific/unique cascade. I place all of my image replacement css in a media=&#8221;screen&#8221;. Even though the media attribute is not heeded by all browsers, it is heeded by devices that are not screens. If your user than prints your webpage, the text that was replaced by an image in the browser will print as it semantically should.<br />
button.imgreplacement {    display:-moz-inline-box;   display:inline-block;   background:transparent none 0 0 no-repeat;   text-indent:-3000px;   font:0/0 Arial;   overflow:hidden;    color:rgba(255,255,255,0);   vertical-align:bottom;   background-image:url(http://www.evotech.net/articles/images/redx.gif);   width: 18px;   height: 18px;   border:none;   cursor: pointer, hand; }<br />
<span id="more-825"></span></p>
<h4>The CSS for the Image Replacement class:</h4>
<pre>.imgreplacement {
  display:-moz-inline-box;
  display:inline-block;
  background:transparent none 0 0 no-repeat;
  text-indent:-3000px;
  font:0/0 Arial;
  overflow:hidden;
  color:rgba(255,255,255,0);
  vertical-align:bottom;
}</pre>
<h4>XHTML markup and CSS Overrides:</h4>
<p>With my image replacement class, the image replacement method is reusable.</p>
<pre>&lt;h1 class="imgreplacment" title="Tool Tip Text here"&gt;Semantic Text&lt;/h1&gt;
&lt;a href="link.html" class="imgreplacement"&gt;Text that makes sense for this link&lt;/a&gt;
&lt;button class="imgreplacement" title="Close"&gt;Close Module&lt;/button&gt;

h1.imgreplacement {
  background-image: url(path/headerimage.jpg);
  height: 60px;
  width: 540px;
	 background-position: 20px 10px;
}

a.imgreplacement {
  background-image: url(path/linkimage.jpg);
  width: 120px;
  height: 60px;
}

button {
  background-image:url(images/redx.gif);
  width: 18px;
  height: 18px;
  border: none; // overwrite default border
  cursor: pointer;
}</pre>
<p>This is the button: <button class="imgreplacement" title="close">Close Module</button>. Note that is has layout, but it’s inline, and it has a tool-tip</p>
<h4>Explanation of the Image Replacement Class:</h4>
<p>The imgreplacement class does the following:</p>
<ul>
<li><code> display:-moz-inline-box;</code><br />
and <code>display:inline-block;</code> displays the element as an inline block. <code>inline-block</code> is not part of the CSS specifications, but it is supported by IE and all other grade-A browsers other than Firefox. This enables the image replacement to work on inline elements by enabling them to have width and height. The first line, <code>-moz-inline-box</code>, is for mozilla based browsers that don’t render <code>inline-block</code>. The second line is for IE, Safari 3 and Opera, though IE does not render <code>inline-block</code> truly inline.</li>
<li><code>background: transparent none 0 0 no-repeat;</code> sets a default to non-repeated background image placed at the top-left of the element block, but does not declare a background image, enabling you to overwrite the <code>none</code> with an image via a second, more precise, CSS declaration</li>
<li><code>text-indent:-3000px;</code> Text indent only applies to block elements. <code>text-indent</code>, when implemented, moves the start of the first line of text to the left or right depending on whether the property is assigned a negative or positive value. The <code>text-indent</code> is applied to <code>inline-block</code> elements, but not to <code>-moz-inline-box</code>. Note that IE does not render text-indent correctly, so generally I override the text-indent property for IE, but in this case the disappearing text quirk is to our benefit.</li>
<li><code>font:0/0 Arial;</code> Makes the font tiny or invisible for browsers. There are a few quirks: Opera doesn’t render this shorthand, and renders <code>font-size: 0;</code> at about 7px; IE6 and IE7 both render the font at about 1px and Safari doesn’t render font at size 0, but does intermittently underline the non-visible character at about 1px width per character.</li>
<li><code>overflow:hidden</code> hides anything that might be wider than the space provided. IE6 has the bad habit of deciding to grow elements to fit the content even if the size of the element is defined.</li>
<li><code>color:rgba(255,255,255,0);</code> Makes the font color transparent (opacity of 0) for those browsers that understand opacity via RGBA, which is a feature of CSS3 (Safari 3 and pre-alpha version of Firefox 3, but not IE6, IE7 or Firefox 2 for Windows).</li>
<li><code>vertical-align:bottom;</code> is required for the inline elements &#8211; it places them at the same level vertically with respect to the text around it across all grade-A browsers.</li>
</ul>
<h4>Additional tidbits</h4>
<ul>
<li>You have to define the width, height and background image of your element.</li>
<li>If needed, you can set the background position of the replacement image. It causes fewer cross browser issues to place the background image rather than setting margins due to differences in browsers interpretations of the box-model.</li>
<li>Remember to use sematic markup. If the image is an area header, use <code>h1-h6</code>. If it’s a link going somewhere, use <code>&lt;a&gt;</code>. If it isn’t linking anywhere, it’s not a link!</li>
<li>You can enhance the image replacement with a title. The title will display in some browsers as a tool tip. This may enhance the accessibility for those who use tooltips regularly.</li>
<li>You can declare a different background image using the <code>:hover</code> pseudoclass, so when the user hovers over the element with the mouse pointer, the image changes.</li>
</ul>
<p>While I just showed you a method of doing image replacement, I must caution against it. Using images for text is not optimum for accessibility. This method enables assistive devices to read your text with the semantic meaning defined by the encompassing element(s). This method enables users of alternative devices, such as cell phones, and text-only browsers to read your content. It also meets web standards in terms of separating content from presentation. However, when you use images to render text, your visitor is unable to control the font-size; which makes your site less than accessible. If you are required to use images instead of text to render content, and you can’t convince your client (boss, designer or contractee, or even yourself) of the stupidity (there, i said it) of using images for text, then this is the best method of making your inaccessible page accessible to the most people. Just try to make the text in your image large enough to be read by a user.(Via evotech.net)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/yet-another-image-replacement-method/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About the drag and drop</title>
		<link>http://www.tmtbox.com/about-the-drag-and-drop</link>
		<comments>http://www.tmtbox.com/about-the-drag-and-drop#comments</comments>
		<pubDate>Tue, 05 May 2009 17:31:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[drag and drop]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=776</guid>
		<description><![CDATA[Visual development environments typically let you manipulate objects in an application by selecting them with a mouse and moving them around the screen. Drag and drop lets you select an object, such as an item in a List control, or a Flex control such as an Image control, and then drag it over another component to add it [...]]]></description>
			<content:encoded><![CDATA[<p>Visual development environments typically let you manipulate objects in an application by selecting them with a mouse and moving them around the screen. Drag and drop lets you select an object, such as an item in a List control, or a Flex control such as an Image control, and then drag it over another component to add it to that component. You can add support for drag and drop to all Flex components. Flex also includes built-in support for the drag-and-drop operation for certain controls such as List, Tr e e, and DataGrid, that automate much of the processing required to support drag and drop.</p>
<p>The drag-and-drop operation has three main stages: initiation, dragging, and dropping:</p>
<p><strong>Initiation </strong>A user initiates a drag-and-drop operation by using the mouse to select a Flex component, or an item in a Flex component, and then moving the component or item while holding down the mouse button. For example, a user selects an item in a List control with the mouse and, while holding down the mouse button, moves the mouse several pixels. The selected component, the List control in this example, is the drag initiator.</p>
<p><strong>Dragging </strong>While still holding down the mouse button, the user moves the mouse around the Flex application. Flex displays an image during the drag, called the drag proxy. A drag source object (an object of type DragSource) contains the data being dragged.</p>
<p><strong>Dropping </strong>When the user moves the drag proxy over another Flex component, that component becomes a possible drop target. The drop target inspects the drag source object to determine whether the data is in a format that the target accepts and, if so, allows the user drop the data onto it. If the drop target determines that the data is not in an acceptable format, the drop target disallows the drop.</p>
<p>A drag-and-drop operation either copies or moves data from the drag initiator to the drop target. Upon a successful drop, Flex adds the data to the drop target and, optionally, deletes it from the drag initiator in the case of a move.</p>
<p>The following figure shows one List control functioning as the drag initiator and a second List control functioning as the drop target. In this example, you use drag and drop to move the ’Television’ list item from the drag initiator to the drop target:</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/asuge/EntryImages/20090225/drag_01.jpg" alt="" width="438" height="191" /></p>
<p>A single Flex component can function as both the drag initiator and the drop target. This lets you move the data within the component. The following example shows a List control functioning as both the drag initiator and the drop target:</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/asuge/EntryImages/20090225/drag_02.jpg" alt="" width="291" height="155" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/about-the-drag-and-drop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make Funny Picture With FunPhotoBox</title>
		<link>http://www.tmtbox.com/make-funny-picture-with-funphotobox</link>
		<comments>http://www.tmtbox.com/make-funny-picture-with-funphotobox#comments</comments>
		<pubDate>Wed, 08 Apr 2009 09:32:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[FunPhotoBox]]></category>
		<category><![CDATA[Picture]]></category>

		<guid isPermaLink="false">http://www.tmtbox.com/?p=736</guid>
		<description><![CDATA[Fun Photo Box which is similar to Photofunia, allows you to make funny photos with so many ready made pictures from billboard to Hollywood movies.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tmtbox.com/wp-content/uploads/2009/04/funphotobox.png"><img class="alignnone size-full wp-image-737" title="funphotobox" src="http://www.tmtbox.com/wp-content/uploads/2009/04/funphotobox.png" alt="" width="282" height="68" /></a></p>
<p><a title="Fun Photo Box" onclick="javascript:urchinTracker('/outbound/www.funphotobox.com/?ref=http_//www.google.com/reader/view/');" href="http://www.funphotobox.com/">Fun Photo Box</a> which is similar to Photofunia, allows you to <strong>make funny photos</strong> with so many ready made pictures from billboard to Hollywood movies.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmtbox.com/make-funny-picture-with-funphotobox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
