<?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: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-8221334614606924824</id><updated>2011-04-22T21:41:00.750+03:00</updated><category term='google app engine'/><category term='sample code'/><category term='technology'/><category term='webmaster tools'/><category term='java'/><category term='google maps'/><category term='swing'/><category term='j2se'/><category term='programming'/><category term='google webmasters tools'/><category term='code sample'/><category term='pagerank'/><category term='google street view'/><category term='google'/><title type='text'>Notes on computer science, programming and life</title><subtitle type='html'>My random thoughts and notes about everything, from programming to daily life.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://notesoncloud.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://notesoncloud.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>emre</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8221334614606924824.post-7725927407523610250</id><published>2011-04-22T21:41:00.000+03:00</published><updated>2011-04-22T21:41:00.816+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='google app engine'/><title type='text'>Google App Engine supports Java</title><content type='html'>&lt;span class="Apple-style-span"  style="  white-space: pre; font-family:Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Google App Engine supports Java&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8221334614606924824-7725927407523610250?l=notesoncloud.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notesoncloud.blogspot.com/feeds/7725927407523610250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/google-app-engine-supports-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/7725927407523610250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/7725927407523610250'/><link rel='alternate' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/google-app-engine-supports-java.html' title='Google App Engine supports Java'/><author><name>emre</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8221334614606924824.post-8739300550264280807</id><published>2009-05-13T20:42:00.007+03:00</published><updated>2009-05-13T20:42:01.932+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='j2se'/><category scheme='http://www.blogger.com/atom/ns#' term='code sample'/><title type='text'>Deleting files securely in Java</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;It is possible to delete a file securely in Java. I wrote this small java utility function. It utilizes a workaround in order to avoid &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug%5Fid=4715154"&gt;this bug&lt;/a&gt;. After running this code I undeleted the file with &lt;a href="http://undelete-plus.com/"&gt;Undelete Plus 2.9.8&lt;/a&gt;. The file was filled with random bytes, not the original content, so it worked. But further testing might me needed before production.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the code:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;public void secureDelete(File file) throws IOException {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;if (file.exists()) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;long length = file.length();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;SecureRandom random = new SecureRandom();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;RandomAccessFile raf = new RandomAccessFile(file, "rws");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;raf.seek(0);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;raf.getFilePointer();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;byte[] data = new byte[64];&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;int pos = 0;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;while (pos &lt;&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;   &lt;/span&gt;random.nextBytes(data);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;   &lt;/span&gt;raf.write(data);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;   &lt;/span&gt;pos += data.length;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;raf.close();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;  &lt;/span&gt;file.delete();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8221334614606924824-8739300550264280807?l=notesoncloud.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notesoncloud.blogspot.com/feeds/8739300550264280807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://notesoncloud.blogspot.com/2009/05/sample-code-for-securely_13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/8739300550264280807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/8739300550264280807'/><link rel='alternate' type='text/html' href='http://notesoncloud.blogspot.com/2009/05/sample-code-for-securely_13.html' title='Deleting files securely in Java'/><author><name>emre</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8221334614606924824.post-9001379467439349266</id><published>2009-04-07T20:13:00.003+03:00</published><updated>2009-04-10T14:29:01.806+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='j2se'/><category scheme='http://www.blogger.com/atom/ns#' term='swing'/><category scheme='http://www.blogger.com/atom/ns#' term='sample code'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Sample code for Image Resizing in Java</title><content type='html'>I needed to resize a java.awt.Image object so that it fits into a small JLabel in my j2se/java/swing desktop application. I wrote a utility method which resizes the given Image to fit into given width and height. Here is the code of my resize method:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;// import java.awt.Image;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;// import java.awt.image.BufferedImage;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;/**&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; * Resizes the given Image so that it fits into given width and height.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; * &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; * @param inputImage&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; * @param fitWidth&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; * @param fitHeight&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; * @return&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;public static Image fitImage(Image inputImage, int fitWidth, int fitHeight) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    int w = inputImage.getWidth(null);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    int h = inputImage.getHeight(null);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    double dw = w / (double) fitWidth;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    double dh = h / (double) fitHeight;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    if (dw &lt;= 1d &amp;amp;&amp;amp; dh &lt;= 1d)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;        return inputImage;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    double d = Math.max(dw, dh);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    w = (int)Math.min(fitWidth, Math.round(w / d));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    h = (int)Math.min(fitHeight, Math.round(h / d));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    BufferedImage bufferedImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    bufferedImage.getGraphics().drawImage(inputImage, 0, 0, w, h, null);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;    return bufferedImage;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8221334614606924824-9001379467439349266?l=notesoncloud.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notesoncloud.blogspot.com/feeds/9001379467439349266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/sample-code-for-image-resizing-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/9001379467439349266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/9001379467439349266'/><link rel='alternate' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/sample-code-for-image-resizing-in-java.html' title='Sample code for Image Resizing in Java'/><author><name>emre</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8221334614606924824.post-4508539046065428642</id><published>2009-04-02T19:12:00.001+03:00</published><updated>2009-04-02T19:12:01.121+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webmaster tools'/><category scheme='http://www.blogger.com/atom/ns#' term='pagerank'/><category scheme='http://www.blogger.com/atom/ns#' term='google webmasters tools'/><title type='text'>Google Tools for Webmasters</title><content type='html'>Google has a great service for webmasters: &lt;a href="http://www.google.com/webmasters/"&gt;Google Webmaster Tools&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today, a website is not visible to the world if it's not visible to &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;. And a small &lt;a href="http://en.wikipedia.org/wiki/PageRank"&gt;pagerank&lt;/a&gt; is not enough for a publishing website to survive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the old days a webmaster had to submit her site's URL to search engines and wait for it to be indexed. Now that there is only one dominant search engine in the market (Google) it is sufficient for a website to be seen on google search results.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Other than submitting URLs of your site to Google, you can see a lot of information about your site by using this tool. Google gives results of crawling your site. Those results include: broken links, HTTP errors, unfollowed URLs and information about your robots.txt file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another important feature is that Google sends warning messages through this tool, before giving pagerank penalty or &lt;a href="http://googlewebmastercentral.blogspot.com/2009/02/best-practices-against-hacking.html"&gt;when it detects your site is hacked&lt;/a&gt;. or &lt;a href="http://googlewebmastercentral.blogspot.com/2008/10/message-center-warnings-for-hackable.html"&gt;even before your site is hacked&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8221334614606924824-4508539046065428642?l=notesoncloud.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notesoncloud.blogspot.com/feeds/4508539046065428642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/google-tools-for-webmasters.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/4508539046065428642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/4508539046065428642'/><link rel='alternate' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/google-tools-for-webmasters.html' title='Google Tools for Webmasters'/><author><name>emre</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8221334614606924824.post-4733146571589877900</id><published>2009-04-02T13:58:00.000+03:00</published><updated>2009-04-02T14:30:18.993+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google street view'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Technology behind Google Maps Street View</title><content type='html'>&lt;div&gt;I really have wondered and looked up in google for &lt;a href="http://www.gearthblog.com/blog/archives/2007/05/technology_behind_go.html"&gt;the technology behind Google Maps Street View&lt;/a&gt;. It's such an amazing technology that changes my perception of Google Maps completely. Another page is &lt;a href="http://www.popularmechanics.com/technology/industry/4232286.html"&gt;an interview with the people collecting images for google street view&lt;/a&gt; driving through cities.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Although the technology seems so simple, it is a great innovation for the world wide web. I bet we will see great applications of this in the near future.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For example, a mall (a restaurant, a store etc.) can make a 3D journey in its building and add it to its website.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8221334614606924824-4733146571589877900?l=notesoncloud.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://notesoncloud.blogspot.com/feeds/4733146571589877900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/technology-behind-google-maps-street.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/4733146571589877900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8221334614606924824/posts/default/4733146571589877900'/><link rel='alternate' type='text/html' href='http://notesoncloud.blogspot.com/2009/04/technology-behind-google-maps-street.html' title='Technology behind Google Maps Street View'/><author><name>emre</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
