<?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-6162085167223928155</id><updated>2011-08-17T17:32:51.807+02:00</updated><category term='sticky'/><category term='img'/><category term='garden'/><category term='android'/><category term='diy'/><category term='javascript'/><category term='CSS'/><category term='google maps'/><category term='general'/><category term='php'/><category term='appsforamsterdam'/><category term='resources'/><title type='text'>ErieStuff</title><subtitle type='html'>Pregnant Solutions to Petty Problems</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Erie</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>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-5565130104521135175</id><published>2011-04-20T16:26:00.000+02:00</published><updated>2011-04-20T16:26:54.943+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='img'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Position of the sun on google streetview</title><content type='html'>Wouldn't it be nice to be able to know which of you're favorite cafe's downtown has a terras in the sun, right now? &lt;a href="http://3r13.nl/zonterras/"&gt;This tool&lt;/a&gt; makes use of an algorithm to calculate the position of the sun (for any date/time, anywhere on earth), and analyses a google streetview panorama image for that location to find out if the sun obscured behind buildings or other objects.&lt;br /&gt;&lt;br /&gt;The image analyses needs some work, but this "nightly build" proves the validity of this concept!&lt;br /&gt;All to do now is to ask google for the locations of nearby cafe's, use this method to figure out if the sun is out for those locations, and plot the result on a map. Where's the time I need for this... misplaced it somewhere...&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://3r13.nl/zonterras/" style="height: 500px; width: 100%;"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-5565130104521135175?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/5565130104521135175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=5565130104521135175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/5565130104521135175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/5565130104521135175'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2011/04/position-of-sun-on-google-streetview.html' title='Position of the sun on google streetview'/><author><name>Erie</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-6162085167223928155.post-2847680700257544883</id><published>2011-04-20T16:15:00.000+02:00</published><updated>2011-04-20T16:15:40.262+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='appsforamsterdam'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Snelstepontje.nl</title><content type='html'>Finally there was a reason not to postpone building this old app idea of mine.&lt;br /&gt;The &lt;a href="http://www.appsforamsterdam.nl/"&gt;Appsforamsterdam&lt;/a&gt; competition&amp;nbsp; challenges (governmental) dataowners to make data openly available, and invites civic coders to use that data!&lt;br /&gt;&lt;br /&gt;Together with an android developer, we build &lt;a href="http://snelstepontje.nl/"&gt;snelstepontje.nl&lt;/a&gt;&lt;br /&gt;This simpel (mobile) website and andoid app askes for origin and destination, via a google map, and plots the fasted routes via the different ferries that connect the north of Amsterdam to the city center.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-2847680700257544883?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/2847680700257544883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=2847680700257544883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/2847680700257544883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/2847680700257544883'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2011/04/snelstepontjenl.html' title='Snelstepontje.nl'/><author><name>Erie</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-6162085167223928155.post-1968881557825774936</id><published>2010-05-11T22:23:00.076+02:00</published><updated>2010-05-21T11:10:05.877+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diy'/><category scheme='http://www.blogger.com/atom/ns#' term='garden'/><title type='text'>Pallet Picnic table</title><content type='html'>If you have some disposable wooden pallets laying around (or know where to 'get' some), here's how you can turn them into a four person Pallet Picnic Table.&lt;br /&gt;Our design is composed out of 3 pallets, although it could easily be done with 2, requiring bit more cuts and screws.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5cLZ4yJwI/AAAAAAAAALY/tB8OgdHzlsQ/s1600/pallet+picnicktable+-+complete.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 0em; margin-right: 0em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5cLZ4yJwI/AAAAAAAAALY/tB8OgdHzlsQ/s640/pallet+picnicktable+-+complete.jpg" width="100%" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;The final result&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5cdQberTI/AAAAAAAAALg/8n6DcYxdBXw/s1600/pallet+picnicktable+-+2+parts.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 0em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5cdQberTI/AAAAAAAAALg/8n6DcYxdBXw/s400/pallet+picnicktable+-+2+parts.jpg" width="400" /&gt;&lt;/a&gt;The pallets are cut into building-blocks, which are  stacked and screwed together. Once assembled, the table consists of two  interlocking parts. The top part can be taken off, and stored  under/inside the bottom part. This saves storage space, especially when  stored on its side, behind a shed, like we do.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;Two parts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="clear: both; font-weight: bold;"&gt;The Shopping List&lt;/span&gt;&lt;br /&gt;For this build, you will need the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;3 pallets, 2 of which should be the same size, preferably 120x120cm, the third one is only needed for the spacer blocks, so can have any dimension. The top laths should run in the width of the pallet, not the length.&lt;/li&gt;&lt;li&gt;a bunch of plywood screws and matching screwdriver. We used 35mm by 4mm scews, the length of the screw should not be more than twice the thichness of the laths.&lt;/li&gt;&lt;li&gt;a jig saw (electrical)&lt;/li&gt;&lt;li&gt;a crowbar&lt;/li&gt;&lt;li&gt;a claw hammer&lt;/li&gt;&lt;li&gt;earplugs are nice. We had to bang the metal crowbar with the metal hammer to dismantle the third pallet.&lt;/li&gt;&lt;li&gt;a electrical sander&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;The Pallets&lt;/span&gt;&lt;br /&gt;Pallets come in many forms and shapes. I found some really sturdy ones, a bit bigger than usual (120x120cm), with 2 extra cross-laths on the bottom. Our design is based on this type of pallet. Because of their extra width (120cm) the resulting picknick table will accommodate 4 persons. The more readily available standard 'euro' pallets are 120x100cm, and can be used just as well, but will result in a romantic 2 person table (or perhaps 4 kids). Please note that the top laths should run in the width of the pallet, not the length as in most common pallets.&lt;br /&gt;&lt;br /&gt;Depending on the pallets you have at hand, you will probably have to tweak the design and improvise while you build. With 3 pallets, you will have plenty of left over wood to switch up the design and make enhancements where needed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Design&lt;/span&gt;&lt;br /&gt;For this design (assuming you have those extra sturdy pallets, like we had), you only have to cut two pallets in the right places, stack the resulting parts in the right way, and adjust the hight of the whole thing by placing something underneath the corners. We used the spacer-block from a third pallet, but you could use anything that suits (e.g. stacks of leftover wood from the first two pallets).&lt;br /&gt;&lt;br /&gt;Here are some images of the design. You can &lt;a href="http://dl.dropbox.com/u/6974770/eriestuff/picknickpallet.skp"&gt;download the 3D model&lt;/a&gt; for &lt;a href="http://sketchup.google.com/"&gt;Google Sketchup&lt;/a&gt;, so you can check out the design from every angle and get a full grip on the design. The 3D model also shows how to cut the pallets up into the required building-blocks.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; float: left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float: left; margin-right: 1em;"&gt;&lt;a href="http://2.bp.blogspot.com/_fQEnK2YxPQw/S-u7hi7yu4I/AAAAAAAAALA/FTabMXaMbjs/s1600/picknickpallet+-+pallet+1+cuts.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470672357359270786" src="http://2.bp.blogspot.com/_fQEnK2YxPQw/S-u7hi7yu4I/AAAAAAAAALA/FTabMXaMbjs/s200/picknickpallet+-+pallet+1+cuts.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How to cut pallet 1&lt;/span&gt;&lt;/div&gt;&lt;div style="float: left; margin-right: 1em;"&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-u9DX6tLFI/AAAAAAAAALI/nkzjzPU3B0w/s1600/picknickpallet+-+pallet+2+cuts+-+exploded.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470674038029102162" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-u9DX6tLFI/AAAAAAAAALI/nkzjzPU3B0w/s200/picknickpallet+-+pallet+2+cuts+-+exploded.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How to cut pallet 2&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; float: left;"&gt;&lt;/div&gt;&lt;div style="float: left; margin-right: 1em;"&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-nOLfZHzSI/AAAAAAAAAKw/NJg7Tuu7t9Y/s1600/picknickpallet+-+frontview.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470129919218928930" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-nOLfZHzSI/AAAAAAAAAKw/NJg7Tuu7t9Y/s200/picknickpallet+-+frontview.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Front view&lt;/span&gt;&lt;/div&gt;&lt;div style="float: left; margin-right: 1em;"&gt;&lt;a href="http://2.bp.blogspot.com/_fQEnK2YxPQw/S-nOPTSxzKI/AAAAAAAAAK4/dm-UPxy6P1A/s1600/picknickpallet+-+sideview+-+2+parts.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470129984690572450" src="http://2.bp.blogspot.com/_fQEnK2YxPQw/S-nOPTSxzKI/AAAAAAAAAK4/dm-UPxy6P1A/s200/picknickpallet+-+sideview+-+2+parts.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Side view - separated components&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; float: left;"&gt;&lt;/div&gt;&lt;div style="float: left; margin-right: 1em;"&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-nOCcNLu0I/AAAAAAAAAKo/YdRxQD-XxxY/s1600/picknickpallet+-+exploded.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470129763744725826" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-nOCcNLu0I/AAAAAAAAAKo/YdRxQD-XxxY/s200/picknickpallet+-+exploded.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;3D view - Exploded&lt;/span&gt;&lt;/div&gt;&lt;div style="float: left; margin-right: 1em;"&gt;&lt;a href="http://3.bp.blogspot.com/_fQEnK2YxPQw/S-nN4lCN6II/AAAAAAAAAKg/73549dUetJI/s1600/picknickpallet.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470129594315958402" src="http://3.bp.blogspot.com/_fQEnK2YxPQw/S-nN4lCN6II/AAAAAAAAAKg/73549dUetJI/s200/picknickpallet.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The complete 3D design&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; margin-top: 2em; padding-top: 2em; text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Stacking the building-blocks&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fQEnK2YxPQw/S-5efBF-UTI/AAAAAAAAALo/Bbww4rEJV1k/s1600/pallet+picnicktable+-+stack+1.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_fQEnK2YxPQw/S-5efBF-UTI/AAAAAAAAALo/Bbww4rEJV1k/s200/pallet+picnicktable+-+stack+1.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5ehGVX0OI/AAAAAAAAALw/abqKxjuslhc/s1600/pallet+picnicktable+-+stack+2.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5ehGVX0OI/AAAAAAAAALw/abqKxjuslhc/s200/pallet+picnicktable+-+stack+2.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5ejZA2cGI/AAAAAAAAAL4/mscYL10j63c/s1600/pallet+picnicktable+-+stack+3.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5ejZA2cGI/AAAAAAAAAL4/mscYL10j63c/s200/pallet+picnicktable+-+stack+3.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_fQEnK2YxPQw/S-5elamPCPI/AAAAAAAAAMA/xLI8xioHBKU/s1600/pallet+picnicktable+-+stack+4.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_fQEnK2YxPQw/S-5elamPCPI/AAAAAAAAAMA/xLI8xioHBKU/s200/pallet+picnicktable+-+stack+4.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_fQEnK2YxPQw/S-5encpEGMI/AAAAAAAAAMI/r3qcXh6VJjA/s1600/pallet+picnicktable+-+stack+5.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_fQEnK2YxPQw/S-5encpEGMI/AAAAAAAAAMI/r3qcXh6VJjA/s200/pallet+picnicktable+-+stack+5.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5epc7618I/AAAAAAAAAMQ/q7VBKZMIUjY/s1600/pallet+picnicktable+-+stack+6.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5epc7618I/AAAAAAAAAMQ/q7VBKZMIUjY/s200/pallet+picnicktable+-+stack+6.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Dismantling a Pallet&lt;/span&gt;&lt;/div&gt;In &lt;a href="http://www.youtube.com/watch?v=ZtPmUZ-k3aI"&gt;this movie&lt;/a&gt;, you can see how easy it is to dismantle a standard pallet. Please note that for this design, you should only dismantle the third pallet. The first two should keep as much of their sturdiness as possible. Also, the pallet in the movie has its top laths running in the length, which makes them unusable for this design (unless you dismantle it completely and rebuild it with the laths running width-wise).&lt;br /&gt;&lt;br /&gt;The pallets we used in our design are non-standard ones, with laths running along all sides of the the bottom. That's why our dismantling didn't go as smoothly as in the movie. Not even close! We ruined quite some laths in the process, but we only needed the spacer-blocks anyway.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Please, Give Feedback!&lt;/span&gt;&lt;br /&gt;If you copy this design and/or build upon it, or do something else with pallets, I would love to hear about it. Please leave a comment with or without a link to your own project.&lt;br /&gt;You might also want to take a look at &lt;a href="http://tatertotsandjello.blogspot.com/2009/08/project-idea-creating-furniture-using.html"&gt;these pallet furniture designs&lt;/a&gt;, this &lt;a href="http://en.espritcabane.com/furniture-plans/pallet-coffee-table.php"&gt;pallet coffee-table&lt;/a&gt;, or the links on &lt;a href="http://lifehackery.com/2008/06/04/12-creative-ways-to-recycle-wooden-pallets/"&gt;this Life Hackery post&lt;/a&gt;,&amp;nbsp; for inspiration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-1968881557825774936?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/1968881557825774936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=1968881557825774936' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/1968881557825774936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/1968881557825774936'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2010/05/pallet-picknick-table.html' title='Pallet Picnic table'/><author><name>Erie</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fQEnK2YxPQw/S-5cLZ4yJwI/AAAAAAAAALY/tB8OgdHzlsQ/s72-c/pallet+picnicktable+-+complete.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-9078002917986144187</id><published>2008-03-25T09:52:00.011+01:00</published><updated>2010-05-14T17:17:55.881+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Boomerang - China in Tibet</title><content type='html'>The &lt;a href="http://www.boomerang.nl/"&gt;Boomerang&lt;/a&gt; freecard by &lt;a href="http://www.hotmamahot.nl/"&gt;my brother&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://data.boomerang.nl/h/hotmamahot/image/china-in-tibet/print/chinatibet-copy.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;br /&gt;&lt;img alt="Boomerang Freecard - China in Tibet" border="0" id="BLOGGER_PHOTO_ID_5181603583971342290" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/R-jBAZ2At9I/AAAAAAAAAGY/Bxh7plFCHfc/s400/chinatibet-copy.jpg" style="cursor: pointer;" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;You can rate this card on the &lt;a href="http://www.boomerang.nl/werk/hotmamahot/china-in-tibet/" target="_top"&gt;Boomerang website&lt;/a&gt;&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;This is the original cover for "TinTin in Tibet":&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-1o2OlgSII/AAAAAAAAALQ/Khu9NWfvz0E/s1600/tintin_tibet.jpg" imageanchor="1" style="margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_fQEnK2YxPQw/S-1o2OlgSII/AAAAAAAAALQ/Khu9NWfvz0E/s320/tintin_tibet.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-9078002917986144187?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/9078002917986144187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=9078002917986144187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/9078002917986144187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/9078002917986144187'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/03/boomerang-china-in-tibet.html' title='Boomerang - China in Tibet'/><author><name>Erie</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fQEnK2YxPQw/R-jBAZ2At9I/AAAAAAAAAGY/Bxh7plFCHfc/s72-c/chinatibet-copy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-4662356694748401436</id><published>2008-03-18T16:30:00.008+01:00</published><updated>2008-04-05T00:56:02.153+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Google Maps: Convex Hull of Point set or Polygon</title><content type='html'>&lt;span style="font-weight:bold;"&gt;The Problem - Part II&lt;/span&gt;&lt;br /&gt;In a &lt;a href="http://eriestuff.blogspot.com/2008/02/google-maps-center-of-gravity.html"&gt;previous post&lt;/a&gt;, I wrote about how the Google Maps &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/cog.php"&gt;Center of Gravity Application&lt;/a&gt; takes care of my friday night drinking problems. Well, it doesn't anymore. My drinking buddies are so evenly spread out over town, that whoever joins for a beer to celebrate the weekend, the &lt;span style="font-style:italic;"&gt;Center Of Gravity&lt;/span&gt; ends up dead center in the middle of town. We've seen all the bars, drank all the beers. It's time to broaden our look.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Solution - Part II&lt;/span&gt;&lt;br /&gt;What if you could mark the locations of your friends, and have Google Maps find random bars located in between those locations.&lt;br /&gt;Enter the &lt;span style="font-style:italic;"&gt;Convex Hull&lt;/span&gt; (&lt;a href="http://en.wikipedia.org/wiki/Convex_hull"&gt;wikipedia&lt;/a&gt;). "&lt;span style="font-style:italic;"&gt;The convex hull may be easily visualized by imagining an elastic band stretched open to encompass the given points; when released, it will assume the shape of the required convex hull.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Or, even more easily, play around with the &lt;span style="font-style:italic;"&gt;Convex Hull - Random Search&lt;/span&gt; application I whipped up. Below is an embedded version of the application. The fullscreen version can be found &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/convexhull.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;iframe style="width:100%;height:400px" src="https://degroep.org/arjen/eriestuff/gmaps/convexhull.php"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Credits for the algorithm go entirely to InfoEcho.net. See &lt;a href="http://infoecho.net/blogs/echo/archives/2007/03/13/230/"&gt;this post&lt;/a&gt; for the original javascript sourcecode and an online working example.&lt;br /&gt;&lt;br /&gt;All I did was rewrite the code so it can be used with geographical locations in a google maps application, and create/add a random-search-in-polygon script. The latter is a set of generic functions that can be used with any gmaps polygon.&lt;br /&gt;&lt;br /&gt;Please let me know what you think by leaving a comment. You're free to use this script for your own application, but I'd appreciate it if you tell me about it. Plain curiosity :-)&lt;br /&gt;The source code can be found &lt;a href="https://degroep.org/arjen/eriestuff/gmaps.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For my other Google Maps trials, see &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/index.html"&gt;this overview&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-4662356694748401436?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/4662356694748401436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=4662356694748401436' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/4662356694748401436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/4662356694748401436'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/03/google-maps-convex-hull-of-point-set-or.html' title='Google Maps: Convex Hull of Point set or Polygon'/><author><name>Erie</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>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-3366010335882527780</id><published>2008-03-18T13:33:00.001+01:00</published><updated>2008-04-05T01:00:20.484+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Google Maps/Earth: Align Polygons in KML</title><content type='html'>&lt;span style="font-weight:bold;"&gt;The Problem&lt;/span&gt;&lt;br /&gt;What if you want to digitize countries, counties or other area like items that have one or more borders in common... GIS applications like Google Earth, Google Maps even, let you draw polygons overlays on a map. But instead of one common border as in the real world, the borders between the polygons are defined by two different polylines that should be described by exactly the same coordinates (or: 'vertices'). When you draw the polygons by hand, this is virtually impossible. As a result, there will be areas where two or more polygons overlap or areas where there's a gap between the two bordering polygons.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Solution&lt;/span&gt;&lt;br /&gt;Draw the polygons by hand and run them through an algorithm that aligns the line parts of two bordering polygons by equalizing the vertices that are really close together. The resolution, or threshold, of the equalizing algorithm should depend, off course, on the resolution and precision with which the polygons where drawn.&lt;br /&gt;&lt;br /&gt;I wrote a PHP script that does exactly that. See the embedded version of the application below, or go to the &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/alignpolygons.php"&gt;fullscreen version&lt;/a&gt;. It is loaded with a demonstration KML file by default. Play around with the &lt;span style="font-style:italic;"&gt;Equalize threshold&lt;/span&gt; to see what happens to the polygons.&lt;br /&gt;&lt;iframe style="width:100%;height:400px" src="https://degroep.org/arjen/eriestuff/gmaps/alignpolygons.php"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Please let me know what you think by leaving a comment. You're free to use this script for your own application, but I'd appreciate it if you tell me about it. Plain curiosity :-)&lt;br /&gt;The source code can be found &lt;a href="https://degroep.org/arjen/eriestuff/gmaps.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For my other Google Maps trials, see &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/index.html"&gt;this overview&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-3366010335882527780?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/3366010335882527780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=3366010335882527780' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/3366010335882527780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/3366010335882527780'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/02/google-mapsearth-align-polygons-in-kml.html' title='Google Maps/Earth: Align Polygons in KML'/><author><name>Erie</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-2294541341259557551</id><published>2008-03-17T13:32:00.001+01:00</published><updated>2008-04-05T01:00:42.639+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Google Maps: Distance to Polygon</title><content type='html'>This Google Maps mashup takes in multiple KML files with multiple polygons and lets you click away on the map to find the distance from the clicked point to all the polygons in de KML sources.&lt;br /&gt;&lt;br /&gt;The serverside distance-to-polygon algorithm is run through an AJAX call.&lt;br /&gt;I might translate the algorithm to javascript in the future, so all can be done clientside. For now, it's a proof of concept, at most.&lt;br /&gt;&lt;br /&gt;The source files are available &lt;a href="https://degroep.org/arjen/eriestuff/gmaps.zip"&gt;here&lt;/a&gt; (zip).&lt;br /&gt;&lt;br /&gt;Below is an embedded version.&lt;br /&gt;The fullscreen version is &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/d2p.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;iframe style="width:100%;height:400px" src="https://degroep.org/arjen/eriestuff/gmaps/d2p.php"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Please let me know what you think by leaving a comment. You're free to use this script for your own application, but I'd appreciate it if you tell me about it. Plain curiosity :-)&lt;br /&gt;&lt;br /&gt;For my other Google Maps trials, see &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/index.html"&gt;this overview&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-2294541341259557551?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/2294541341259557551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=2294541341259557551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/2294541341259557551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/2294541341259557551'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/02/google-maps-distance-to-polygon.html' title='Google Maps: Distance to Polygon'/><author><name>Erie</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-6162085167223928155.post-7158590828762898787</id><published>2008-02-12T21:05:00.008+01:00</published><updated>2008-04-05T01:00:59.461+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Google Maps: Point In Polygon</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Last update: 2008-03-17 (see comments)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This Google Maps mashup takes in multiple KML files with multiple polygons and lets you click away on the map to see which polygon(s) contain the clicked point.&lt;br /&gt;&lt;br /&gt;The serverside point-in-polygon algorithm is run through an AJAX call.&lt;br /&gt;I might translate the algorithm to javascript in the future, so all can be done clientside. For now, it's a proof of concept, at most.&lt;br /&gt;&lt;br /&gt;The source files are available &lt;a href="https://degroep.org/arjen/eriestuff/gmaps.zip"&gt;here&lt;/a&gt; (zip).&lt;br /&gt;&lt;br /&gt;Below is an embedded version.&lt;br /&gt;The fullscreen version is &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/pip.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;iframe style="width:100%;height:400px" src="https://degroep.org/arjen/eriestuff/gmaps/pip.php"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Please let me know what you think by leaving a comment. You're free to use this script for your own application, but I'd appreciate it if you tell me about it. Plain curiosity :-)&lt;br /&gt;&lt;br /&gt;For my other Google Maps trials, see &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/index.html"&gt;this overview&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-7158590828762898787?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/7158590828762898787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=7158590828762898787' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/7158590828762898787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/7158590828762898787'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/02/google-maps-point-in-polygon.html' title='Google Maps: Point In Polygon'/><author><name>Erie</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-7208387743349240429</id><published>2008-02-05T17:47:00.009+01:00</published><updated>2008-04-05T01:01:25.287+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Google Maps: Center Of Gravity</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Last update: 2008-03-17 (see comments)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;The problem&lt;/span&gt;&lt;br /&gt;The week's coming to an end, you desperately want to meet your friends for a beer (or two). But with over 250 bars in Amsterdam to choose from, where should you meet? Let's say you want to minimize the distance that everyone has to travel to the bar. So you'd want to find the bar nearest to the &lt;span style="font-style: italic;"&gt;Center of Gravity&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;Center of Mass&lt;/span&gt; (&lt;a href="http://en.wikipedia.org/wiki/Center_of_mass"&gt;wikipedia&lt;/a&gt;) of everybodies location...&lt;br /&gt;&lt;br /&gt;How about a website that lets you pinpoint the location of all your friends, shows you the geographical center and lets you search for nearby bars?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solutions already out there&lt;/span&gt;&lt;br /&gt;Brammeleman already solved the hardest part of this problem, whilst trying to find the best location for his family reunion. Brammeleman's  &lt;a href="http://oase.uci.ru.nl/%7Ebradaa/center_of_gravity/?source"&gt;php script&lt;/a&gt;, as discussed in his &lt;a href="http://nerdnotes.org/2006/01/31/familiereunie/"&gt;post&lt;/a&gt; on &lt;a href="http://nerdnotes.org/"&gt;nerdnotes.org&lt;/a&gt; (in Dutch), takes in a Google Earth KLM file and calculates the geographical center of the placemarks in the KML. This point is served back as a KML file, which can than be opened in Google Earth.&lt;br /&gt;&lt;a href="http://www.stefangeens.com/"&gt;Stefan Geens&lt;/a&gt;, implemented Brammeleman's algorithm (with slight adjustments which Brammeleman later adopted in his script), in a similar application. His &lt;a href="http://www.ogleearth.com/2006/02/center_of_gravi_1.html"&gt;post &lt;/a&gt;at &lt;a href="http://www.ogleearth.com/"&gt;www.oglearth.com&lt;/a&gt; gives all the background info on &lt;span style="font-style: italic;"&gt;Center Of Gravity&lt;/span&gt; theory, so check that out if you're interested.&lt;br /&gt;&lt;br /&gt;The juggling with KML files and the need to have Google Earth installed doesn't make this approach a viable solution to my friday night drinking problems. Every week there is a different bunch of us, and we don't always start out from the same place. I need to be able to add and adjust locations on the fly.&lt;br /&gt;&lt;br /&gt;At &lt;a href="http://www.geomidpoint.com/"&gt;www.geomidpoint.com&lt;/a&gt; they come close to my needs. This application lets you put in a number of cities or coordinates by hand and then calculates either the &lt;span style="font-style: italic;"&gt;Center of Gravity&lt;/span&gt; or the &lt;span style="font-style: italic;"&gt;Center of Distance&lt;/span&gt;. The former is the same geographical center of the given coordinates as Brammelemans algorithm calculates. The latter is the point where the total sum of distances is minimized. Check out the &lt;a href="http://www.geomidpoint.com/methods.html"&gt;methods&lt;/a&gt; page on their site for better explanation about the difference between the two. The &lt;span style="font-style: italic;"&gt;Center of Distance&lt;/span&gt; is found by a brute force algorithm and not by mathematical calculation. The result is displayed on a Google Maps map, along with the given points.&lt;br /&gt;&lt;br /&gt;Now this is close. But still not close enough. I want to be able to search &lt;span style="font-style: italic;"&gt;within&lt;/span&gt; one city instead of &lt;span style="font-style: italic;"&gt;in between&lt;/span&gt; cities. Although this &lt;span style="font-style: italic;"&gt;is&lt;/span&gt; technically possible by entering latitudes and longitudes for each point... it's not really user friendly.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;My solutions mash-up&lt;br /&gt;&lt;/span&gt;Since the ultimate solution wasn't yet out there, I sacrificed a weekend on building it myself.&lt;br /&gt;So, I translated Brammeleman's &lt;span style="font-style: italic;"&gt;Center Of Gravity&lt;/span&gt; algorithm into Javascript to whip up a client side Google Maps application. This Google Maps mashup lets you add placemarks by clicking on a map and calculates the &lt;span style="font-style: italic;"&gt;Center Of Gravity&lt;/span&gt; on the fly. The &lt;span style="font-style: italic;"&gt;search nearby&lt;/span&gt; form field on the left pane queries Google Maps for the bars or pizza places closest to the geographical center of all marked locations and displays the results on the map.&lt;br /&gt;&lt;br /&gt;Additionally, you can upload a KML file or provide the url to an online file or a custom created Google Maps map ("My Maps"). The application plots the placemarks from the KML file or the "My Maps" source on the map and calculates the &lt;span style="font-style: italic;"&gt;Center Of Gravity&lt;/span&gt;. You can deselect the placemarks you don't want to use for the calculation and add additional placemarks if needed.&lt;br /&gt;&lt;br /&gt;To use a custom made Google Maps map as the source for the calculation, simply go to the &lt;a href="http://maps.google.com/maps/mm"&gt;My Maps area&lt;/a&gt; on Google Maps, select/create the map you want to use and click the "&lt;span style="font-style: italic;"&gt;link to this page&lt;/span&gt;" link. The than presented link can be copied into the form field in the &lt;span style="font-style: italic;"&gt;Center of Gravity&lt;/span&gt; application to load the placemarks on the map.&lt;br /&gt;&lt;br /&gt;The source files for this application are available &lt;a href="https://degroep.org/arjen/eriestuff/gmaps.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Below is an embedded version of the &lt;span style="font-style: italic;"&gt;Center Of Gravity &lt;/span&gt;application.&lt;br /&gt;The fullscreen version can be found &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/cog.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;iframe style="overflow: hidden; width: 100%; height: 600px;" src="https://degroep.org/arjen/eriestuff/gmaps/cog.php"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;All credits for the &lt;span style="font-style: italic;"&gt;Center of Gravity algorithm&lt;/span&gt; go to &lt;a href="http://oase.uci.ru.nl/%7Ebradaa/center_of_gravity/?source"&gt;Brammaleman&lt;/a&gt;, with noted additions by &lt;a href="http://www.stefangeens.com/"&gt;Stefan Geens&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please let me know what you think by leaving a comment. You're free to use this script for your own application, but I'd appreciate it if you tell me about it. Plain curiosity :-)&lt;br /&gt;&lt;br /&gt;For my other Google Maps trials, see &lt;a href="https://degroep.org/arjen/eriestuff/gmaps/index.html"&gt;this overview&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Future improvements&lt;/span&gt;&lt;br /&gt;* Better KML support (now only few formats actually work)&lt;br /&gt;* Loading of KML files through AJAX&lt;br /&gt;* Placemark management (edit name/delete)&lt;br /&gt;* Doubleclick zoom-in without adding a marker (annoying!)&lt;br /&gt;* Optional &lt;span style="font-style: italic;"&gt;Center of Distance&lt;/span&gt; calculator&lt;br /&gt;* Permalink option, to be able to send the resulting map to friends&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-7208387743349240429?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/7208387743349240429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=7208387743349240429' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/7208387743349240429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/7208387743349240429'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/02/google-maps-center-of-gravity.html' title='Google Maps: Center Of Gravity'/><author><name>Erie</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-3177519266248446220</id><published>2007-11-28T16:37:00.002+01:00</published><updated>2008-03-17T22:17:41.525+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resources'/><category scheme='http://www.blogger.com/atom/ns#' term='img'/><title type='text'>Cross-Browser PNG alpha-transparency</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Last Updated: 20071130&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://www.sitepoint.com/blogs/2007/09/18/png8-the-clear-winner/"&gt;an article&lt;/a&gt; on &lt;a href="http://www.sitepoint.com/"&gt;Sitepoint&lt;/a&gt;, Alex Walker describes how to make semi-transparent PNG8 images in FireWorks. Unlike PNG32, the alpha-transparency of PNG8 is supported by all modern browsers (FF2,IE7,Safari,Op9). Internet Explorer 6 and lower gracefully degradate the alpha-channels to full transparency, like GIF.&lt;br /&gt;&lt;br /&gt;Using gray-shaded PNG8 images as backgrounds to HTML elements with background-color, it is possible to easily switch colors without having to redesign your shaded background images.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Alternative to FireWorks&lt;/h3&gt;&lt;br /&gt;There are two small open source apps that will do the same trick. You can get them for free on the websites listed below, but not &lt;a href="http://www.mediafire.com/?7kugnzvuxgm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PNGquant (command line &amp;amp; GUI)&lt;/span&gt;&lt;br /&gt;Website: &lt;a href="http://www.libpng.org/pub/png/apps/pngquant.html"&gt;Commandline&lt;/a&gt; or &lt;a href="http://jedisthlm.com/2006/03/16/manfred-a-pngquant-gui/"&gt; Windows GUI&lt;/a&gt;&lt;br /&gt;I tried both versions.&lt;br /&gt;The command line version is compiled with the zlib and libpng library so no additional dll's are required, which is really nice. To view usage syntax run the program with the -h switch.&lt;br /&gt;The Windows GUI requires you to install the .NET framework :-| and needs the command-line app to sit in the /windows32/ dir, so installing is a bit of a hassle. Otherwise it is a convenient wrap around the command line app.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PNGnq (command line)&lt;/span&gt;&lt;br /&gt;Website: &lt;a href="http://www.cybertherial.com/pngnq/pngnq.html"&gt;http://www.cybertherial.com/pngnq/pngnq.html&lt;/a&gt;&lt;br /&gt;I tried the Windows32 version which does the trick.&lt;br /&gt;Besides the compiled binary &lt;a href="http://www.cybertherial.com/pngnq/pngnq-0.5-i386-win.tar.gz"&gt;pngnq.exe&lt;/a&gt; and the &lt;a href="http://www.cybertherial.com/pngnq/libpng13.dll"&gt;libpng13.dll&lt;/a&gt; offered at the website you also need a copy of &lt;a href="http://www.dll-files.com/dllindex/dll-files.shtml?zlib1"&gt;zlib1.dll&lt;/a&gt;.&lt;br /&gt;The dll's need to sit in the same dir as pngnq.exe or should be copied to your /windows32/ directory. Run the app with the -h switch to get help on all available switches.&lt;br /&gt;&lt;br /&gt;I haven't noticed a difference in results between the two, so for the moment I'm settling with the command line version of pngQuant, since it only needs itself to run.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IE PNG24 Fix&lt;/h3&gt;&lt;br /&gt;If you want IE5.5+ support for semi-transparent PNG images, have a look at &lt;a href="http://www.twinhelix.com/css/iepngfix/"&gt;this page&lt;/a&gt;. This trick gets alpha-transparency of PNG images working by feeding IE a special &lt;a href="http://www.twinhelix.com/css/iepngfix/demo/iepngfix.htc"&gt;'behaviour' script&lt;/a&gt; through CSS. The syntax is extremely simple:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- IE PNG FIX - hide from other browser than IE&amp;lt;7 --&amp;gt;&lt;br /&gt;&amp;lt;!--[if lt IE 7]&amp;gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;img, div { behavior: url(iepngfix.htc) }&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I haven't tried this yet, and I don't know if this adds a lot of rendering time if your page has a lot of img and div tags, but I love the simplicity of it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-3177519266248446220?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/3177519266248446220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=3177519266248446220' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/3177519266248446220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/3177519266248446220'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2007/11/cross-browser-png8-alpha-transparency.html' title='Cross-Browser PNG alpha-transparency'/><author><name>Erie</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-1329674224827804964</id><published>2007-11-27T17:52:00.000+01:00</published><updated>2007-12-05T00:24:20.533+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='sticky'/><title type='text'>General Purpose Style Sheet</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Last updated: 20071205&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a general purpose, cross-browser compatible, CSS stylesheet I use when kicking off a new project. I chucked it up in functional units, merged into a single stylesheet at the bottom.&lt;br /&gt;This post may change over time, when new quirks come to light.&lt;br /&gt;Suggestions greatly appreciated!&lt;br /&gt;&lt;br /&gt;You might also be interested in the &lt;a href="http://kurafire.net/log/archive/2005/07/26/starting-css-revisited" target="_blanc" &gt;stylesheet of Faruk Ateş&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Resizable Font-size&lt;/h3&gt;&lt;br /&gt;This trick is ripped from &lt;a href="http://www.alistapart.com/articles/howtosizetextincss" target="_blanc"&gt;an article&lt;/a&gt; on &lt;a href="http://www.alistapart.com/" target="_blanc"&gt;A List Apart&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- RESIZABLE TEXT --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- stylesheet for all browsers --&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;body {&lt;br /&gt;    font-size:16px;  /* @resizable text: best cross-browser default value */&lt;br /&gt;    line-height:1.125em; /* @resizable text: 16x1.125em=18px */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.exampleClass p {&lt;br /&gt;    font-size:0.875em;  /* @resizable text: 16x0.875em=14px */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- stylesheet with bugfixes for IE --&amp;gt;&lt;br /&gt;&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;body {&lt;br /&gt;    font-size:100%;  /* @resizable text: fix exaggerated text resizing in IE6 &amp; IE7 */&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- END RESIZABLE TEXT --&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;100% height&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- 100%height --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- stylesheet for all browsers --&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;html,&lt;br /&gt;body {&lt;br /&gt;    height:100%; /* @100%height: body &amp; html don't have 100% height by default */&lt;br /&gt;}&lt;br /&gt;body{&lt;br /&gt;    margin:0;  /* @100%height: for Opera /*&lt;br /&gt;    padding:0;  /* @100%height: for all but opera /*&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- END 100%HEIGHT --&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IE PNG FIX&lt;/h3&gt;&lt;br /&gt;See &lt;a href="http://eriestuff.blogspot.com/2007/11/cross-browser-png8-alpha-transparency.html"&gt;this post&lt;/a&gt; for info on this chunk. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- IEPNGFIX --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- hide from other browser than IE&amp;lt;7 --&amp;gt;&lt;br /&gt;&amp;lt;!--[if lt IE 7]&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;img, div { behavior: url(iepngfix.htc) } /* @IEPNGFIX */&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- END IEPNGFIX --&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IFRAMEBORDERS&lt;/h3&gt;&lt;br /&gt;In IE(6) the border of iframes can only be hidden by setting the border property in the css of the iframe content document.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- IFRAMEBORDERS --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- stylesheet with bugfixes for IE --&amp;gt;&lt;br /&gt;&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;body {&lt;br /&gt;    border:none;  /* @iframeborders */&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- END IFRAMEBORDERS --&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;All merged to one&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!-- stylesheet for all browsers --&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;html,&lt;br /&gt;body {&lt;br /&gt;    height:100%;  /* @100%height: body &amp; html don't have 100% height by default */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;body {&lt;br /&gt;    font-size:16px;  /* @resizable text: best cross-browser default value */&lt;br /&gt;    line-height:1.125em; /* @resizable text: 16x1.125em=18px */&lt;br /&gt;    margin:0;   /* @100%height: for Opera /*&lt;br /&gt;    padding:0;   /* @100%height: for all but opera /*&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.exampleClass p {&lt;br /&gt;    font-size:0.875em;  /* @resizable text: 16x0.875em=14px */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- stylesheet with bugfixes for IE (all versions) --&amp;gt;&lt;br /&gt;&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;body {&lt;br /&gt;    font-size:100%;  /* @resizable text: fix exaggerated text resizing in IE6 &amp; IE7 */&lt;br /&gt;    border:none;  /* @iframeborders */&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- stylesheet with bugfixes for IE versions lower than 7 --&amp;gt;&lt;br /&gt;&amp;lt;!--[if lt IE 7]&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;img, div { behavior: url(iepngfix.htc) } /* @IEPNGFIX */&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-1329674224827804964?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/1329674224827804964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=1329674224827804964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/1329674224827804964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/1329674224827804964'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2007/11/general-purpose-style-sheet.html' title='General Purpose Style Sheet'/><author><name>Erie</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-6162085167223928155.post-5363356263175931845</id><published>2007-11-26T17:07:00.003+01:00</published><updated>2010-10-13T14:14:08.631+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Dropdown Navigation Bar For Blogspot</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Last update: 2008-02-13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are &lt;a href="http://tips-for-new-bloggers.blogspot.com/2007/03/hide-or-remove-navbar-in-blogger.html"&gt;many tricks&lt;/a&gt; to &lt;span style="font-style: italic;"&gt;remove&lt;/span&gt; the Blogspot Navigation Bar (or "NavBar") that is displayed on top of all &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt; blogs. The simplest would be to add the following CSS declaration to the bottom of the "skin" section of your template (i.e. in between the &lt;code&gt;&amp;lt;b:skin&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;/b:skin&amp;gt;&lt;/code&gt; tags):&lt;br /&gt;&lt;pre&gt;#navbar{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:none !important;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Besides the question if this approach violates the Blogspot "Terms of Use", this will leave people who are flipping through blogs via the "next blog" link lost. Additionally, as blog editor, you loose your shortcut links to &lt;span style="font-style: italic;"&gt;sign in&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;post new messages.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Why not &lt;span style="font-style: italic;"&gt;hide&lt;/span&gt; it, but still keep it accessible, more or less like a dropdown menu. To achieve this, add the following code to your template, or add it to your blog layout as a &lt;span style="font-style: italic;"&gt;html/javascript page-element&lt;/span&gt;:&lt;br /&gt;&lt;pre&gt;&amp;lt;!-- DROPDOWN NAVBAR --&amp;gt;&lt;br /&gt;&amp;lt;!-- stylesheet for FF2, Op9, IE7 (strict mode) --&amp;gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;#navbar {&lt;br /&gt;display:inline;&lt;br /&gt;width:100%;&lt;br /&gt;position:absolute;&lt;br /&gt;background-color:transparent;&lt;br /&gt;top:-30px;&lt;br /&gt;left:0px;&lt;br /&gt;height:60px;&lt;br /&gt;z-index:999999;&lt;br /&gt;}&lt;br /&gt;#navbar:hover{&lt;br /&gt;top:0px;&lt;br /&gt;height:30px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;!-- stylesheet for IE6 and lower --&amp;gt;&lt;br /&gt;&amp;lt;!-- (not supporting element:hover) --&amp;gt;&lt;br /&gt;&amp;lt;!-- first, unhide the navbar through css --&amp;gt;&lt;br /&gt;&amp;lt;!-- second, hide the navbar and mimic --&amp;gt;&lt;br /&gt;&amp;lt;!-- the effect with javascript, if available --&amp;gt;&lt;br /&gt;&amp;lt;!--[if lt IE 7]&amp;gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;#navbar {&lt;br /&gt;height:30px;&lt;br /&gt;top:0px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;var navbar = document.getElementById('navbar');&lt;br /&gt;if(navbar){&lt;br /&gt;navbar.onmouseover = function(){&lt;br /&gt;navbar.style.top = '0px';&lt;br /&gt;navbar.style.height = '30px';&lt;br /&gt;}&lt;br /&gt;navbar.onmouseout = function(){&lt;br /&gt;navbar.style.top = '-30px';&lt;br /&gt;navbar.style.height = '60px';&lt;br /&gt;}&lt;br /&gt;if (navbar.captureEvents){&lt;br /&gt;navbar.captureEvents(Event.MOUSEOVER);&lt;br /&gt;navbar.captureEvents(Event.MOUSEOUT);&lt;br /&gt;}&lt;br /&gt;navbar.onmouseout();&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;lt;!-- end dropdown navbar --&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now, the navbar is shifted up, with its &lt;span style="font-style: italic;"&gt;content&lt;/span&gt; outside the viewport frame and thus out of sight for the user. The navbar is doubled in height, with an empty, transparent part still invisibly dangling at the top of the viewport. When the mouse cursor hovers over the empty part of navbar, the navbar is repositioned into its normal position and the doubled height is removed. When the mouse cursor leaves the navbar, the styling is reaplied and the navbar hides itself again.&lt;br /&gt;&lt;br /&gt;You can see this effect in action on this page, just scroll to the top of the page and move your mouse to the top of the viewport.&lt;br /&gt;&lt;br /&gt;The mouseover effect is achieved by applying a :hover pseudo-class to the navbar element. This works in Firefox 2.0, Safari 3.0 Win, Opera 9.5b, iCab 3.0, Konqueror 3.5.7 and Internet Explorer 7, although the latter only when rendered in strict mode. For older IE browsers (or possibly IE 7 in quirks-mode), a javascript fallback is activated through a conditional comment that is only visible to Internet Explorer 6 and lower. When javascript is disabled the navbar will not be hidden.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: Most blog templates have a strict doctype declaration (second line in the template), which is fine. If you are rendering your page in quirks mode (i.e. dtds Transitional or Loose), you need to change the conditional comment to &lt;code&gt;[if lte IE 7]&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I chose to position the navbar over my design (&lt;code&gt;position:relative&lt;/code&gt;), if you don't want it to overlap with your design, change the position to &lt;code&gt;static&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update: &lt;/b&gt;It is not against Googles Terms Of Service (TOS) to hide the NavBar. &lt;a href="http://www.blogger.com/%20http://blogging.nitecruzr.net/2008/11/navbar-is-optional.html"&gt;The Real Blogger Status blog&lt;/a&gt; posted a link to an &lt;a href="http://groups.google.com/group/blogger-help-customizing/tree/browse_frm/thread/c7e3226fe35da11e/6c152c5d4b46b622?rnum=1&amp;amp;_done=/group/blogger-help-customizing/browse_frm/thread/c7e3226fe35da11e/71be91f560889098?&amp;amp;pli=1"&gt;answer to this question from a google employee&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-5363356263175931845?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/5363356263175931845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=5363356263175931845' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/5363356263175931845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/5363356263175931845'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2007/11/dropdown-navigation-bar-for-blogspot.html' title='Dropdown Navigation Bar For Blogspot'/><author><name>Erie</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>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-9134120912214939663</id><published>2007-11-15T15:12:00.000+01:00</published><updated>2007-11-28T16:58:42.132+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resources'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>CSS  cascade - Which declaration takes priority?</title><content type='html'>Andrew Tetlaw, Technical Editor of &lt;a href="http://www.sitepoint.com/"&gt;SitePoint.com&lt;/a&gt; clears some common myths on the CSS Cascade. Which CSS declaration takes &lt;span style="font-weight: bold;"&gt;priority &lt;/span&gt;when one property is declared multiple times with different values? If equal in priority, what declaration has the highest &lt;span style="font-weight: bold;"&gt;specificity&lt;/span&gt;? And finally, in which &lt;span style="font-weight: bold;"&gt;order&lt;/span&gt; of sources are declaration prioritized if declarations are equal in priority and specificity?&lt;br /&gt;Check his very insightful post &lt;a href="http://www.sitepoint.com/blogs/2007/11/14/the-great-specificity-swindle/"&gt;The Great Specificity Swindel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Abstract:&lt;br /&gt;&lt;blockquote cite="http://www.sitepoint.com/blogs/2007/11/14/the-great-specificity-swindle/"&gt;&lt;br /&gt;A) Highest priority wins (highest to lowest):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;!important&lt;/code&gt; declarations in a user style sheet&lt;/li&gt;&lt;li&gt;&lt;code&gt;!important&lt;/code&gt; declarations in an author style sheet&lt;/li&gt;&lt;li&gt;normal declarations in an author style sheet (web page style sheets; external, embedded, and inline styles)&lt;/li&gt;&lt;li&gt;normal declarations in a user style sheet (a user’s custom style sheet)&lt;/li&gt;&lt;li&gt;user agent style sheets (default browser styles)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;B) If equal in priority, highest specificity wins:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Is one an inline style? It wins! If none are inline proceed to 2.&lt;/li&gt;&lt;li&gt;Count the number of IDs in the selectors. The highest score wins! Same score? Proceed to 3.&lt;/li&gt;&lt;li&gt;Count the number of attributes, class names and pseudo-classes. The highest score wins! Same score? Proceed to 4.&lt;/li&gt;&lt;li&gt;Count the number of element names or pseudo-elements. The highest score wins!&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;C) If equal in priority &lt;span style="font-style: italic;"&gt;and &lt;/span&gt;equal in specificity, last declaration in the HTML source wins.&lt;br /&gt;&lt;br /&gt;&lt;cite&gt;If the cascade does not set a CSS property on an element, then the browser will fall back to using an inherited property from the element’s parent (this only happens for some properties), otherwise the property is set to the CSS default value.&lt;/cite&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-9134120912214939663?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/9134120912214939663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=9134120912214939663' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/9134120912214939663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/9134120912214939663'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2007/11/css-cascade-what-defenition-takes.html' title='CSS  cascade - Which declaration takes priority?'/><author><name>Erie</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6162085167223928155.post-6547822149660704554</id><published>2007-11-13T16:34:00.001+01:00</published><updated>2008-03-18T16:43:48.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Precies160</title><content type='html'>Vandaag zag ik voor het eerst&lt;br /&gt;hoe een straffe wind toch heel beheerst&lt;br /&gt;een blaadje van zijn boom bevrijdde&lt;br /&gt;en hem op zijn weg begeleidde&lt;br /&gt;dwarrelend naar beneden.&lt;br /&gt;&lt;br /&gt;Original post: &lt;a href="http://precies160.nl/?pageID=1&amp;poem_id=7499"&gt;http://precies160.nl/?pageID=1&amp;poem_id=7499&lt;/a&gt; @ 2007-11-13&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-6547822149660704554?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/6547822149660704554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=6547822149660704554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/6547822149660704554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/6547822149660704554'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2008/03/precies160.html' title='Precies160'/><author><name>Erie</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-6162085167223928155.post-1448482259906029226</id><published>2007-11-07T17:16:00.001+01:00</published><updated>2008-03-04T11:51:09.709+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>A blog is born</title><content type='html'>Hello world!&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;Everything in life is evolutionary.&lt;br /&gt;&lt;br /&gt;Al things and thoughts on earth meet their demands. Simply because failing to do so ultimately results in upgrade or substitution.&lt;br /&gt;In this universal battle against entropy things tend to be good rather than perfect. "Good-enough" will suffice until something better comes along.&lt;br /&gt;Well, I like to think things through. My quests &lt;span style="font-style:italic;"&gt;start&lt;/span&gt; with a solution. Unless this solution is already beautifully simple, I have this urge to perfect it.&lt;br /&gt;Usually, of course, I can't. But for the off-chance I do, I will now be able to dump it into the blogosphere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6162085167223928155-1448482259906029226?l=eriestuff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eriestuff.blogspot.com/feeds/1448482259906029226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6162085167223928155&amp;postID=1448482259906029226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/1448482259906029226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6162085167223928155/posts/default/1448482259906029226'/><link rel='alternate' type='text/html' href='http://eriestuff.blogspot.com/2007/11/blog-is-born.html' title='A blog is born'/><author><name>Erie</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>
