<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6998987740135580524</id><updated>2026-04-09T01:42:26.020+03:00</updated><category term="random ramblings"/><category term="personal favorites"/><category term="off the web"/><category term="web development"/><category term="Yoboo related"/><category term="monetization"/><category term="funny stuff"/><category term="gadgets"/><category term="game"/><category term="graphics"/><category term="programs"/><category term="traffic"/><category term="how to"/><category term="innogames"/><category term="lagoonia"/><category term="online"/><title type='text'>The Yoboo</title><subtitle type='html'>... pointless ramblings in the pursuit of something that is always just out of reach</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-3532518808911362384</id><published>2012-01-22T15:07:00.001+02:00</published><updated>2012-01-22T15:07:26.329+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="innogames"/><category scheme="http://www.blogger.com/atom/ns#" term="lagoonia"/><category scheme="http://www.blogger.com/atom/ns#" term="online"/><title type='text'>Lagoonia - a Sims like game from InnoGames</title><content type='html'>&lt;p&gt;&lt;img border=&quot;0&quot; height=&quot;500&quot; width=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW2j5krcHry4JLwRTK429ueXtbxVElDG-zk7_is2ZGnMGwoWZI8_afPTzYrOnLOkdYDHsa7VdM5ytY8-KuuOuiTT51QGLk-KdCtMNlnws_nxKfqkiJk_qhU23Q_tmCh3K-kUm5xLhwBJlQ/s1600/Lagoonia+-+Sims+like+game.jpg&quot; style=&quot;float: right;margin: 0 0 1em 1em&quot;/&gt;I got about a week ago an email from InnoGames about a new game they just released: &lt;b&gt;&lt;a href=&quot;http://en.lagoonia.com/game.php&quot;&gt;Lagoonia&lt;/a&gt;&lt;/b&gt;. I talked about InnoGames in previous posts: they&#39;re the guys that made The West, Tribal Wars and &lt;a href=&quot;http://theyoboo.blogspot.com/2010/01/grepolis-fully-upgraded-city.html&quot;&gt;Grepolis&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It&#39;s been a week now since I&#39;ve been playing Lagoonia and I can&#39;t help compare it to EA Games&#39; Sims. I haven&#39;t played Sims in a while and I can&#39;t say I was a great fan when I did play it, but the two games are very similar. Lagoonia of course is played online, in a browser.&lt;/p&gt;

&lt;h3&gt;The story of Lagoonia&lt;/h3&gt;

&lt;p&gt;But let&#39;s talk about it a little. At first you are starting out with one player or character, stranded on a deserted island after the plane you were in crashed. You are, from what you can tell, the sole survivor and you need to make everything in your power to make life better for yourself.&lt;/p&gt;
&lt;p&gt;You start collecting different items from around the island and from the wreck of the plane, you build a fire, a stack of woods and a hammock. You find a box with chocolate bars and instant coffee that give you some extra energy. And that&#39;s how you get by for the first 5-10 minutes of the game.&lt;/p&gt;

&lt;h3&gt;The plot thickens&lt;/h3&gt;
&lt;p&gt;You find a bottle with a message inside in the lagoon. After reading the message you realize that there were other survivors of the plane crash. You start building more things that will help you get by and make your life easier. As time passes you consider the chance that you could somehow get together with the other survivors.&lt;/p&gt;
&lt;p&gt;After reading a new message from another bottle, you find out the that a survivor stranded on a small island close to yours is going to try to swim to yours, but he/she needs some sort of a heading. So you light a beacon (constructed by you) and then have a companion.&lt;/p&gt;

&lt;h3&gt;The mechanism of the game&lt;/h3&gt;
&lt;p&gt;In Lagoonia the game is mainly base on actions you take. You can perform certain actions as long as you have the necessary energy to spend. Energy can be received from different buildings you already have or you will construct.&lt;/p&gt;
&lt;p&gt;You start off at level 1 and as time passes and you perform more actions and fulfill the tasks the game sets for you, you gain experience and reach higher levels. Upon reaching a new level you can research and build new structures. These will open up new possibilities, and so on.&lt;/p&gt;
&lt;p&gt;I&#39;m not sure how much importance this has, but Lagoonia also introduces a &quot;relationship&quot; function that takes care of the social relationship between your survivors. Later on you will notice that babies will start coming along (from a stork&#39;s nest of course).&lt;/p&gt;
&lt;p&gt;The items needed for different buildings can be obtained either by searching the island or by making them using the different buildings you have. Some items can be planted, others need to be manufactured from other raw materials. The further you advance in level, newer and more complex items and buildings will appear.&lt;/p&gt;
&lt;p&gt;Also, as your level increases, you can explore new sections of your island and find newer and more interesting items around it.&lt;/p&gt;

&lt;h3&gt;Some tips and tricks&lt;/h3&gt;
&lt;p&gt;In Lagoonia some buildings can be moved, others can not. In the beginning your fists building will be a small campfire and it can not be moved. You can build 3 of these and you should because they provide you with energy. Make sure you build all three very close to each other so that you won&#39;t have to build more than one of the structures that provide them with a bonus in energy: stack of wood (29%) and hammock(14%).&lt;/p&gt;
&lt;p&gt;You will begin with a bonus of 200 pearls (the premium currency in Lagoonia - you can get energy, resources and time reductions with pearls). Even if it is tempting to use them to perform certain actions faster, don&#39;t. You will receive a task later in the game where you need to spend 200 pearls and those are perfect.&lt;/p&gt;

&lt;hr&gt;
This is my little info on the game Lagoonia from InnoGames. I hope you find it useful and you enjoy the game. If it&#39;s anything as complex as the Sims series, I&#39;m sure Lagoonia will become a very addictive occupation.</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/3532518808911362384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2012/01/lagoonia-sims-like-game-from-innogames.html#comment-form' title='152 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/3532518808911362384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/3532518808911362384'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2012/01/lagoonia-sims-like-game-from-innogames.html' title='Lagoonia - a Sims like game from InnoGames'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW2j5krcHry4JLwRTK429ueXtbxVElDG-zk7_is2ZGnMGwoWZI8_afPTzYrOnLOkdYDHsa7VdM5ytY8-KuuOuiTT51QGLk-KdCtMNlnws_nxKfqkiJk_qhU23Q_tmCh3K-kUm5xLhwBJlQ/s72-c/Lagoonia+-+Sims+like+game.jpg" height="72" width="72"/><thr:total>152</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-8789191246524620842</id><published>2010-12-10T12:16:00.001+02:00</published><updated>2010-12-10T12:18:20.945+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="funny stuff"/><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><title type='text'>Die2Nite - a cool zombie game with a twist</title><content type='html'>&lt;p&gt;I&#39;ve been playing quite a few games lately since I don&#39;t have a lot of activity. And I&#39;m also waiting for the Christmas holidays and I have very little productivity.&lt;/p&gt;

&lt;p&gt;So I&#39;ve been playing &lt;a href=&quot;http://en.dinorpg.com/?ref=masteremy&quot;&gt;DinoRPG&lt;/a&gt; for quite a while now, I guess about a year or so, on and off. This week a new announcement came up from the developers saying that they&#39;ve launched a new game: a zombie game. I guess they planned to launch it before Halloween, but didn&#39;t make it. The game is made by &lt;b&gt;MotionTwin&lt;/b&gt;, the guys that also have great and popular web games like &lt;b&gt;MyBrute&lt;/b&gt; (&lt;i&gt;La Brute&lt;/i&gt; in French), &lt;b&gt;Dinoparc&lt;/b&gt; and &lt;b&gt;AlphaBounce&lt;/b&gt;.&lt;/p&gt;

&lt;p style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;http://www.die2nite.com?ref=StelianAndrei&quot; title=&quot;Play Die2Nite zombie game&quot;&gt;&lt;img border=&quot;0&quot; width=&quot;550&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4xJPqERAKSrC4qHctMfHhcBLYFEzT5Ac0nkrQb-y31acKXbk-RMOdZaX093fjRY6XmzuYvoURtoYARrqGgBoXdyyxZvGlh8o8-PBMBQ-Y6cRTN2eAEr0174XR1XMMvo29oXOf_mRONIcR/s400/Play-Die2Nite-zombie-game-by-MotionTwin.jpg&quot; alt=&quot;Play Die2Nite zombie game by MotionTwin&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The game is called &lt;a href=&quot;http://www.die2nite.com?ref=StelianAndrei&quot;&gt;Die2Nite&lt;/a&gt; (pretty cool considering it&#39;s zombie game) and here&#39;s how it works. You are a simple citizen stuck in a town with a lot of other Die2Nite citizens and each night a large number of zombies will attack your town. You need to gather the required materials to upgrade your town and survive the night.&lt;/p&gt;

&lt;p&gt;The thing is there are a lot of items that you can find walking around the Die2Nite map and many of these can be used in different ways by either combining them with something else or transforming them in something else, more useful. The number of items is impressive and so is the number of combination that can be achieved. The Wiki&#39;s really come in handy here (&lt;a href=&quot;http://die2nitewiki.com/wiki/Main_Page&quot;&gt;Die2NiteWiki.com&lt;/a&gt; and on &lt;a href=&quot;http://die2nite.wikia.com/wiki/Die2Nite_Wiki&quot;&gt;Wikia&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Each day you get 6AP (Action Points) to use for your daily activities like exploring, building at the Construction Site or carrying out the dead bodies of your dead comrades (citizens that died in town because of the previous zombie attack). &lt;/p&gt;

&lt;p&gt;Of course other things can be done with your AP, but once they&#39;re consumed you can have a refill by drinking water from the town&#39;s well, eating something, taking drugs or drinking some alcohol (the last two have some funny side effects).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.die2nite.com?ref=StelianAndrei&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; width=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZtrDICdXu1UdgSJlFttV7yZUEZs-e9qWV0xgzlTbbMBBRS0ehL409WnZCbWopAGr-kde83dvkXyaRfCmdmbJYkjxet-7K94_HHhvHWV-dFRMo0d-SNFJihA06IrJuZMF7dx87dFVctmkt/s400/Die2Nite.com-zombie-game-by-MotionTwin.jpg&quot; style=&quot;float: left; margin: 0 1em 1em 0&quot; alt=&quot;Die2Nite.com zombie game&quot; /&gt;&lt;/a&gt;The twist in the game is that the whole town needs to work together to survive the night. If people don&#39;t communicate and collaborate the town will be overrun and everyone will be dead.&lt;/p&gt;

&lt;p&gt;Death is something relative in Die2Nite, because once you die you can start all over again in a new town with new citizens. And the fun starts all over again. You gain points to your soul (the only thing you can&#39;t lose) from these experiences in various towns. I guess there&#39;s a ranking someone, but I couldn&#39;t find it.&lt;/p&gt;

&lt;p&gt;If you want to give &lt;b&gt;Die2Nite&lt;/b&gt; a try, &lt;a href=&quot;http://www.die2nite.com?ref=StelianAndrei&quot;&gt;go right ahead&lt;/a&gt;. And let me know if you like it or not. It looks really fun so far and I see it as a game I&#39;ll keep playing for a while.</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/8789191246524620842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/12/die2nite-cool-zombie-game-with-twist.html#comment-form' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/8789191246524620842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/8789191246524620842'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/12/die2nite-cool-zombie-game-with-twist.html' title='Die2Nite - a cool zombie game with a twist'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4xJPqERAKSrC4qHctMfHhcBLYFEzT5Ac0nkrQb-y31acKXbk-RMOdZaX093fjRY6XmzuYvoURtoYARrqGgBoXdyyxZvGlh8o8-PBMBQ-Y6cRTN2eAEr0174XR1XMMvo29oXOf_mRONIcR/s72-c/Play-Die2Nite-zombie-game-by-MotionTwin.jpg" height="72" width="72"/><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-4910136895250863533</id><published>2010-12-07T10:58:00.000+02:00</published><updated>2010-12-07T10:58:19.710+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><title type='text'>QWOP Game - running is pretty hard</title><content type='html'>&lt;p&gt;Most of you have probably already heard about the &lt;b&gt;QWOP Game&lt;/b&gt;. It&#39; all over the Internet. That&#39;s how I found out about it. But for those of you that don&#39;t know it yet, here&#39;s what it&#39;s about.&lt;/p&gt;

&lt;p&gt;The QWOP Game is a &lt;i&gt;running simulation game&lt;/i&gt; in which the aim is to run as far as possible. You control the legs of your character (named Qwop) and try to synchronize the movement as best as possible. It&#39;s apparently pretty hard to achieve a good running distance. All I got so far are 6.8 meters and that after a lot of practice.&lt;/p&gt;

&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmlGSP9LBu-GVFo3btbY-MMYPurFLqXYXmtshbszSohM4lejZ1gORIqpYuhEwerT2FekIm2cXG2vn5XzRDvtW80wiap1P3DfKqx0ury1DzuCm_1SC6GI_mP1CHivliNH-yoVt2SUJxtKPd/s1600/qwop_game_6.8_meters.jpg&quot; style=&quot;margin: 1.5em 0&quot; alt=&quot;QWOP Game - running simulation&quot; /&gt;

&lt;p&gt;The game is controlled using just 4 keys. Go ahead, guess which keys... That&#39;s right: Q, W, O and P. The Q and W are used to control the thighs while O and P control the calves. The way you use these keys should mimic the human body movement in running as accurately as possible if you want to run the 100 meters.&lt;/p&gt;

&lt;p&gt;A few tips the game developers give us is to start leaning the body forward at the beginning, tapping the O key. Also there seems to be a surprise at 50m and another one at 100m. Has anyone found what these are?&lt;/p&gt;

&lt;p&gt;In any case, go ahead and give it a try. You could experience small problems accessing the game page, probably caused by the huge popularity the game is enjoying lately. More information about the game can be found on &lt;a href=&quot;http://foddy.net/wp/?p=74&quot;&gt;foddy.net&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;If I find some really good tutorials on how to get a better distance I&#39;ll update this post. If you find any, please let me know. Also I would like to hear what other people have scored on this game. Leave a comment below. I&#39;ll keep practicing a little longer but it&#39;s king of frustrating.&lt;/p&gt;

&lt;p&gt;Oh, I almost forgot. The link to the &lt;b&gt;QWOP game&lt;/b&gt; is below:
&lt;br /&gt;
&lt;center style=&quot;font-size: 160%;&quot;&gt;&lt;a href=&quot;http://foddy.net/Athletics.html&quot;&gt;Play the QWOP game&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/4910136895250863533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/12/qwop-game-running-is-pretty-hard.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4910136895250863533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4910136895250863533'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/12/qwop-game-running-is-pretty-hard.html' title='QWOP Game - running is pretty hard'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmlGSP9LBu-GVFo3btbY-MMYPurFLqXYXmtshbszSohM4lejZ1gORIqpYuhEwerT2FekIm2cXG2vn5XzRDvtW80wiap1P3DfKqx0ury1DzuCm_1SC6GI_mP1CHivliNH-yoVt2SUJxtKPd/s72-c/qwop_game_6.8_meters.jpg" height="72" width="72"/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-1846720344776798302</id><published>2010-08-06T15:01:00.000+03:00</published><updated>2010-12-07T10:58:45.720+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="funny stuff"/><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><category scheme="http://www.blogger.com/atom/ns#" term="random ramblings"/><title type='text'>KingsAge - fully upgraded city</title><content type='html'>&lt;p&gt;Today I had some more spare time. I tend to have a lot of that lately. So I decided to find something to do. Being at work, I couldn&#39;t exactly play Starcraft, so I began browsing the web in search for a nice little browser game. I came across &lt;a href=&quot;http://www.kingsage.com/&quot; title=&quot;KingsAge browser game&quot;&gt;KingsAge&lt;/a&gt; so I gave it a try. &lt;/p&gt;

&lt;p&gt;The first thing that stood out was the fact that the map overview resembles the one from &lt;a href=&quot;http://tribalwars.net/&quot; title=&quot;TribalWars browser game&quot;&gt;TribalWars&lt;/a&gt; so I thought that this one is made by the guys at &lt;b&gt;InnoGames&lt;/b&gt;. But it&#39;s actually made by &lt;b&gt;Gameforge Productions GmbH&lt;/b&gt;, the creators of &lt;a href=&quot;http://www.ikariam.org/&quot; title=&quot;Ikariam browser game&quot;&gt;Ikariam&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Now here&#39;s the funny part: Grepolis (from InnoGames) looks like Ikariam (from Gameforge) and KingsAge (from Gameforge) looks like TribalWars (from InnoGames). It&#39;s like these guys just copy each other :). I&#39;m kidding of course.&lt;/p&gt;

&lt;p&gt;But back to KingsAge. I always find it more exciting if I know what I&#39;m going at. In other words, when it comes to browser based games, I want to know what my village/town/polis or whatever it&#39;s called, will look like. I want to know how a fully developed city will look like. And since I already made a few mock-ups with &lt;a href=&quot;http://theyoboo.blogspot.com/2010/01/grepolis-fully-upgraded-city.html&quot; title=&quot;Grepolis fully upgraded city&quot;&gt;Grepolis&lt;/a&gt; in the past, I thought I&#39;ll give this one a go too.&lt;/p&gt;

&lt;p&gt;And here it is, a KingsAge fully developed or upgraded city. And I must say that it looks pretty nice. I don&#39;t know why but it reminds me of Age of Empires. As almost any strategy browser game, most buildings have 3 different images that show their level of development. So there are 3 images below, each showing the buildings in the 3 different stages. Some buildings (like the Memorial or the Hideout) have only one image no matter the level and that&#39;s why they look the same in all images. The Residence has two images.&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg29sAStm8vnY3lc3jrndoY-0H4oWcOfo5k7aLN52LSmEx6yHq4vI3r50vNnmMrf8gOpL-USXR_k1_8RkvhmJ5whLAILlsaosfKCARtPdhKOmSuNjLgCObKglxDzh5n1txKIJKecQs-Ocz/s1600/KingsAge+-+fully+upgraded+city+-+lvl1+buildings.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin: 1em;&quot; rel=&quot;lightbox[kingsage]&quot; title=&quot;KingsAge upgraded city - lvl1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg29sAStm8vnY3lc3jrndoY-0H4oWcOfo5k7aLN52LSmEx6yHq4vI3r50vNnmMrf8gOpL-USXR_k1_8RkvhmJ5whLAILlsaosfKCARtPdhKOmSuNjLgCObKglxDzh5n1txKIJKecQs-Ocz/s320/KingsAge+-+fully+upgraded+city+-+lvl1+buildings.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6JF2f_qiUaVUrFi-ZswzUsbAURjfeEVjAVtVq5OfHNnYvJ9yCwKFs6ui5GotgDg3nexerHaRCcDOD2qIKOkM7WG4GiFJ7tf9QGpGwmWASKq0XmKc6251yordt6uEefnMNQfZHO4weiTBJ/s1600/KingsAge+-+fully+upgraded+city+-+lvl2+buildings.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin: 1em;&quot; rel=&quot;lightbox[kingsage]&quot; title=&quot;KingsAge upgraded city - lvl2&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6JF2f_qiUaVUrFi-ZswzUsbAURjfeEVjAVtVq5OfHNnYvJ9yCwKFs6ui5GotgDg3nexerHaRCcDOD2qIKOkM7WG4GiFJ7tf9QGpGwmWASKq0XmKc6251yordt6uEefnMNQfZHO4weiTBJ/s320/KingsAge+-+fully+upgraded+city+-+lvl2+buildings.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhljfPmRNTjlI21Kq3Pp4i9GnxWZFRsA7cZIKIUSXZeLr20NUGht7-0VZID6gwiiftQk_L3spQNNa3IlkhOW187j41DU_DqGwTH_5HronDPddkTerMQhF8wNX2-EpPIDIph8nWGDNp7rnOr/s1600/KingsAge+-+fully+upgraded+city+-+lvl3+buildings.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin: 1em;&quot; rel=&quot;lightbox[kingsage]&quot; title=&quot;KingsAge upgraded city - lvl3&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhljfPmRNTjlI21Kq3Pp4i9GnxWZFRsA7cZIKIUSXZeLr20NUGht7-0VZID6gwiiftQk_L3spQNNa3IlkhOW187j41DU_DqGwTH_5HronDPddkTerMQhF8wNX2-EpPIDIph8nWGDNp7rnOr/s320/KingsAge+-+fully+upgraded+city+-+lvl3+buildings.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I can&#39;t really form an opinion on whether I like the game or not. I&#39;ll have to play it for a few days. But so far I&#39;m not really impressed with anything in particular. It looks like it&#39;s just one more browser game.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;PS:&lt;/b&gt; These are mock-ups, &lt;i&gt;manufactured images&lt;/i&gt;, don&#39;t think I&#39;ve reached that level and that my city is fully upgraded. I might even quit playing in a day or two. Please don&#39;t ask me any questions regarding the game also. I&#39;m a newbie too. Check the Help pages and the Forum. You&#39;ll find all the information you need there.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/1846720344776798302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/08/kingsage-fully-upgraded-city.html#comment-form' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1846720344776798302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1846720344776798302'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/08/kingsage-fully-upgraded-city.html' title='KingsAge - fully upgraded city'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg29sAStm8vnY3lc3jrndoY-0H4oWcOfo5k7aLN52LSmEx6yHq4vI3r50vNnmMrf8gOpL-USXR_k1_8RkvhmJ5whLAILlsaosfKCARtPdhKOmSuNjLgCObKglxDzh5n1txKIJKecQs-Ocz/s72-c/KingsAge+-+fully+upgraded+city+-+lvl1+buildings.jpg" height="72" width="72"/><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-1195053828942645513</id><published>2010-07-30T10:35:00.001+03:00</published><updated>2010-07-30T10:36:56.670+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><title type='text'>aTokens from Entrecard - a new currency platform</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://atokens.com/i/790&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://banners.atokens.com/images/125125_2.png&quot; style=&quot;float: left; margin: 0 1em 1em 0&quot;&gt;&lt;/a&gt;A few days ago I remembered that there once a website/service on the Internet that got a lot of attention in the past. I remember every single blogger talked about it and everyone thought it was such a great service. Important players on the &quot;make money online&quot; sector made it really popular and people flooded in. It was called, and still is, &lt;a href=&quot;http://entrecard.com/rr/66961&quot; target=&quot;_blank&quot;&gt;Entrecard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Both praises and critics emerged in regard to that service. Some people, including me, thought it is in no way beneficial to building a community. All it did was attract mass droppers and that&#39;s about it. Contests were held and prizes were given. It was a really agitated time for Entrecard.  And then nobody seemed to pay attention to it anymore.&lt;/p&gt;

&lt;p&gt;By accident I stumbled on a Entrecard drop box about a week ago and I remembered all about it. So I created a new account just to see what else is happening with it. Apparently the community, even if it&#39;s not that active anymore, is partly still there. The large players have left. But new people still join.&lt;/p&gt;

&lt;p&gt;But this post is not about Entrecard, but rather about a new service they are promoting: &lt;a href=&quot;http://atokens.com/i/790&quot; target=&quot;_blank&quot;&gt;aTokens&lt;/a&gt;. It seems it&#39;s yet another virtual currency platform, but aimed at the social networking area this time. aTokens stand for (a)ppreciation tokens and it&#39;s meant to be a way to show your appreciation towards someone. I still don&#39;t know what that means in the real world.&lt;/p&gt;

&lt;p&gt;The creation of the account is rather simple and it allows you to connect your account with your existing Twitter account, for faster registration. It even has a built-in messaging system similar to the one Twitter has. &lt;/p&gt;

&lt;p&gt;To fuel your account you can purchase aTokens through PayPal at a price of $4.99 for 100 tokens. The tokens can latter be transferred between users or can be redeemed for cash or coupons. The main advantage I&#39;m seeing with the redeeming part is the fact that it will attract a lot of people and that&#39;s a good thing for a website like this. For any website for that matter. The good part is that aTokens don&#39;t just sprout out from the ground. They are created only in exchange of real cash. I guess that creates a stable economy.&lt;/p&gt;

&lt;p&gt;Even if it sounds pretty good now i doubt it will last. The thing I suspect will happen is a lot of dead accounts will populate aTokens and it will soon roll over and die. Unless some real hot-shot from the high players makes it popular and some high-traffic online shop adopts it as a form of payment. I hope I&#39;m wrong.&lt;/p&gt;

&lt;p&gt;In any case, head on over to &lt;a href=&quot;http://atokens.com/i/790&quot; target=&quot;_blank&quot;&gt;aTokens&lt;/a&gt; and give it a try. And hey, if you found this post useful I don&#39;t mind if you send a few aTokens &lt;a href=&quot;https://atokens.com/masteremy&quot; target=&quot;_blank&quot;&gt;my way&lt;/a&gt; :)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/1195053828942645513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/07/atokens-from-entrecard-new-currency.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1195053828942645513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1195053828942645513'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/07/atokens-from-entrecard-new-currency.html' title='aTokens from Entrecard - a new currency platform'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-5188538821984189103</id><published>2010-07-01T12:20:00.005+03:00</published><updated>2011-06-08T10:49:08.032+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Social Share 2.0 Widget for Blogger</title><content type='html'>&lt;p&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB-1JQyMrOW5J7GpNbiJn9oAwug5goJCtBHnQAtbZhrfEFJ6j4iAchaDXiXSbiAvRhSKaBct1IXKxRE92ctz0m5taJnHikfLFGc-iBXa9GF1aDbs2DBPzFDp8t-PRgeTyu3UuTHI-I8hX8/s800/social-share-2.0-logo.jpg&quot; style=&quot;float: left;border: none;margin: 0 1em 1em 0;&quot;/&gt;The latest and probably last version of the Social Sharing Widget for Blogger is here. Now at version 2.0, for no particular reason. &lt;/p&gt;

&lt;p&gt;The generator has been simplified, no more height/width adjustments. It just fills the space it has. The icons have been changed with the &lt;a href=&quot;http://jwloh.deviantart.com/art/Aquaticus-Social-91014249&quot; target=&quot;_blank&quot;&gt;Aquaticus.Social&lt;/a&gt; pack from &lt;b&gt;jwloh&lt;/b&gt;. A few icons have been created following the same template since there were not in that pack. &lt;/p&gt;

&lt;p&gt;In total I have added 11 new social networking sites: Friendfeed, Newsvine, Mixx, SurfPeople, Google Bookmarks, Yahoo! Buzz, LinkedIn, MySpace, Orkut, Friendster and Diigo. There are a lot more out there, but these should be enough. If you have anything else that you would like to see added, just leave a comment below and I&#39;ll think about it.&lt;/p&gt;

&lt;p&gt;So just select the ones you like, change the order as you please and enjoy!&lt;/p&gt;

&lt;style type=&quot;text/css&quot;&gt;
ul#ss2items{
   margin: 0;
   padding: 0;
   display: inline-block;
   }
  ul#ss2items li{
   list-style-type: none;
   display: inline-block;
   margin: 0.416em;
   padding: 0;
   }
  ul#ss2items li input{display: none;}
  ul#ss2items li label{
   display: inline-block;
   width: 32px;
   height: 32px;
   margin: 0;
   background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfRskPuJ94VHYt9neac2dzuAfFjnZ2txz4DIy0VBMhlNTAovHtZFBu2UNU4RmP176nEmh7Lbbrah6WH_4QvD1ga82WUj9B9y6Sd9yi_HmYyquBshYmAtte070-94bRgjQMqcS2RLoGyy_k/s800/social-share-2.0-icons.png) no-repeat 0 0 transparent;
   cursor: pointer;
   border: 0.25em solid #fff;
   -moz-border-radius: 0.416em;
   -webkit-border-radius: 0.416em;
   border-radius: 0.416em;
   }
  ul#ss2items li label.checked{
   border: 0.25em solid #39f;
   -moz-border-radius: 0.416em;
   -webkit-border-radius: 0.416em;
   border-radius: 0.416em;
   }
  .placeholder{
   background: #ffb;
   display: inline-block;
   width: 36px;
   height: 36px;
   border: 1px dashed #ed9;
   }
  p.error{
   display: none;
   color: #f33;
   font-weight: bold;
   text-align: center;
   background: #fcb;
   border: 0.083em solid #eab;
   margin: 0.4em 1.7em;
   padding: 0;
   }
  ul#ss2items li label.ss2label0{background-position: 0 0;}
  ul#ss2items li label.ss2label1{background-position: -32px 0;}
  ul#ss2items li label.ss2label2{background-position: -64px 0;}
  ul#ss2items li label.ss2label3{background-position: -96px 0;}
  ul#ss2items li label.ss2label4{background-position: -128px 0;}
  ul#ss2items li label.ss2label5{background-position: -160px 0;}
  ul#ss2items li label.ss2label6{background-position: -192px 0;}
  ul#ss2items li label.ss2label7{background-position: -224px 0;}
  ul#ss2items li label.ss2label8{background-position: -256px 0;}
  ul#ss2items li label.ss2label9{background-position: -288px 0;}
  ul#ss2items li label.ss2label10{background-position: -320px 0;}
  ul#ss2items li label.ss2label11{background-position: -352px 0;}
  ul#ss2items li label.ss2label12{background-position: -384px 0;}
  ul#ss2items li label.ss2label13{background-position: -416px 0;}
  ul#ss2items li label.ss2label14{background-position: -448px 0;}
  ul#ss2items li label.ss2label15{background-position: -480px 0;}
  ul#ss2items li label.ss2label16{background-position: -512px 0;}
  ul#ss2items li label.ss2label17{background-position: -544px 0;}
  ul#ss2items li label.ss2label18{background-position: -576px 0;}
 &lt;/style&gt;
 
 &lt;script type=&quot;text/javascript&quot;&gt;
  
  function updateForm(){
   var items = $(&quot;ul#ss2items input:checkbox[checked]&quot;), v = &#39;&#39;;
   
   v += &#39;&lt;div id=&quot;social-share&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;var pageurl = encodeURIComponent(window.location.href), pagetitle = encodeURIComponent(document.title), myshares = new Array(&#39;;
   items.each(function(){
    v += $(this).val() + &#39;, &#39;;
    });
   v += &#39;);&lt;/&#39;;
   v += &#39;script&gt;&lt;&#39;;
   //v += &#39;script type=&quot;text/javascript&quot; src=&quot;http://sites.google.com/site/theyoboo/social-share-2-min.js&quot;&gt;&lt;/&#39;;
   v += &#39;script type=&quot;text/javascript&quot; src=&quot;http://cesazic.ro/extras/social-share/social-share-2-min.js&quot;&gt;&lt;/&#39;;
   v += &#39;script&gt;&lt;p class=&quot;ty-lnk&quot;&gt;&lt;a href=&quot;http://theyoboo.blogspot.com/2010/07/social-share-20-widget-for-blogger.html&quot; title=&quot;Social Sharing Widget for Blogger&quot; target=&quot;_blank&quot;&gt;Get Social Share 2.0!&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&#39;;
   v = v.replace(/, \);/, &#39;);&#39;);
   
   $(&#39;#widgetContent&#39;).val(v);
   }
  
  function showError(message, nr){
   $(&#39;p.error:eq(&#39;+nr+&#39;)&#39;).css(&#39;display&#39;, &#39;block&#39;);
   $(&#39;p.error:eq(&#39;+nr+&#39;)&#39;).html(message);
   }
  
  $(document).ready(function(){
   // reset all checkboxes if page is refreshed
   $(&#39;ul#ss2items input:checkbox&#39;).each(function(){
    $(this).attr(&#39;checked&#39;, false);
    });
   
   // toggle selected items
   $(&#39;ul#ss2items li label&#39;).mouseup(function(){
    $(this).hasClass(&#39;checked&#39;) ? $(this).removeClass(&#39;checked&#39;):$(this).addClass(&#39;checked&#39;);
    var inp = $(this).find(&#39;input&#39;);
    inp.checked = inp.attr(&#39;checked&#39;) ? false : true;
    });
   
   // update the selected items
   $(&#39;ul#ss2items input:checkbox&#39;).change(function(){
    updateForm();
    });
   
   // make the icons sortable
   var istate;
   $(&#39;ul#ss2items&#39;).sortable({
    containment: &#39;parent&#39;,
    handle: &#39;label&#39;,
    opacity: 0.85,
    placeholder: &#39;placeholder&#39;,
    items: &#39;li&#39;,
    tolerance: &#39;pointer&#39;,
    revert: true,
    delay: 200,
    start: function(e, ui){
     var l = ui.item.children(&#39;label&#39;);
     istate = l.hasClass(&#39;checked&#39;) ? true:false;
     },
    stop: function(e, ui){
     var l = ui.item.children(&#39;label&#39;);
     var i = l.find(&#39;input&#39;);
     (istate) ? l.addClass(&#39;checked&#39;) : l.removeClass(&#39;checked&#39;);
     (istate) ? i.attr(&#39;checked&#39;, true) : i.attr(&#39;checked&#39;, false);
     },
    update: function(e,ui){
     updateForm();
     }
    });
   $(&#39;ul#ss2items&#39;).disableSelection();
  
   // check the form and submit if OK
   $(&#39;#widgetinstall&#39;).submit(function(){
    // reset from previous attempts
    $(&#39;p.error&#39;).html(&#39;&#39;);
    $(&#39;p.error&#39;).css(&#39;display&#39;, &#39;none&#39;);
    
    if($(&#39;input[name=ss2items[]][checked]&#39;).length &lt; 1){
     showError(&#39;Select at least one item!&#39;, 0);
     return false;
     }
    else{
     return true;
     }
    });
   });
  &lt;/script&gt;

 
 &lt;form&gt;
  &lt;fieldset&gt;
   &lt;legend&gt;Select items&lt;/legend&gt;
   &lt;span class=&quot;form-info&quot;&gt;Select below the items you want to appear in your widget. Make sure you select at least one. An empty widget serves no purpose. You can also drag them to specify the order you would like them to have.&lt;/span&gt;
   
   &lt;ul class=&quot;ui-sortable&quot; id=&quot;ss2items&quot;&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label0&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item0&quot; value=&quot;0&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label1&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item1&quot; value=&quot;1&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label2&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item2&quot; value=&quot;2&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label3&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item3&quot; value=&quot;3&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label4&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item4&quot; value=&quot;4&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label5&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item5&quot; value=&quot;5&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label6&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item6&quot; value=&quot;6&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label7&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item7&quot; value=&quot;7&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label8&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item8&quot; value=&quot;8&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label9&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item9&quot; value=&quot;9&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label10&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item10&quot; value=&quot;10&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label11&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item11&quot; value=&quot;11&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label12&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item12&quot; value=&quot;12&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label13&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item13&quot; value=&quot;13&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label14&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item14&quot; value=&quot;14&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label15&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item15&quot; value=&quot;15&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label16&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item16&quot; value=&quot;16&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label17&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item17&quot; value=&quot;17&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
    &lt;li&gt;&lt;label class=&quot;ss2label18&quot;&gt;&lt;input name=&quot;ss2items[]&quot; id=&quot;ss2item18&quot; value=&quot;18&quot; type=&quot;checkbox&quot;&gt;&lt;/li&gt;&lt;/label&gt;
   &lt;/ul&gt;
   &lt;p class=&quot;error&quot;&gt;&lt;/p&gt;
  &lt;/fieldset&gt;
 &lt;/form&gt;
 
 &lt;form name=&quot;widgetinstall&quot; id=&quot;widgetinstall&quot; method=&quot;post&quot; action=&quot;http://www.blogger.com/add-widget&quot; target=&quot;_blank&quot;&gt;
  &lt;input name=&quot;infoUrl&quot; value=&quot;http://theyoboo.blogspot.com/2010/07/social-share-20-widget-for-blogger.html&quot; type=&quot;hidden&quot;&gt;
  &lt;input name=&quot;logoUrl&quot; value=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB-1JQyMrOW5J7GpNbiJn9oAwug5goJCtBHnQAtbZhrfEFJ6j4iAchaDXiXSbiAvRhSKaBct1IXKxRE92ctz0m5taJnHikfLFGc-iBXa9GF1aDbs2DBPzFDp8t-PRgeTyu3UuTHI-I8hX8/s800/social-share-2.0-logo.jpg&quot; type
=&quot;hidden&quot;&gt;
  &lt;input name=&quot;widget.title&quot; value=&quot;Social Share!&quot; type=&quot;hidden&quot;&gt;
  &lt;textarea name=&quot;widget.content&quot; id=&quot;widgetContent&quot; style=&quot;display: none;&quot;&gt;&lt;/textarea&gt;
  &lt;input name=&quot;widget.template&quot; value=&quot;&amp;lt;data:content/&amp;gt;&quot; type=&quot;hidden&quot;&gt;
  &lt;button type=&quot;submit&quot; id=&quot;ssinstallbutton&quot;&gt;Add Social Share! widget&lt;/button&gt;
  
  &lt;span class=&quot;form-info&quot;&gt;If you have already installed the previous version, make sure you remove it if you plan to use this one. I doesn&#39;t matter if you remove it before or after you install this version.&lt;/span&gt;
 &lt;/form&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/5188538821984189103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/07/social-share-20-widget-for-blogger.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/5188538821984189103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/5188538821984189103'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/07/social-share-20-widget-for-blogger.html' title='Social Share 2.0 Widget for Blogger'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB-1JQyMrOW5J7GpNbiJn9oAwug5goJCtBHnQAtbZhrfEFJ6j4iAchaDXiXSbiAvRhSKaBct1IXKxRE92ctz0m5taJnHikfLFGc-iBXa9GF1aDbs2DBPzFDp8t-PRgeTyu3UuTHI-I8hX8/s72-c/social-share-2.0-logo.jpg" height="72" width="72"/><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-841498783216330749</id><published>2010-06-29T15:19:00.001+03:00</published><updated>2010-12-07T10:58:45.721+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="personal favorites"/><title type='text'>StarCraft 2: Wings of Liberty - you shall be mine</title><content type='html'>&lt;p style=&quot;text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw7QzYcaq3zk30FLaBLZx4sU9yZ17SZHerwRWdzAOQIVGfAijd9WzF22UAYdhO6du1BknYeofCC8URc_0hf-2KNdj8kphAD8NflKbU_xALtVc3AUElYWeZdkthNMh1UxCEPchhTChTpZ2g/s530/starcraft-2-wings-of-liberty-logo.jpg&quot; width=&quot;530&quot; / style=&quot;border: none;&quot;&gt;&lt;/p&gt;
&lt;p&gt;The release of &lt;b&gt;StarCraft 2&lt;/b&gt; has to be one of the greatest gaming events of the year. For me anyway. This is the one game I never tire of waiting for. Ever since I&#39;ve discovered StarCraft, and later on Brood War, I have waited for a new and hopefully improved version.&lt;/p&gt;
&lt;!-- 604f7af7e9934379a1bd3a6443566532 --&gt;

&lt;p&gt;There was nothing wrong with the old Starcraft, but you get the urge for something new once in a while. There are what, more that 12 years, since the release of the original StarCraft, and people are still playing it. I doubts any other game in history has had that kind of success.&lt;/p&gt;

&lt;p&gt;The very balanced units and abilities of the three races (Terran, Protoss, Zerg), the great resource management, the different technologies available and the ability to play multiplayer games over LAN makes this one of the greatest strategy games of all time. I remember this was the number one game we all wanted to play the moment we installed the local area network in our apartment building. We were hooked.&lt;/p&gt;

&lt;p&gt;The rush of killing the Ghost at the very last second before being able to plant the nuke, the frustration of not being able to take down those Siege Tanks while they&#39;re clearing your base or the amusement of bringing down a dozen Carriers with a pack of cheap kamikaze Scourge. The long wait against a huge attack or the speed at which a well placed drop can render you useless. I also remember those damn High Templar and their Psionic Storm or the accursed Arbiter with that Stasis Field and Recall, the Battlecruiser&#39;s devastating Yamato Gun or the Gurdian&#39;s incredibly long atack range. I remember them all. Those were my days of glory in StarCraft.&lt;/p&gt;

&lt;p&gt;And now, after so much time waiting and hoping for the release of a new version, &lt;b&gt;StarCraft II: Wings of Liberty&lt;/b&gt; makes that dream come true. Damn you Blizzard for making me wait that long. All you did was mess around with that blasted WoW and did nothing for the rest of your players. Even more, you created a first person shooter. Who the hell cares about a first person shooter related to a strategy game? But now it&#39;s finally our time. Finally I can carry on interstellar battles against my enemies. I will bring them pain and despair and maybe I&#39;ll even live long enough to tell the tale.&lt;/p&gt;

&lt;p&gt;This has got to be the only thing I have waited for this long. Just a few more days until July 27th and &lt;b&gt;StarCraft 2: Wings of Liberty&lt;/b&gt; will be in my grasp. We shall meet again dear friends: Terran, Protoss, even you Zerg. Again we shall battle &#39;til the last man. And glory shall be ours!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/841498783216330749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/06/starcraft-2-wings-of-liberty-you-shall.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/841498783216330749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/841498783216330749'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/06/starcraft-2-wings-of-liberty-you-shall.html' title='StarCraft 2: Wings of Liberty - you shall be mine'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw7QzYcaq3zk30FLaBLZx4sU9yZ17SZHerwRWdzAOQIVGfAijd9WzF22UAYdhO6du1BknYeofCC8URc_0hf-2KNdj8kphAD8NflKbU_xALtVc3AUElYWeZdkthNMh1UxCEPchhTChTpZ2g/s72-c/starcraft-2-wings-of-liberty-logo.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-5571775922571816712</id><published>2010-06-02T23:54:00.000+03:00</published><updated>2010-06-02T23:54:10.151+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><title type='text'>Mathletics - the children&#39;s mathematical resource</title><content type='html'>&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPeKSrG7PiEIAysmNvfjwRIsJVlg3XuCmn17jeWaKNc8Tu-iDAwmYCz2S515noecEXU_XnWP5uWhOYnw08yw7PRsH4GPGcxMdgTWDDkb9-kRUVez58_SFPZOp64oUjuBXykxoIpJqgbtC7/s640/mathletics_logo.jpg&quot; alt=&quot;mathletics logo - visit mathletics.co.uk for mathematical learning&quot; style=&quot;border:none;&quot;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.mathletics.com.au&quot; target=&quot;_blank&quot;&gt;Mathletics&lt;/a&gt; - I came across this by accident earlier today, and since I noticed that I haven&#39;tpublished anything else lately, I thought I should give it a go. Oh, and I also found it interesting.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Mathletics&lt;/b&gt;, run by 3P Learning Pty Ltd, describes itself as &quot;Australia&#39;s most used educational website&quot;. I can&#39;t argue with that, since I don&#39;t live in Australia and I&#39;ve finished school a few years now. But even if it&#39;s dedicated to Australian kids we all know that maths is universally identical no matter the country. It doesn&#39;t even matter on what planet you write a formula, according to maths, the result will always be the same. We can&#39;t say the same thing about physics for example.&lt;/p&gt;

&lt;p&gt;Mathletics is aimed at students aged 5 to 18 and is one of the world&#39;s most used mathematics educational website. It is built in such a way that it will help student improve those aspects that they feel uncomfortable with. The website provides children a fun way to learn what most of us consider a torment: mathematics. if something like this would have existed back in the days I went to schol, maybe the stress would have been a lot less present: &quot;Will I pass this year? Will the teacher flunk me?&quot; The horror!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.mathletics.co.uk&quot; target=&quot;_blank&quot;&gt;Mathletics UK&lt;/a&gt; is the website&#39;s version aimed at those students that live in the United Kingdom. There are also versions for some other countries across the globe, like the United States, Canada or South Africa. More details can be found on their official blog, at &lt;a href=&quot;http://blog.mathletics.com&quot; target=&quot;_blank&quot;&gt;blog.mathletics.com&lt;/a&gt; along with the website addresses.&lt;/p&gt;

&lt;p&gt;So,if you have a child that&#39;s not doing so great on maths, go to the Matheletics website and give it a try. It&#39;s most likely not the means to turning your kid in a maths genius, but at least it might get him to learn a few things. And maybe, just maybe,pass the year.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/5571775922571816712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/06/mathletics-childrens-mathematical.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/5571775922571816712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/5571775922571816712'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/06/mathletics-childrens-mathematical.html' title='Mathletics - the children&#39;s mathematical resource'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPeKSrG7PiEIAysmNvfjwRIsJVlg3XuCmn17jeWaKNc8Tu-iDAwmYCz2S515noecEXU_XnWP5uWhOYnw08yw7PRsH4GPGcxMdgTWDDkb9-kRUVez58_SFPZOp64oUjuBXykxoIpJqgbtC7/s72-c/mathletics_logo.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-3785637813356820536</id><published>2010-05-03T13:06:00.001+03:00</published><updated>2010-05-12T15:20:10.932+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>CodeIgniter resources/checklist thingy</title><content type='html'>&lt;p&gt;This is a list of resources for &lt;a href=&quot;http://codeigniter.com/&quot; title=&quot;Open Source PHP web application framework&quot;&gt;CodeIgniter&lt;/a&gt; that I&#39;ve put together mainly because I find myself way too often searching the web for something in particular to use when I start a new project in CodeIgniter and I need to set up some default configuration options. And I almost always end up on the same pages. You could consider this a list of bookmarks of checklist, because that&#39;s what it basically is. I hope someone else can find it useful and if you think there are more things that need to be added to the list, just leave a comment below with a link to the page where to find it.&lt;/p&gt;
&lt;p&gt;The list will be sorted in a few basic categories so they are easier to navigate.&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;&lt;a href=&quot;#configure_framework&quot;&gt;Configuring the framework - initial steps&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#configure_environment&quot;&gt;Configuring the work environment&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#codeigniter_tutorials&quot;&gt;CodeIgniter Tutorials&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#codeigniter_resources&quot;&gt;CodeIgniter resources - helpers, libraries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a name=&quot;configure_framework&quot;&gt;&lt;/a&gt;Configuring the framework - initial steps&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://codeigniter.com/wiki/mod_rewrite/&quot;&gt;mod_rewrite for CodeIgniter&lt;/a&gt; - directly from the official wiki this tutorial shows how to rewrite the URLs on Apache servers with mod_rewrite enabled. This is a great way of creating user friendly URLs by removing the index.php from the address/link and includes a detailed explanation of how it works. It&#39;s worth setting this up from the very start.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://clsc.net/tools/random-string-generator.php&quot;&gt;Encription key generator&lt;/a&gt; - there are many random string generators on the web, but I almost always use this one because it allows you to select both the length of the generated string (32 characters is recommended for CodeIgniter) and the type of characters used in the string&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://codeigniter.com/wiki/Multiple_Applications/&quot;&gt;Managing multiple applications&lt;/a&gt; - even if you don&#39;t plan to set up multiple applications it is good practice to move the &amp;quot;application&amp;quot; folder out of the default CodeIgniter &amp;quot;system&amp;quot; folder. This also allows you to update the framework easier if you need to by replacing only the system folder, but also have several applications using the same &amp;quot;system&amp;quot; folder. This however will become obsolete with CodeIgniter 2.0 because the &amp;quot;application&amp;quot; folder is moved outside by default.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;configure_environment&quot;&gt;&lt;/a&gt;Configuring the work environment&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://rhasan.com/blog/2009/09/codeigniter-auto-complete-with-netbeans/&quot;&gt;Autocomplete for Netbeans&lt;/a&gt; - I personally prefer Netbeans over Eclipse when writing PHP code. But one frustrating thing is the lack of autocomplete. This page describes the process of enabling autocomplete for CodeIgniter in Netbeans for all the CodeIgniter system libraries, helper functions, but you can also add your own libraries and models.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/codeigniter-1-7-1-quick-reference-cheatsheet/&quot;&gt;CodeIgniter Quick Reference Cheatsheet&lt;/a&gt; - not really fits in the configuring stage, but it is related to the work environment and a handy thing to have around. It saves a lot of time from alt-tabbing and searching the User Guide. There are several cheat sheets on the web and you can pick any one of them, but be sure to use one close, if not exactly made for the CodeIgniter version you&#39;re using, as several functions have been deprecated or renamed over time and even more have been added.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;codeigniter_tutorials&quot;&gt;&lt;/a&gt;CodeIgniter Tutorials&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://codeigniter.com/user_guide/&quot;&gt;The CodeIgniter User Guide&lt;/a&gt; - your number one place to go before asking a dumb question on the forums. You get a copy of this when you download your copy of CodeIgniter so it&#39;s good manners to refer to that one instead of using the online copy.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://codeigniter.com/tutorials/&quot;&gt;The official intro videos&lt;/a&gt; - these will give you a quick insight of what CodeIgniter can do but too bad that there are only two of them&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://video.derekallard.com/&quot;&gt;Derek Allard&#39;s AJAX tutorial&lt;/a&gt; - I found this very useful and easy to follow. It does help the fact that Derek Allard is Technology Architect at &lt;a href=&quot;http://ellislab.com&quot;&gt;EllisLab&lt;/a&gt;, the company behind CodeIgniter. On top of that the tutorial can have a lot of applications AS-IS in your own projects.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://codeigniter.com/wiki/Tutorials/&quot;&gt;The CodeIgniter tutorial list&lt;/a&gt; - many CodeIgniter tutorials gathered from all over the internet. A pretty long list of great resources.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.codeigniterdirectory.com/&quot;&gt;CodeIgniter Directory&lt;/a&gt; - a growing directory of resources (helpers, libraries) and tutorials&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;codeigniter_resources&quot;&gt;&lt;/a&gt;Codeigniter resources - helpers, libraries&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.haughin.com/code/&quot;&gt;Code - Elliot Haughin&lt;/a&gt; - a page of several great libraries and ports for some of the most popular social platforms right now. If you plan to develop a social networking application, it&#39;s worth taking a look at this page. Unfortunately Elliot also had a few great screen casts on his website which are no longer available.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.codeigniterdirectory.com/&quot;&gt;CodeIgniter Directory&lt;/a&gt; - I repeat the CodeIgniter Directory because it easily fits into this category also. It is a great place to start when you need something specific.&lt;/p&gt;

&lt;hr style=&quot;width: 80%&quot; /&gt;
&lt;p&gt;Again, I will update the list if I think of anything else or if anyone throws me a link to a specific resource worth adding.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/3785637813356820536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/05/codeigniter-resourceschecklist-thingy.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/3785637813356820536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/3785637813356820536'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/05/codeigniter-resourceschecklist-thingy.html' title='CodeIgniter resources/checklist thingy'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-4352415552866496570</id><published>2010-03-24T17:12:00.003+02:00</published><updated>2010-03-24T17:22:59.583+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="graphics"/><category scheme="http://www.blogger.com/atom/ns#" term="how to"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>How to make a CSS3 and JavaScript analog clock</title><content type='html'>&lt;div id=&quot;clock&quot;&gt;
 &lt;div class=&quot;back&quot;&gt;&lt;/div&gt;
 &lt;div class=&quot;hour-marks&quot;&gt;
  &lt;span class=&quot;mark m1&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m2&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m3&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m4&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m5&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m6&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m7&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m8&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m9&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m10&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m11&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;mark m12&quot;&gt;&lt;/span&gt;
  &lt;span class=&quot;hour h1&quot;&gt;1&lt;/span&gt;
  &lt;span class=&quot;hour h2&quot;&gt;2&lt;/span&gt;
  &lt;span class=&quot;hour h3&quot;&gt;3&lt;/span&gt;
  &lt;span class=&quot;hour h4&quot;&gt;4&lt;/span&gt;
  &lt;span class=&quot;hour h5&quot;&gt;5&lt;/span&gt;
  &lt;span class=&quot;hour h6&quot;&gt;6&lt;/span&gt;
  &lt;span class=&quot;hour h7&quot;&gt;7&lt;/span&gt;
  &lt;span class=&quot;hour h8&quot;&gt;8&lt;/span&gt;
  &lt;span class=&quot;hour h9&quot;&gt;9&lt;/span&gt;
  &lt;span class=&quot;hour h10&quot;&gt;10&lt;/span&gt;
  &lt;span class=&quot;hour h11&quot;&gt;11&lt;/span&gt;
  &lt;span class=&quot;hour h12&quot;&gt;12&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class=&quot;hour-handle&quot;&gt;&lt;span class=&quot;handle&quot;&gt;&lt;/span&gt;&lt;/div&gt;
 &lt;div class=&quot;minute-handle&quot;&gt;&lt;span class=&quot;handle&quot;&gt;&lt;/span&gt;&lt;/div&gt;
 &lt;div class=&quot;seconds-handle&quot;&gt;&lt;span class=&quot;handle&quot;&gt;&lt;/span&gt;&lt;/div&gt;
 &lt;span class=&quot;center&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
 div#clock{
  width: 200px;
  height: 200px;
  margin: 0 1em 1em 0;
  float: left;
  position: relative;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  background: #3a3937;
  background: -moz-linear-gradient(right 240deg, #3a3937, #1b1d1c);
  background: -webkit-gradient(linear, right top, left bottom, from(#3a3937), to(#1b1d1c));
  box-shadow: 0 0 10px #666;
  -moz-box-shadow: 0 0 10px #666;
  -webkit-box-shadow: 0 0 10px #666;
 }
 div#clock div.back{
  width: 184px;
  height: 184px;
  position: absolute;
  top: 8px;
  left: 8px;
  border-radius: 92px;
  -moz-border-radius: 92px;
  -webkit-border-radius: 92px;
  background: #fffdf4;
  background: -moz-linear-gradient(top 260deg, #fffdf4, #e2dfce);
  background: -webkit-gradient(linear, center top, center bottom, from(#fffdf4), to(#e2dfce));
  box-shadow: inset 0 0 5px #000;
  -moz-box-shadow: inset 0 0 9px #000;
  -webkit-box-shadow: inset 0 0 9px #000;
 }
 div#clock div.hour-marks span{
  display: block;
  position: absolute;
 }
 div#clock div.hour-marks span.mark{
  background: #333;
  width: 8px;
  height: 3px;
 }
 div#clock div.hour-marks span.hour{
  font-size: 14px;
  text-align: center;
  font-family: Helvetica, Arial, sans-serif;
  color: #444;
 }
 div#clock div.hour-marks span.m1 {-moz-transform: rotate(-60deg); -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); top:  22px; right:  52px;}
 div#clock div.hour-marks span.m2 {-moz-transform: rotate(-30deg); -webkit-transform: rotate(-30deg); -o-transform: rotate(-30deg); top:  52px; right:  22px;}
 div#clock div.hour-marks span.m3 {-moz-transform: rotate(0deg);   -webkit-transform: rotate(0deg);   -o-transform: rotate(0deg);   top: 100px; right:   8px;}
 div#clock div.hour-marks span.m4 {-moz-transform: rotate(30deg);  -webkit-transform: rotate(30deg);  -o-transform: rotate(30deg);  top: 146px; right:  22px;}
 div#clock div.hour-marks span.m5 {-moz-transform: rotate(60deg);  -webkit-transform: rotate(60deg);  -o-transform: rotate(60deg);  top: 176px; right:  54px;}
 div#clock div.hour-marks span.m6 {-moz-transform: rotate(90deg);  -webkit-transform: rotate(90deg);  -o-transform: rotate(90deg);  top: 188px; right:  95px;}
 div#clock div.hour-marks span.m7 {-moz-transform: rotate(120deg); -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); top: 176px; right: 140px;}
 div#clock div.hour-marks span.m8 {-moz-transform: rotate(150deg); -webkit-transform: rotate(150deg); -o-transform: rotate(150deg); top: 146px; right: 170px;}
 div#clock div.hour-marks span.m9 {-moz-transform: rotate(180deg); -webkit-transform: rotate(180deg); -o-transform: rotate(180deg); top: 100px; right: 184px;}
 div#clock div.hour-marks span.m10{-moz-transform: rotate(210deg); -webkit-transform: rotate(210deg); -o-transform: rotate(210deg); top:  52px; right: 170px;}
 div#clock div.hour-marks span.m11{-moz-transform: rotate(240deg); -webkit-transform: rotate(240deg); -o-transform: rotate(240deg); top:  22px; right: 140px;}
 div#clock div.hour-marks span.m12{-moz-transform: rotate(270deg); -webkit-transform: rotate(270deg); -o-transform: rotate(270deg); top:  10px; right:  95px;}
 div#clock div.hour-marks span.h1 { top:  27px; right:  62px;}
 div#clock div.hour-marks span.h2 { top:  50px; right:  35px;}
 div#clock div.hour-marks span.h3 { top:  90px; right:  20px; font-weight: bold; font-size: 16px}
 div#clock div.hour-marks span.h4 { top: 130px; right:  35px;}
 div#clock div.hour-marks span.h5 { top: 153px; right:  62px;}
 div#clock div.hour-marks span.h6 { top: 163px; right:  95px; font-weight: bold;font-size: 16px}
 div#clock div.hour-marks span.h7 { top: 153px; right: 132px;}
 div#clock div.hour-marks span.h8 { top: 130px; right: 160px;}
 div#clock div.hour-marks span.h9 { top:  90px; right: 170px; font-weight: bold;font-size: 16px}
 div#clock div.hour-marks span.h10{ top:  50px; right: 155px;}
 div#clock div.hour-marks span.h11{ top:  27px; right: 130px;}
 div#clock div.hour-marks span.h12{ top:  20px; right: 90px; font-weight: bold;font-size: 16px}
 div#clock span.center,div#clock span.center span{
  position: absolute;
  top: 95px;
  left: 95px;
  background: #333;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  }
 div#clock span.center span{ width: 6px; height: 6px; top: 2px; left: 2px; background: #666;}
 div#clock div.hour-handle, div#clock div.minute-handle, div#clock div.seconds-handle{
  height: 55px;
  width: 6px;
  position: absolute;
  top: 45px;
  left: 97px;
  overflow: hidden;
  -moz-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
  -o-transform-origin: 50% 100%;
 }
 div#clock div.minute-handle{ height: 80px; top: 20px; width: 4px}
 div#clock div.seconds-handle{ height: 80px; top: 20px; left: 100px; width: 1px;}
 div#clock div.hour-handle .handle, div#clock div.minute-handle .handle, div#clock div.seconds-handle .handle{
  display: block;
  background: #333;
  width: 180%;
  height: 100%;
  -moz-transform: skewY(-84deg);
  -webkit-transform: skewY(-84deg);
  -o-transform: skewY(-84deg);
 }
 div#clock div.minute-handle .handle{
  -moz-transform: skewY(-86deg); 
  -webkit-transform: skewY(-86deg); 
  -o-transform: skewY(-86deg);
 }
 div#clock div.seconds-handle .handle{
  -moz-transform: skewY(-88deg); 
  -webkit-transform: skewY(-88deg); 
  -o-transform: skewY(-88deg); 
  background: #f00;
 }
&lt;/style&gt;
&lt;p&gt;This is a &quot;How To&quot; guiding the ones that are interesting in the creation of an analog clock, similar to the one on the left, with CSS3 and jQuery. First of all, I would like to say that this is in no way a useful method of placing an analog clock on your website. It&#39;s only meant as an experiment with CSS3. If you do want an analog clock, you could probably use Flash or an image based JavaScript clock.&lt;/p&gt;

&lt;p&gt;I used as a reference the Windows 7 sidebar clock, but it&#39;s not a perfect copy. I could have added a lot more details to make it look closer to the real one, but it would have made it a lot more difficult to implement. &lt;/p&gt;

&lt;p&gt;Internet Explorer (any version) has not been targeted for this experiment due to it&#39;s lack of CSS3 support, so don&#39;t be surprised if it doesn&#39;t work. Making it functional in Internet Explorer would have over-complicated the JavaScript, attempting to make it work with IE&#39;s filters. With that out of the way, let&#39;s get started.&lt;/p&gt;

&lt;h3&gt;The HTML&lt;/h3&gt;

&lt;p&gt;All the styles will be set in the stylesheet later on, so don&#39;t bother with it for now. You can see there are a lot of tags that make the clock very heavy. That&#39;s why this is not a good way to create an analog clock for use on your website. &lt;/p&gt;

&lt;p&gt;The div#clock will hold everything together. The div.hour-marks holds all the numbers and hour marks. We could have done without it, but it&#39;s good to have some sort of container just for those. The next 3 divs are the clock handles (hours, minutes, seconds). The last span is the round circle in the center of the clock.&lt;/p&gt;

&lt;pre&gt;
&amp;lt;div id=&amp;quot;clock&amp;quot;&amp;gt;
 &amp;lt;div class=&amp;quot;back&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

 &amp;lt;div class=&amp;quot;hour-marks&amp;quot;&amp;gt;
  &amp;lt;span class=&amp;quot;mark m1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h1&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h2&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h3&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h4&amp;quot;&amp;gt;4&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h5&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h6&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h7&amp;quot;&amp;gt;7&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h8&amp;quot;&amp;gt;8&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h9&amp;quot;&amp;gt;9&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h10&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h11&amp;quot;&amp;gt;11&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h12&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;
 &amp;lt;/div&amp;gt;

 &amp;lt;div class=&amp;quot;hour-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;div class=&amp;quot;minute-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;div class=&amp;quot;seconds-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;

 &amp;lt;span class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;

&lt;h3&gt;The CSS&lt;/h3&gt;

&lt;p&gt;Oh man, this is a lot of CSS for something so trivial. Let&#39;s try to lay it out.&lt;/p&gt;

&lt;p&gt;We&#39;re going to start with our clock div, or better yet, &lt;b&gt;div#clock&lt;/b&gt; and standard CSS. I gave it a width and height of 200px, but you can change that to whatever you like. Take note however that you will need to modify the position of the dandles and marks also. Actually you will need to modify pretty much everything. Position:relative will allow us to position everything else inside it with &lt;b&gt;position:absolute&lt;/b&gt;. &lt;/p&gt;

&lt;pre&gt;
div#clock{
 width: 200px;
 height: 200px;
 position: relative;
 }
&lt;/pre&gt;

&lt;p&gt;Now for the fun part. We don&#39;t need a rectangular clock. That would look unattractive. Instead we will make it round with the border-radius feature in CSS3. This allows you to make the corners of a box element round. But if you take it all the way up, that box will turn into a circle. For that you need to specify at least half of the width or height, in this case 100px. This works best for squares as it creates a perfect circle. The first rule is the standard CSS3 declaration. This is used by Opera also. The next one is the proprietary declaration for Gecko based browsers (Firefox, Flock) and the last, but not least, is the proprietary declaration for Webkit based browsers (Safari, Chrome).&lt;/p&gt;

&lt;pre&gt;
div#clock{
 border-radius: 100px;
 -moz-border-radius: 100px;
 -webkit-border-radius: 100px;
 }
&lt;/pre&gt;

&lt;p&gt;To make it look a little nicer, we&#39;ll add a gradient for the background. First the standard CSS background. Opera will use this as it does not have a linear gradient method implemented yet. The second one is for Mozilla and the third for Webkit.&lt;/p&gt;

&lt;pre&gt;
div#clock{
 background: #3a3937;
 background: -moz-linear-gradient(right 240deg, #3a3937, #1b1d1c);
 background: -webkit-gradient(linear, right top, left bottom, from(#3a3937), to(#1b1d1c));
 }
&lt;/pre&gt;

&lt;p&gt;Now we&#39;re adding a drop-shadow around our clock, just to make it stand out a bit. This can be changed to look like a halo on a dark background. The color can be changed and also the size of the shadow.&lt;/p&gt;

&lt;pre&gt;
div#clock{
 box-shadow: 0 0 10px #666;
 -moz-box-shadow: 0 0 10px #666;
 -webkit-box-shadow: 0 0 10px #666;
 }
&lt;/pre&gt;

&lt;p&gt;These methods will be used throughout the stylesheet, so there&#39;s no point in describing each of them. Here&#39;s some more of the CSS:&lt;/p&gt;

&lt;pre&gt;
div#clock div.back{
 width: 184px;
 height: 184px;
 position: absolute;
 top: 8px;
 left: 8px;

 border-radius: 92px;
 -moz-border-radius: 92px;
 -webkit-border-radius: 92px;

 background: #fffdf4;
 background: -moz-linear-gradient(top 260deg, #fffdf4, #e2dfce);
 background: -webkit-gradient(linear, center top, center bottom, from(#fffdf4), to(#e2dfce));

 box-shadow: inset 0 0 5px #000;
 -moz-box-shadow: inset 0 0 9px #000;
 -webkit-box-shadow: inset 0 0 9px #000;
}
div#clock div.hour-marks span{
 display: block;
 position: absolute;
}
div#clock div.hour-marks span.mark{ background: #333; width: 8px; height: 3px;}
div#clock div.hour-marks span.hour{
 font-size: 14px;
 text-align: center;
 font-family: Helvetica, Arial, sans-serif;
 color: #444;
}
div#clock span.center,div#clock span.center span{
 position: absolute;
 top: 95px;
 left: 95px;
 background: #333;
 width: 10px;
 height: 10px;

 border-radius: 5px;
 -moz-border-radius: 5px;
 -webkit-border-radius: 5px;
}
div#clock span.center span{ width: 6px; height: 6px; top: 2px; left: 2px; background: #666;}
&lt;/pre&gt;

&lt;p&gt;In order to rotate our hour marks so they face towards the center of the clock, we will be using -*-transform: rotate(). This rotates the element by a specific number of degrees. Since we have 12 hours and a circle has 360 degrees, each mark will be rotated at 30 degree intervals. The positioning of these marks are more of a guess. I didn&#39;t feel like finding a method of calculating where each of them should go on a circle. So I positioned them by eye.&lt;/p&gt;

&lt;pre&gt;
div#clock div.hour-marks span.m1 {-moz-transform: rotate(-60deg); -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); top:  22px; right:  52px;}
div#clock div.hour-marks span.m2 {-moz-transform: rotate(-30deg); -webkit-transform: rotate(-30deg); -o-transform: rotate(-30deg); top:  52px; right:  22px;}
div#clock div.hour-marks span.m3 {-moz-transform: rotate(0deg);   -webkit-transform: rotate(0deg);   -o-transform: rotate(0deg);   top: 100px; right:   8px;}
div#clock div.hour-marks span.m4 {-moz-transform: rotate(30deg);  -webkit-transform: rotate(30deg);  -o-transform: rotate(30deg);  top: 146px; right:  22px;}
div#clock div.hour-marks span.m5 {-moz-transform: rotate(60deg);  -webkit-transform: rotate(60deg);  -o-transform: rotate(60deg);  top: 176px; right:  54px;}
div#clock div.hour-marks span.m6 {-moz-transform: rotate(90deg);  -webkit-transform: rotate(90deg);  -o-transform: rotate(90deg);  top: 188px; right:  95px;}
div#clock div.hour-marks span.m7 {-moz-transform: rotate(120deg); -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); top: 176px; right: 140px;}
div#clock div.hour-marks span.m8 {-moz-transform: rotate(150deg); -webkit-transform: rotate(150deg); -o-transform: rotate(150deg); top: 146px; right: 170px;}
div#clock div.hour-marks span.m9 {-moz-transform: rotate(180deg); -webkit-transform: rotate(180deg); -o-transform: rotate(180deg); top: 100px; right: 184px;}
div#clock div.hour-marks span.m10{-moz-transform: rotate(210deg); -webkit-transform: rotate(210deg); -o-transform: rotate(210deg); top:  52px; right: 170px;}
div#clock div.hour-marks span.m11{-moz-transform: rotate(240deg); -webkit-transform: rotate(240deg); -o-transform: rotate(240deg); top:  22px; right: 140px;}
div#clock div.hour-marks span.m12{-moz-transform: rotate(270deg); -webkit-transform: rotate(270deg); -o-transform: rotate(270deg); top:  10px; right:  95px;}

div#clock div.hour-marks span.h1 { top:  27px; right:  62px;}
div#clock div.hour-marks span.h2 { top:  50px; right:  35px;}
div#clock div.hour-marks span.h3 { top:  90px; right:  20px; font-weight: bold; font-size: 16px}
div#clock div.hour-marks span.h4 { top: 130px; right:  35px;}
div#clock div.hour-marks span.h5 { top: 153px; right:  62px;}
div#clock div.hour-marks span.h6 { top: 163px; right:  95px; font-weight: bold;font-size: 16px}
div#clock div.hour-marks span.h7 { top: 153px; right: 132px;}
div#clock div.hour-marks span.h8 { top: 130px; right: 160px;}
div#clock div.hour-marks span.h9 { top:  90px; right: 170px; font-weight: bold;font-size: 16px}
div#clock div.hour-marks span.h10{ top:  50px; right: 160px;}
div#clock div.hour-marks span.h11{ top:  27px; right: 132px;}
div#clock div.hour-marks span.h12{ top:  20px; right: 100px; font-weight: bold;font-size: 16px}
&lt;/pre&gt;

&lt;p&gt;The handles are also rotated using CSS3 and JavaScript. To make them rotate around a certain axis, we need to set the transformation origin. If we don&#39;t do that, they would just spin in one place, like the needle on a compass.&lt;/p&gt;

&lt;pre&gt;
div#clock div.hour-handle, div#clock div.minute-handle, div#clock div.seconds-handle{
 height: 55px;
 width: 6px;
 position: absolute;
 top: 45px;
 left: 97px;
 overflow: hidden;

 -moz-transform-origin: 50% 100%;
 -webkit-transform-origin: 50% 100%;
 -o-transform-origin: 50% 100%;
}
div#clock div.minute-handle{ height: 80px; top: 20px; width: 4px}
div#clock div.seconds-handle{ height: 80px; top: 20px; left: 100px; width: 1px;}
&lt;/pre&gt;

&lt;p&gt;The color for the handles is given by the inside span.handle. This will also suffer some transformations, in order to become pointed towards one end. In this case we will skew them along the Y axis by a huge amount. The number of degrees indicates the angle at which the skewing is make. This increases the height of the handle, but it&#39;s parent container has overflow:hidden and the only part that we can see is the one that we nee: a nice sharp clock handle.&lt;/p&gt;

&lt;pre&gt;
div#clock div.hour-handle .handle, div#clock div.minute-handle .handle, div#clock div.seconds-handle .handle{
 display: block;
 background: #333;
 width: 180%;
 height: 100%;

 -moz-transform: skewY(-84deg);
 -webkit-transform: skewY(-84deg);
 -o-transform: skewY(-84deg);
}
div#clock div.minute-handle .handle{
 -moz-transform: skewY(-86deg); 
 -webkit-transform: skewY(-86deg); 
 -o-transform: skewY(-86deg);
}
div#clock div.seconds-handle .handle{
 -moz-transform: skewY(-88deg); 
 -webkit-transform: skewY(-88deg); 
 -o-transform: skewY(-88deg); 
 background: #f00;
}
&lt;/pre&gt;

&lt;p&gt;That&#39;s about all the CSS required for our analog clock. &lt;/p&gt;

&lt;h3&gt;The JavaScript - jQuery, what else?&lt;/h3&gt;

&lt;p&gt;After loading the jQuery framework (1.4.2 in this case, but older versions might work) we can add the JavaScript required for the clock to function. It does this by repeating a function every second with the help of setInterval(). Read the comments below for more information. The position / angle of the handles is modified each time the function is run using the same -*-transform: rotate() method described in the CSS.&lt;/p&gt;

&lt;pre&gt;
/* make sure everything is loaded */
$(document).ready(function(){
 /*
 *  this function is run every second to update the clock handles
 */
 function setClock(){
  /* get the handles of the clock */
  var hourHandle = $(&#39;div#clock div.hour-handle&#39;);
  var minuteHandle = $(&#39;div#clock div.minute-handle&#39;);
  var secondsHandle = $(&#39;div#clock div.seconds-handle&#39;);
  /* get the current date from te users computer */
  var now = new Date();

  /* 
  * determine the degrees we need to rotate each handle 
  * we need to create this variable as a string here, before applying it
  */
  var hourDeg = &#39;rotate(&#39; + ((now.getHours() * 30) + Math.floor(now.getMinutes() / 2)) + &#39;deg)&#39;;
  var minDeg = &#39;rotate(&#39; + (now.getMinutes() * 6) + &#39;deg)&#39;;
  var secDeg = &#39;rotate(&#39; + (now.getSeconds() * 6) + &#39;deg)&#39;;

  /* change the CSS for each of the handles */
  hourHandle.css({
   &#39;-moz-transform&#39;: hourDeg,
   &#39;-webkit-transform&#39;: hourDeg,
   &#39;-o-transform&#39;: hourDeg
  });
  minuteHandle.css({
   &#39;-moz-transform&#39;: minDeg,
   &#39;-webkit-transform&#39;: minDeg,
   &#39;-o-transform&#39;: minDeg
  });
  secondsHandle.css({
   &#39;-moz-transform&#39;: secDeg,
   &#39;-webkit-transform&#39;: secDeg,
   &#39;-o-transform&#39;: secDeg
  });
 }

 /* call the function every second */
 setInterval( setClock, 1000);
 });
&lt;/pre&gt;

&lt;p&gt;This is all there is to it. A working example can be seen at the top of this page. I would like to repeat myself: this is not a good way to add an analog clock to your website. It&#39;s just a way of showing what can be done with CSS3. Here is the complete code used to make the clock.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The HTML&lt;/b&gt;&lt;br/&gt;
&lt;textarea cols=&quot;100&quot; rows=&quot;10&quot;&gt;&amp;lt;div id=&amp;quot;clock&amp;quot;&amp;gt;
 &amp;lt;div class=&amp;quot;back&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;div class=&amp;quot;hour-marks&amp;quot;&amp;gt;
  &amp;lt;span class=&amp;quot;mark m1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;mark m12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h1&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h2&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h3&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h4&amp;quot;&amp;gt;4&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h5&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h6&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h7&amp;quot;&amp;gt;7&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h8&amp;quot;&amp;gt;8&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h9&amp;quot;&amp;gt;9&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h10&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h11&amp;quot;&amp;gt;11&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;hour h12&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;div class=&amp;quot;hour-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;div class=&amp;quot;minute-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;div class=&amp;quot;seconds-handle&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;span class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/div&amp;gt;&lt;/textarea&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The CSS&lt;/b&gt;&lt;br/&gt;
&lt;textarea cols=&quot;100&quot; rows=&quot;10&quot;&gt;div#clock{
 width: 200px;
 height: 200px;
 margin: 0 auto;
 position: relative;
 
 border-radius: 100px;
 -moz-border-radius: 100px;
 -webkit-border-radius: 100px;
 
 background: #3a3937;
 background: -moz-linear-gradient(right 240deg, #3a3937, #1b1d1c);
 background: -webkit-gradient(linear, right top, left bottom, from(#3a3937), to(#1b1d1c));
 
 box-shadow: 0 0 10px #666;
 -moz-box-shadow: 0 0 10px #666;
 -webkit-box-shadow: 0 0 10px #666;
}
div#clock div.back{
 width: 184px;
 height: 184px;
 position: absolute;
 top: 8px;
 left: 8px;
 
 border-radius: 92px;
 -moz-border-radius: 92px;
 -webkit-border-radius: 92px;
 
 background: #fffdf4;
 background: -moz-linear-gradient(top 260deg, #fffdf4, #e2dfce);
 background: -webkit-gradient(linear, center top, center bottom, from(#fffdf4), to(#e2dfce));
 
 box-shadow: inset 0 0 5px #000;
 -moz-box-shadow: inset 0 0 9px #000;
 -webkit-box-shadow: inset 0 0 9px #000;
}
div#clock div.hour-marks span{
 display: block;
 position: absolute;
}
div#clock div.hour-marks span.mark{
 background: #333;
 width: 8px;
 height: 3px;
}
div#clock div.hour-marks span.hour{
 font-size: 14px;
 text-align: center;
 font-family: Helvetica, Arial, sans-serif;
 color: #444;
}

div#clock div.hour-marks span.m1 {-moz-transform: rotate(-60deg); -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); top:  22px; right:  52px;}
div#clock div.hour-marks span.m2 {-moz-transform: rotate(-30deg); -webkit-transform: rotate(-30deg); -o-transform: rotate(-30deg); top:  52px; right:  22px;}
div#clock div.hour-marks span.m3 {-moz-transform: rotate(0deg);   -webkit-transform: rotate(0deg);   -o-transform: rotate(0deg);   top: 100px; right:   8px;}
div#clock div.hour-marks span.m4 {-moz-transform: rotate(30deg);  -webkit-transform: rotate(30deg);  -o-transform: rotate(30deg);  top: 146px; right:  22px;}
div#clock div.hour-marks span.m5 {-moz-transform: rotate(60deg);  -webkit-transform: rotate(60deg);  -o-transform: rotate(60deg);  top: 176px; right:  54px;}
div#clock div.hour-marks span.m6 {-moz-transform: rotate(90deg);  -webkit-transform: rotate(90deg);  -o-transform: rotate(90deg);  top: 188px; right:  95px;}
div#clock div.hour-marks span.m7 {-moz-transform: rotate(120deg); -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); top: 176px; right: 140px;}
div#clock div.hour-marks span.m8 {-moz-transform: rotate(150deg); -webkit-transform: rotate(150deg); -o-transform: rotate(150deg); top: 146px; right: 170px;}
div#clock div.hour-marks span.m9 {-moz-transform: rotate(180deg); -webkit-transform: rotate(180deg); -o-transform: rotate(180deg); top: 100px; right: 184px;}
div#clock div.hour-marks span.m10{-moz-transform: rotate(210deg); -webkit-transform: rotate(210deg); -o-transform: rotate(210deg); top:  52px; right: 170px;}
div#clock div.hour-marks span.m11{-moz-transform: rotate(240deg); -webkit-transform: rotate(240deg); -o-transform: rotate(240deg); top:  22px; right: 140px;}
div#clock div.hour-marks span.m12{-moz-transform: rotate(270deg); -webkit-transform: rotate(270deg); -o-transform: rotate(270deg); top:  10px; right:  95px;}

div#clock div.hour-marks span.h1 { top:  27px; right:  62px;}
div#clock div.hour-marks span.h2 { top:  50px; right:  35px;}
div#clock div.hour-marks span.h3 { top:  90px; right:  20px; font-weight: bold; font-size: 16px}
div#clock div.hour-marks span.h4 { top: 130px; right:  35px;}
div#clock div.hour-marks span.h5 { top: 153px; right:  62px;}
div#clock div.hour-marks span.h6 { top: 163px; right:  95px; font-weight: bold;font-size: 16px}
div#clock div.hour-marks span.h7 { top: 153px; right: 132px;}
div#clock div.hour-marks span.h8 { top: 130px; right: 160px;}
div#clock div.hour-marks span.h9 { top:  90px; right: 170px; font-weight: bold;font-size: 16px}
div#clock div.hour-marks span.h10{ top:  50px; right: 160px;}
div#clock div.hour-marks span.h11{ top:  27px; right: 132px;}
div#clock div.hour-marks span.h12{ top:  20px; right: 100px; font-weight: bold;font-size: 16px}

div#clock span.center,div#clock span.center span{
 position: absolute;
 top: 95px;
 left: 95px;
 background: #333;
 width: 10px;
 height: 10px;
 
 border-radius: 5px;
 -moz-border-radius: 5px;
 -webkit-border-radius: 5px;
 }
div#clock span.center span{ width: 6px; height: 6px; top: 2px; left: 2px; background: #666;}

div#clock div.hour-handle, div#clock div.minute-handle, div#clock div.seconds-handle{
 height: 55px;
 width: 6px;
 position: absolute;
 top: 45px;
 left: 97px;
 overflow: hidden;
 
 -moz-transform-origin: 50% 100%;
 -webkit-transform-origin: 50% 100%;
 -o-transform-origin: 50% 100%;
}
div#clock div.minute-handle{ height: 80px; top: 20px; width: 4px}
div#clock div.seconds-handle{ height: 80px; top: 20px; left: 100px; width: 1px;}


div#clock div.hour-handle .handle, div#clock div.minute-handle .handle, div#clock div.seconds-handle .handle{
 display: block;
 background: #333;
 width: 180%;
 height: 100%;
 
 -moz-transform: skewY(-84deg);
 -webkit-transform: skewY(-84deg);
 -o-transform: skewY(-84deg);
}
div#clock div.minute-handle .handle{
 -moz-transform: skewY(-86deg); 
 -webkit-transform: skewY(-86deg); 
 -o-transform: skewY(-86deg);
}
div#clock div.seconds-handle .handle{
 -moz-transform: skewY(-88deg); 
 -webkit-transform: skewY(-88deg); 
 -o-transform: skewY(-88deg); 
 background: #f00;
}&lt;/textarea&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The JavaScript&lt;/b&gt;&lt;br/&gt;
&lt;textarea cols=&quot;100&quot; rows=&quot;10&quot;&gt;$(document).ready(function(){
 function setClock(){
  var hourHandle = $(&#39;div#clock div.hour-handle&#39;);
  var minuteHandle = $(&#39;div#clock div.minute-handle&#39;);
  var secondsHandle = $(&#39;div#clock div.seconds-handle&#39;);
  var now = new Date();

  var hourDeg = &#39;rotate(&#39; + ((now.getHours() * 30) + Math.floor(now.getMinutes() / 2)) + &#39;deg)&#39;;
  var minDeg = &#39;rotate(&#39; + (now.getMinutes() * 6) + &#39;deg)&#39;;
  var secDeg = &#39;rotate(&#39; + (now.getSeconds() * 6) + &#39;deg)&#39;;

  hourHandle.css({
   &#39;-moz-transform&#39;: hourDeg,
   &#39;-webkit-transform&#39;: hourDeg,
   &#39;-o-transform&#39;: hourDeg
   });
  minuteHandle.css({
   &#39;-moz-transform&#39;: minDeg,
   &#39;-webkit-transform&#39;: minDeg,
   &#39;-o-transform&#39;: minDeg
   });
  secondsHandle.css({
   &#39;-moz-transform&#39;: secDeg,
   &#39;-webkit-transform&#39;: secDeg,
   &#39;-o-transform&#39;: secDeg
   });
 }

 setClock();
 setInterval( setClock, 1000);
});&lt;/textarea&gt;&lt;/p&gt;

&lt;p&gt;If you have any comments or questions, please let me know.&lt;/p&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function(){
 function setClock(){
  var hourHandle = $(&#39;div#clock div.hour-handle&#39;);
  var minuteHandle = $(&#39;div#clock div.minute-handle&#39;);
  var secondsHandle = $(&#39;div#clock div.seconds-handle&#39;);
  var now = new Date();

  var hourDeg = &#39;rotate(&#39; + ((now.getHours() * 30) + Math.floor(now.getMinutes() / 2)) + &#39;deg)&#39;;
  var minDeg = &#39;rotate(&#39; + (now.getMinutes() * 6) + &#39;deg)&#39;;
  var secDeg = &#39;rotate(&#39; + (now.getSeconds() * 6) + &#39;deg)&#39;;
  hourHandle.css({
   &quot;-moz-transform&quot;: hourDeg,
   &quot;-webkit-transform&quot;: hourDeg,
   &quot;-o-transform&quot;: hourDeg
   });
  minuteHandle.css({
   &quot;-moz-transform&quot;: minDeg,
   &quot;-webkit-transform&quot;: minDeg,
   &quot;-o-transform&quot;: minDeg
   });
  secondsHandle.css({
   &quot;-moz-transform&quot;: secDeg,
   &quot;-webkit-transform&quot;: secDeg,
   &quot;-o-transform&quot;: secDeg
   });
 }
 setInterval( setClock, 1000);
});
&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/4352415552866496570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/03/how-to-make-css3-and-javascript-analog.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4352415552866496570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4352415552866496570'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/03/how-to-make-css3-and-javascript-analog.html' title='How to make a CSS3 and JavaScript analog clock'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-8386108043546568953</id><published>2010-03-12T01:31:00.002+02:00</published><updated>2010-03-12T01:35:13.205+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><category scheme="http://www.blogger.com/atom/ns#" term="personal favorites"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>To validate or not to validate?</title><content type='html'>&lt;p&gt;This post is intended to address the issue of HTML validation from my point of view. I will try to point out the advantages and the reasons a web page needs to validate (again from my point of view of course), but I will try to line out a few other opinions on the matter. Long story short, I will try to answer a simple question: &quot;&lt;b&gt;Should I care about validation or not ?&lt;/b&gt;&quot;&lt;/p&gt;

&lt;h3&gt;What is HTML validation?&lt;/h3&gt;

&lt;p&gt;For those of you that still don&#39;t know what validation really is, here is the short explanation. Validation is the process by which an HTML or XHTML page, meaning it&#39;s source, is brought in accordance with world wide accepted standards. What this means is actually writing the source code of the page in such a manner that is respects all the guidelines implemented by the W3C (that&#39;s the World Wide Web Consortium). In order to make sure your web page is valid from an HTML or XHTML point of view, you can use a lot of different tools, but my favorite is the online one provided by W3C at &lt;a href=&quot;http://validator.w3.org/&quot; target=&quot;_blank&quot;&gt;http://validator.w3.org&lt;/a&gt;. Simply type in the URI of your page or copy/paste your code and hit the &quot;Check&quot; button. That&#39;s it.&lt;/p&gt;

&lt;h3&gt;Does it even matter?&lt;/h3&gt;

&lt;p&gt;Believe it or not, it does. There are people that say that validation is just something that developers thought up to brag about their skill. Others just don&#39;t care if it&#39;s not valid as long as it works. But here is where the funny thing comes in. For it to work it still needs to be coded after some specific guidelines, so unintentionally people do give a though to validation. After all, they do want their pages to look nice, don&#39;t they?&lt;/p&gt;

&lt;p&gt;There are many situations when a page full of errors looks flawless, the layout is just the way it was planned. That doesn&#39;t mean it&#39;s right and that it doesn&#39;t need to be coded differently. It just means the browser is aware there are bad developers or that errors might slip by unnoticed and it just ignores the situations and renders things just like nothing happened, mostly &quot;guessing&quot; how things should have been.&lt;/p&gt;

&lt;h3&gt;So browsers fix things for me. Then why should I bother to validate?&lt;/h3&gt;

&lt;p&gt;The idea here is that browsers can&#39;t fix everything. There are situations when you do need a valid page and a well thought out structure. One of the most common situations i when you&#39;re using JavaScript, like the many wonderful frameworks available out there (jQuery, MooTools, Dojo to name just a few). These don&#39;t bother to check your code, they just use what they are given. &lt;/p&gt;

&lt;p&gt;For example if you forget to close a paragraph (&amp;lt;p&amp;gt; tag), the browser will render just fine. When it finds the next paragraph tag or the next block element, it assumes you closed the previous one. But if you use some JavaScript code to work on your paragraph tags, let&#39;s say for example that you want to change their background when you hover over them, errors will appear. JavaScript will assume that the paragraph ends when it meets the closing tag (&amp;lt;/p&amp;gt;), but that will cause the change to be applied to the next elements (maybe other paragraph or maybe lists), until that closing tag is met.&lt;/p&gt;

&lt;h3&gt;That&#39;s all? Closing tags?&lt;/h3&gt;

&lt;p&gt;No, that&#39;s not all. Because browsers continue to evolve and improve, a strict set of rules is required. And these rules must be respected by everyone, both website owners and browser developers. If they are ignored, progress will be just a long list of hacks and fixes from either side. Browser developer will try to support obsolete and sometimes wrong interpretations of standards just to please the users and not render the pages chaotically. And website owner and developers will try to work around browser incorrect renderings by various CSS, HTML or JavaScript hacks.&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;In closing, I would like to say that I try my best to make every page as valid from a W3 point of view as possible. There are situations when it&#39;s jut too much work and it&#39;s not worth rewriting the entire code just to shift a few pixels. But these days things are a lot more easy. Modern browsers even support standards not yet officially recognized in preparation for when they will be made generally accepted, like CSS3. The only thing developers need to do is focus on the new implementations (which are already pretty old by now) and leave behind the old hacks. And if a browser doesn&#39;t display the page the right way, it just means it&#39;s the browser&#39;s fault. Most likely it&#39;s an outdated version and the users should upgrade for their own sake.&lt;/p&gt;

&lt;p&gt;On the same note, I would like to keep a moment of silence for the soon to be dead and hopefully forever forgotten, IE6. Your death&#39;s coming soon. &lt;/p&gt;

&lt;div id=&quot;browser_version-ww-monthly-200903-201003&quot; width=&quot;550&quot; height=&quot;400&quot; style=&quot;width:550px; height: 400px;&quot;&gt;&lt;/div&gt;&lt;!-- You may change the values of width and height above to resize the chart --&gt;&lt;p&gt;Source: &lt;a href=&quot;http://gs.statcounter.com/#browser_version-ww-monthly-200903-201003&quot;&gt;StatCounter Global Stats - Browser Version Market Share&lt;/a&gt;&lt;/p&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.statcounter.com/js/FusionCharts.js&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://gs.statcounter.com/chart.php?browser_version-ww-monthly-200903-201003&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/8386108043546568953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/03/to-validate-or-not-to-validate.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/8386108043546568953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/8386108043546568953'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/03/to-validate-or-not-to-validate.html' title='To validate or not to validate?'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-1839540871233575947</id><published>2010-03-10T22:16:00.006+02:00</published><updated>2010-07-01T12:48:15.894+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gadgets"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Social Share 1.5 - the new and improved social sharing Blogger widget</title><content type='html'>&lt;p style=&quot;display: block;clear:both;background: #feefb3;border: 2px solid #9f6000; color: 9f6000; padding: 1em; font-size: 1.3em; text-align: center&quot;&gt;A new version of this widget has been released. You can find it here: &lt;a href=&quot;http://theyoboo.blogspot.com/2010/07/social-share-20-widget-for-blogger.html&quot; title=&quot;Social Share 2.0 Blogger widget&quot;&gt;Social Share 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcYWokZCMazXz1togP6o5NQMWI_E-V0pWrSX_6jci9n-h4Df7gIc1XF8rtV26qR2IlONwzLo3oi2_EMHRrmQGvV3WbIlRO1S3c-iy1pXi3f5Km6OeGOuXwznFWoqQCFXOyl_kyyLtO-7J/s800/social_share_logo_150.jpg&quot; style=&quot;margin: 0 1em 1em 0; float:left&quot; title=&quot;Social Share 1.5 Blogger widget&quot; /&gt;Having a little spare time and not being particularly happy with the first version of my &amp;quot;Social Share!&amp;quot; widget, I thought I can make a better one. And I believe I did. Introducing &lt;b&gt;&quot;Social Share 1.5&quot;&lt;/b&gt; Blogger widget. It&#39;s not a great improvement when it comes to how it looks, but rather how it is generated. &lt;/p&gt;
  &lt;p&gt;The new generator uses &lt;b&gt;jQuery&lt;/b&gt; to dynamically update the widget code and allows for a greater customization of the widget. You now have the possibility of choosing which links should appear in the widget. The order of the links can also be changed by drag &amp;amp; drop. You can also select from a range of color schemes for the icons.&lt;/p&gt;
  &lt;p&gt;From a design point of view, it&#39;s not at all brilliant. But the fact that the code can be changed easily allows a more flexible evolution of the widget, in the sens that future changes can be implemented with much more ease. So without any further ado, I invite you to use the generator bellow to generate your very own &lt;b&gt;Social Share! 1.5 Blogger widget&lt;/b&gt;.&lt;/p&gt;

 &lt;style type=&quot;text/css&quot;&gt;
  ul#ssitems-container{
   margin: 0;
   padding: 0;
   display: inline-block;
  }
  ul#ssitems-container li{
   list-style-type: none;
   display: inline-block;
   margin: 0.416em;
   padding: 0;
  }
  input.ssitem{display: none;}
  label.ssitemlabel{
   display: inline-block;
   width: 32px;
   height: 32px;
   margin: 0;
   background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdmjFoSp9nf19znCZM4Lce7O25a-PlOIB6fqRjwArYyS_WpUMvkbmEPdss8gYcfuvvwH2BkHMGRA83Sf9OwNsPq0c_bsp0hG2QsiijiDhUGn9LCUzaLoB6jztQifAYXHyudJrjH3imJ_w4/s800/social_share_1.50.png) no-repeat 0 0 transparent;
   cursor: pointer;
   border: 0.25em solid #fff;
   -moz-border-radius: 0.416em;
   -webkit-border-radius: 0.416em;
  }
  label.checked{
   border: 0.25em solid #39f;
   -moz-border-radius: 0.416em;
   -webkit-border-radius: 0.416em;
  }
  .placeholder{
   background: #ffb;
   display: inline-block;
   width: 36px;
   height: 36px;
   border: 1px dashed #ed9;
  }
  p.error{
   display: none;
   color: #f33;
   font-weight: bold;
   text-align: center;
   background: #fcb;
   border: 0.083em solid #eab;
   margin: 0.4em 1.7em;
   padding: 0;
  }

  label.facebook{background-position: 0 0;}
  label.delicious{background-position: -32px 0;}
  label.digg{background-position: -64px 0;}
  label.reddit{background-position: -96px 0;}
  label.stumble{background-position: -128px 0;}
  label.technorati{background-position: -160px 0;}
  label.twitter{background-position: -192px 0;}
  label.rss{background-position: -224px 0;}
 &lt;/style&gt;

 &lt;div style=&quot;width: 37.5em; margin: 2em auto;&quot;&gt;

  &lt;script type=&quot;text/javascript&quot;&gt;
   function updateForm(){
    var s = &#39;&#39;; /* the widget stylesheet */
    var t = &#39;&#39;; /* the widget content */
     
    // get the icon subset
    var i = ($(&#39;#ssicons&#39;).val() * (-32)) + &#39;px&#39;;

    // add the stylesheet
    s += &#39;&lt;style type=\&quot;text/css\&quot;&gt;&#39;;

    // limit the container if sizes have been specified
    if(($(&#39;#sswidth&#39;).val() != &#39;&#39; &amp;&amp; $(&#39;#ssautowidth&#39;).attr(&#39;checked&#39;) === false) || ($(&#39;#ssheight&#39;).val() != &#39;&#39; &amp;&amp; $(&#39;#ssautoheight&#39;).attr(&#39;checked&#39;) === false)){
     s += &#39;div#social-share{&#39;;
     if($(&#39;#sswidth&#39;).val() != &#39;&#39; &amp;&amp; $(&#39;#ssautowidth&#39;).attr(&#39;checked&#39;) === false){
      s += &#39;width: &#39; + $(&#39;#sswidth&#39;).val() + &#39;px&#39;;
     }
     if($(&#39;#ssheight&#39;).val() != &#39;&#39; &amp;&amp; $(&#39;#ssautoheight&#39;).attr(&#39;checked&#39;) === false){
      s += &#39;height: &#39; + $(&#39;#ssheight&#39;).val() + &#39;px&#39;;
     }
     s += &#39;}&#39;;
    }
    s += &#39;ul#social-share-widget{list-style-type:none}ul#social-share-widget li{display:inline-block;padding:5px;margin:0}ul#social-share-widget li a{display:block;width:32px;height:32px;text-indent:-5000em;background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdmjFoSp9nf19znCZM4Lce7O25a-PlOIB6fqRjwArYyS_WpUMvkbmEPdss8gYcfuvvwH2BkHMGRA83Sf9OwNsPq0c_bsp0hG2QsiijiDhUGn9LCUzaLoB6jztQifAYXHyudJrjH3imJ_w4/s800/social_share_1.50.png) no-repeat 0 0 transparent;margin:0;padding:0;outline:none}div#social-share p.link-home{font-size:10px;font-style:italic;text-align:right;}&#39;;

    t+=&#39;&lt;div id=\&quot;social-share\&quot;&gt;&lt;ul id=\&quot;social-share-widget\&quot;&gt;&lt;sc&#39;;t+=&#39;ript type=\&quot;text/javascript\&quot;&gt;function php_urlencode (str) {str = escape(str);return str.replace(/[*+/@]|%20/g,function (s) {switch (s) {case \&#39;*\&#39;: s = \&#39;%2A\&#39;; break;case \&#39;+\&#39;: s = \&#39;%2B\&#39;; break;case \&#39;/\&#39;: s = \&#39;%2F\&#39;; break;case \&#39;@\&#39;: s = \&#39;%40\&#39;; break;case \&#39;%20\&#39;: s = \&#39;+\&#39;; break;} return s; });}var pageurl = php_urlencode(window.location.href);var pagetitle = \&#39;\&#39;;var t = document.getElementsByTagName(\&#39;title\&#39;)[0];if ( !t.childNodes.length ) {pagetitle = php_urlencode(t.firstChild.data);} else if ( t.innerHTML ) {pagetitle = php_urlencode(t.innerHTML);};&lt;\/script&gt;&#39;;
    var items=$(&quot;input.ssitem:checkbox[checked]&quot;);

    t+= &#39;&lt;script type=\&quot;text/javascript\&quot;&gt;&#39;;
    items.each(function(){
     switch($(this).val()){
      case &quot;facebook&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;facebook&quot;&gt;&lt;a href=&quot;http://www.facebook.com/share.php?u=\&#39; + pageurl + \&#39;&amp;amp;t=\&#39; + pagetitle + \&#39;&quot; title=&quot;Share on Facebook&quot;&gt;Share on Facebook&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.facebook a{background-position:0 &quot;+i+&quot;}&quot;;
       break;
      case &quot;delicious&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;delicious&quot;&gt;&lt;a href=&quot;http://del.icio.us/post?url=\&#39; + pageurl + \&#39;&amp;amp;title=\&#39; + pagetitle + \&#39;&quot; title=&quot;This is Del.icio.us&quot;&gt;This is Del.icio.us&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.delicious a{background-position:-32px &quot;+i+&quot;}&quot;;
       break;
      case &quot;digg&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;digg&quot;&gt;&lt;a href=&quot;http://digg.com/submit?phase=2&amp;url=\&#39; + pageurl + \&#39;&amp;amp;title=\&#39; + pagetitle + \&#39;&quot; title=&quot;I Digg this!&quot;&gt;I Digg this&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.digg a{background-position:-64px &quot;+i+&quot;}&quot;;
       break;
      case &quot;reddit&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;reddit&quot;&gt;&lt;a href=&quot;http://reddit.com/submit?url=\&#39; + pageurl + \&#39;&amp;amp;title=\&#39; + pagetitle + \&#39;&quot; title=&quot;Reddit me!&quot;&gt;Reddit me!&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.reddit a{background-position:-96px &quot;+i+&quot;}&quot;;
       break;
      case &quot;stumble&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;stumble&quot;&gt;&lt;a href=&quot;http://www.stumbleupon.com/submit?url=\&#39; + pageurl + \&#39;&amp;amp;title=\&#39; + pagetitle + \&#39;&quot; title=&quot;I Stumbled Upon something&quot;&gt;I Stumbled Upon something&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.stumble a{background-position:-128px &quot;+i+&quot;}&quot;;
       break;
      case &quot;technorati&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;technorati&quot;&gt;&lt;a href=&quot;http://technorati.com/faves?add=\&#39; + pageurl + \&#39;&quot; title=&quot;My fav on Technorati&quot;&gt;My fav on Technorati&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.technorati a{background-position:-160px &quot;+i+&quot;}&quot;;
       break;
      case &quot;twitter&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;twitter&quot;&gt;&lt;a href=&quot;http://twitter.com/home?status=\&#39; + pagetitle + \&#39;+-+\&#39; + pageurl + \&#39;&quot; title=&quot;Tweet this right now!&quot;&gt;Tweet this right now&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.twitter a{background-position:-192px &quot;+i+&quot;}&quot;;
       break;
      case &quot;rss&quot;:
       t+=&#39;document.write(\&#39;&lt;li class=&quot;rss&quot;&gt;&lt;a href=&quot;/feeds/posts/default&quot; title=&quot;Feed me!&quot;&gt;Feed me&lt;/a&gt;&lt;/li&gt;\&#39;);&#39;;
       s+=&quot;\nul#social-share-widget li.rss a{background-position:-224px &quot;+i+&quot;}&quot;;
       break;
      default:
       break;
     }
    });
     
    s+=&quot;&lt;/style&gt;&quot;;
    t+=&#39;&lt;\/script&gt;&lt;/ul&gt;&lt;p class=&quot;link-home&quot;&gt;&lt;a href=&quot;http://theyoboo.blogspot.com/2010/03/social-share-15-new-and-improved-social.html&quot; title=&quot;Get Social Share! for your blog&quot;&gt;Get Social Share!&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&#39;;

    // atach the stylesheet and the script
    var v = &#39;&#39;;
    v = s + t;
    // add the new content to the textarea
    $(&#39;#widgetContent&#39;).val(v);
   }
   function isInteger(s) {
    return (s == parseInt(s)) ? true : false;
   }
   function showError(item, message, nr){
    if(item){
     item.focus();
     item.css({
      &#39;background-color&#39;:&#39;#fcb&#39;,
      &#39;border-color&#39;:&#39;#eab&#39;
     });
    }
    $(&#39;p.error:eq(&#39;+nr+&#39;)&#39;).css(&#39;display&#39;, &#39;block&#39;);
    $(&#39;p.error:eq(&#39;+nr+&#39;)&#39;).html(message);
   }

   $(document).ready(function(){
    // reset all checkboxes if page is refreshed
    $(&#39;input.ssitem&#39;).each(function(){
     $(this).attr(&#39;checked&#39;, false);
    });

    // toggle manual/auto width
    $(&#39;#ssautowidth&#39;).change(function(){
     $(&#39;#sswidth&#39;).attr(&#39;disabled&#39;) ? $(&#39;#sswidth&#39;).removeAttr(&#39;disabled&#39;) : $(&#39;#sswidth&#39;).attr(&#39;disabled&#39;, &#39;disabled&#39;);
    });

    // toggle manual/auto height
    $(&#39;#ssautoheight&#39;).change(function(){
     $(&#39;#ssheight&#39;).attr(&#39;disabled&#39;) ? $(&#39;#ssheight&#39;).removeAttr(&#39;disabled&#39;) : $(&#39;#ssheight&#39;).attr(&#39;disabled&#39;, &#39;disabled&#39;);
    });

    // toggle selected items
    $(&#39;label.ssitemlabel&#39;).mouseup(function(){
     $(this).hasClass(&#39;checked&#39;) ? $(this).removeClass(&#39;checked&#39;):$(this).addClass(&#39;checked&#39;);
     var inp = $(&#39;#&#39; + $(this).attr(&#39;for&#39;));
     inp.checked = (inp.attr(&#39;checked&#39;) ? false : true);
    });

    // update the selected items
    $(&#39;input.ssitem&#39;).change(function(){
     updateForm();
    });

    // make the icons sortable
    var istate;
    $(&#39;#ssitems-container&#39;).sortable({
     containment: &#39;parent&#39;,
     handle: &#39;label&#39;,
     opacity: 0.85,
     placeholder: &#39;placeholder&#39;,
     items: &#39;li&#39;,
     tolerance: &#39;pointer&#39;,
     revert: true,
     delay: 200,
     start: function(e, ui){
      var l = ui.item.children(&#39;label&#39;);
      istate = l.hasClass(&#39;checked&#39;) ? true:false;
     },
     stop: function(e, ui){
      var l = ui.item.children(&#39;label&#39;);
      var i = $(&#39;#&#39;+l.attr(&#39;for&#39;));
      (istate) ? l.addClass(&#39;checked&#39;) : l.removeClass(&#39;checked&#39;);
      (istate) ? i.attr(&#39;checked&#39;, true) : i.attr(&#39;checked&#39;, false);
     },
     update: function(e,ui){
      updateForm();
     }
    });

    $(&#39;#ssitems-container&#39;).disableSelection();

    // change the icon pack
    $(&#39;#ssicons&#39;).change(function(){
     var i = ($(this).val() * (-32)) + &#39;px&#39;;
     $(&#39;label.facebook&#39;).css(&#39;background-position&#39;, &#39;0 &#39; + i);
     $(&#39;label.delicious&#39;).css(&#39;background-position&#39;, &#39;-32px &#39; + i);
     $(&#39;label.digg&#39;).css(&#39;background-position&#39;, &#39;-64px &#39; + i);
     $(&#39;label.reddit&#39;).css(&#39;background-position&#39;, &#39;-96px &#39; + i);
     $(&#39;label.stumble&#39;).css(&#39;background-position&#39;, &#39;-128px &#39; + i);
     $(&#39;label.technorati&#39;).css(&#39;background-position&#39;, &#39;-160px &#39; + i);
     $(&#39;label.twitter&#39;).css(&#39;background-position&#39;, &#39;-192px &#39; + i);
     $(&#39;label.rss&#39;).css(&#39;background-position&#39;, &#39;-224px &#39; + i);
     updateForm();
    });

    // check the form and submit if OK
    $(&#39;#widgetinstall&#39;).submit(function(){
     // reset from previous attempts
     $(&#39;p.error&#39;).html(&#39;&#39;);
     $(&#39;p.error&#39;).css(&#39;display&#39;, &#39;none&#39;);
     $(&#39;#sswidth&#39;).css({
      &#39;background-color&#39;:&#39;#fff&#39;,
      &#39;border-color&#39;:&#39;#ccc&#39;
     });
     $(&#39;#ssheight&#39;).css({
      &#39;background-color&#39;:&#39;#fff&#39;,
      &#39;border-color&#39;:&#39;#ccc&#39;
     });

     // check if everything is OK
     if($(&#39;#ssautowidth&#39;).attr(&#39;checked&#39;) === false &amp;&amp; $(&#39;#sswidth&#39;).val() != &#39;&#39; &amp;&amp; isInteger($(&#39;#sswidth&#39;).val()) != true){
      showError($(&#39;#sswidth&#39;), &#39;This is not a number!&#39;, 0);
      return false;
     }
     else if($(&#39;#ssautoheight&#39;).attr(&#39;checked&#39;) === false &amp;&amp; $(&#39;#ssheight&#39;).val() != &#39;&#39; &amp;&amp; isInteger($(&#39;#ssheight&#39;).val()) != true){
      showError($(&#39;#ssheight&#39;), &#39;This is not a number!&#39;, 1);
      return false;
     }
     else if($(&#39;input[name=ssitems[]][checked]&#39;).length &lt; 1){
      showError(null, &#39;Select at least one item!&#39;, 2);
      return false;
     }
     else{
      return true;
     }
    });
   });
  &lt;/script&gt;

  &lt;!-- widget customization form --&gt;
  &lt;form id=&quot;settings-form&quot; action=&quot;&quot;&gt;
   &lt;fieldset&gt;
    &lt;legend&gt;Appearence&lt;/legend&gt;
    &lt;span class=&quot;form-info&quot;&gt;Below you can select the size of the widget and the icon set it will use. If you leave the sizes empty or auto, the widget will fill the entyre width of the container unless other CSS rules are applied to it by your template.&lt;/span&gt;
    &lt;label for=&quot;sswidth&quot;&gt;Width: &lt;/label&gt;&lt;input type=&quot;text&quot; name=&quot;sswidth&quot; id=&quot;sswidth&quot; disabled=&quot;disabled&quot; size=&quot;4&quot;/&gt; px &lt;input type=&quot;checkbox&quot; name=&quot;ssautowidth&quot; id=&quot;ssautowidth&quot; value=&quot;1&quot; checked /&gt;Auto
    &lt;p class=&quot;error&quot;&gt;&lt;/p&gt;
    &lt;label for=&quot;ssheight&quot;&gt;Height: &lt;/label&gt;&lt;input type=&quot;text&quot; name=&quot;ssheight&quot; id=&quot;ssheight&quot; disabled=&quot;disabled&quot; size=&quot;4&quot;/&gt; px &lt;input type=&quot;checkbox&quot; name=&quot;ssautoheight&quot; id=&quot;ssautoheight&quot; value=&quot;1&quot; checked /&gt;Auto
    &lt;p class=&quot;error&quot;&gt;&lt;/p&gt;
    &lt;label for=&quot;ssicons&quot;&gt;Icon set: &lt;/label&gt;
    &lt;select name=&quot;ssicons&quot; id=&quot;ssicons&quot;&gt;
     &lt;option value=&quot;0&quot; selected&gt;Default&lt;/option&gt;
     &lt;option value=&quot;1&quot;&gt;Grayscale&lt;/option&gt;
     &lt;option value=&quot;2&quot;&gt;Green&lt;/option&gt;
     &lt;option value=&quot;3&quot;&gt;Blue&lt;/option&gt;
     &lt;option value=&quot;4&quot;&gt;Red&lt;/option&gt;
    &lt;/select&gt;
   &lt;/fieldset&gt;
   &lt;fieldset&gt;
    &lt;legend&gt;Select items&lt;/legend&gt;
    &lt;span class=&quot;form-info&quot;&gt;Select below the items you want to appear in your widget. Make sure you select at least one. An empty widget serves no purpose. You can also drag them to specify the order you would like them to have.&lt;/span&gt;
    &lt;ul id=&quot;ssitems-container&quot;&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemfacebook&quot; class=&quot;ssitemlabel facebook&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemfacebook&quot; value=&quot;facebook&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemdelicious&quot; class=&quot;ssitemlabel delicious&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemdelicious&quot; value=&quot;delicious&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemdigg&quot; class=&quot;ssitemlabel digg&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemdigg&quot; value=&quot;digg&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemreddit&quot; class=&quot;ssitemlabel reddit&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemreddit&quot; value=&quot;reddit&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemstumble&quot; class=&quot;ssitemlabel stumble&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemstumble&quot; value=&quot;stumble&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemtechnorati&quot; class=&quot;ssitemlabel technorati&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemtechnorati&quot; value=&quot;technorati&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemtwitter&quot; class=&quot;ssitemlabel twitter&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemtwitter&quot; value=&quot;twitter&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
     &lt;li&gt;&lt;label for=&quot;ssitemrss&quot; class=&quot;ssitemlabel rss&quot;&gt;&lt;/label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ssitems[]&quot; id=&quot;ssitemrss&quot; value=&quot;rss&quot; class=&quot;ssitem&quot; /&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p class=&quot;error&quot;&gt;&lt;/p&gt;
   &lt;/fieldset&gt;
  &lt;/form&gt;
  &lt;!-- widget installation form --&gt;
  &lt;form action=&quot;http://www.blogger.com/add-widget&quot; name=&quot;widgetinstall&quot; id=&quot;widgetinstall&quot; method=&quot;post&quot; action=&quot;http://www.blogger.com/add-widget&quot; target=&quot;_blank&quot;&gt;
   &lt;input type=&quot;hidden&quot; name=&quot;infoUrl&quot; value=&quot;http://theyoboo.blogspot.com/2010/03/social-share-15-new-and-improved-social.html&quot;/&gt;
   &lt;input type=&quot;hidden&quot; name=&quot;logoUrl&quot; value=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcYWokZCMazXz1togP6o5NQMWI_E-V0pWrSX_6jci9n-h4Df7gIc1XF8rtV26qR2IlONwzLo3oi2_EMHRrmQGvV3WbIlRO1S3c-iy1pXi3f5Km6OeGOuXwznFWoqQCFXOyl_kyyLtO-7J/s800/social_share_logo_150.jpg&quot;/&gt;
   &lt;input type=&quot;hidden&quot; name=&quot;widget.title&quot; value=&quot;Social Share!&quot;/&gt;
   &lt;textarea name=&quot;widget.content&quot; id=&quot;widgetContent&quot; style=&quot;display: none;&quot;&gt;&lt;/textarea&gt;
   &lt;input type=&quot;hidden&quot; name=&quot;widget.template&quot; value=&quot;&amp;lt;data:content/&amp;gt;&quot; /&gt;
   &lt;button type=&quot;submit&quot; id=&quot;ssinstallbutton&quot;&gt;Add Social Share! widget&lt;/button&gt;
   &lt;span class=&quot;form-info&quot;&gt;If you have already installed the previous version, make sure you remove it if you plan to use this one. I doesn&#39;t matter if you remove it before or after you install this version.&lt;/span&gt;
  &lt;/form&gt;
 &lt;/div&gt;

 &lt;p&gt;Please stay tuned for future releases. If you like this widget, all comments are welcomed and tune in soon for a new version. I plan to make the next one (maybe named &amp;quot;Social Share 1.6&amp;quot; as an external script. Hopefully it will allow dinamic updrade of the widget in the sense that you will not need to reinstall it manually. So make sure you come back soon.&lt;/p&gt;
 &lt;p&gt;PS: if you notice a long time has passed and no new version has been released, drop me a comment. I might have forgotten.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/1839540871233575947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/03/social-share-15-new-and-improved-social.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1839540871233575947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1839540871233575947'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/03/social-share-15-new-and-improved-social.html' title='Social Share 1.5 - the new and improved social sharing Blogger widget'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcYWokZCMazXz1togP6o5NQMWI_E-V0pWrSX_6jci9n-h4Df7gIc1XF8rtV26qR2IlONwzLo3oi2_EMHRrmQGvV3WbIlRO1S3c-iy1pXi3f5Km6OeGOuXwznFWoqQCFXOyl_kyyLtO-7J/s72-c/social_share_logo_150.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-4165295200029006436</id><published>2010-03-02T23:09:00.003+02:00</published><updated>2010-03-02T23:36:20.784+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="how to"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>How to get Slimbox to work with Blogger</title><content type='html'>&lt;p&gt;I planned to make this happen for some time now: getting &lt;a href=&quot;http://www.digitalia.be/software/slimbox2&quot;&gt;Slimbox&lt;/a&gt; to work with Blogger&#39;s quirky platform. But the solutions I always come up with never seem to be any viable ones. But today I finally managed to make it work in a way that satisfies me. If you want to know how, read on.&lt;/p&gt; 

&lt;p&gt;Firstly, the problem is the incapability to host the files required for Slimbox on a server (unless you&#39;re running on your own server/hosting account and not the free *.blogspot.com). Slimbox provides a very nice way of presenting an image or even a collection of images. For those that do not know, Slimbox is a clone of the original Lightbox. I prefer Slimbox because it&#39;s more lightweight as file size and also file count. The original Lightbox was built using the Prototype framework, which I personally never liked, and Slimbox comes in two flavors: MooTools and jQuery. So if you use any of those, you are safe to go for Slimbox.&lt;/p&gt;

&lt;p&gt;But the issue at hand is not the history or origins of Slimbox, but rather the way we need to go to implement it into Blogger. So let&#39;s get started.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Include the jQuery framework in your Blogger layout&#39;s html. Because we can&#39;t just upload it, we&#39;ll use the one Google places at our disposal &lt;a href=&quot;http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery&quot;&gt;here&lt;/a&gt;. So just go like this in your &amp;lt;head&amp;gt; tag:
&lt;pre&gt;&amp;lt;script type=&#39;text/javascript&#39; src=&#39;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&#39;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
I went here for version 1.3.2 but you can use whichever you&#39;d like&lt;/li&gt;
&lt;li&gt;That&#39;s one down. Now we need to include the Slimbox files. Head on over and download them from &lt;a href=&quot;http://www.digitalia.be/software/slimbox2#download&quot;&gt;digitalia.be&lt;/a&gt;. At the moment of this writing, the latest version is 2.03. Once downloaded unpack them somewhere on your hard drive where you can find them&lt;/li&gt;
&lt;li&gt;Uploading the files to our host is again an issue, as we don&#39;t have one. But Google yet again comes to our aid. Go to &lt;a href=&quot;http://sites.google.com/&quot;&gt;Google Sites&lt;/a&gt; and make a new website or use an existing site if you have one already. Having a Blogger account, I assume it shouldn&#39;t be too hard. On your Google Site click the &quot;More Actions&quot; button, go to Manage and click Attachments. Upload the slimbox2.js and image files you unpacked from the Slimbox archive. Don&#39;t upload slimbox2.css yet. You need to edit that first&lt;/li&gt;
&lt;li&gt;Open slimbox2.css with your favorite editor (please don&#39;t use Microsoft Word, I don&#39;t feel like explaining why it won&#39;t work if you have any problems) and edit the location of the image files. There are 4 of them, all of which you should have already uploaded to your Google site (closelabel.gif, loading.gif, nextlabel.gif and prevlabel.gif). Make sure you replace the url in the css file so they point to the location of your uploaded images. You can find out the location if you hover over the download link in your Google Sites Attachments section. You can skip the last part of the URL, after the file extension, the one with &quot;?attredirects...&quot;. You don&#39;t need that. After you&#39;re done editing the slimbox2.css you can upload that one too&lt;/li&gt;
&lt;li&gt;Get back to editing your Blogger layout and add the JavaScript and CSS files from your Google site. It should look something like this: 
&lt;pre&gt;
&amp;lt;link href=&#39;http://sites.google.com/site/your_site/slimbox2.css&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;/&amp;gt;
&amp;lt;script src=&#39;http://sites.google.com/site/your_site/slimbox2.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
Make sure the HREF and SRC attributes point to your uploaded files.&lt;/li&gt;
&lt;li&gt;That&#39; about it! Now all you have to do is place a rel=&quot;lightbox&quot; (or rel=&quot;lightbox[some_name]&quot; if you would like to group them) attribute on the links that point to an image and you want it/them to have Lightbox/Slimbox capabilities. More on how Slimbox works and available features can be found on the official website. For a working example you can check out &lt;a href=&quot;http://theyoboo.blogspot.com/2010/01/grepolis-fully-upgraded-city.html&quot;&gt;this page&lt;/a&gt;. At the end you will find a gallery of just 5 images and you will be able to scroll through them left/right.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One issue I had was with the fact that the links to images uploaded through Blogger were not pointing to the image itself but rather to a Picasa page containing the image and the Lighbox was activated but no image was displayed. To fix this I had to right-click the image in that page (Picasa page) and click &quot;View image&quot; in Firefox. After that replace the SRC in the link tag with the one of the image. A little more work but it gets the things working.&lt;/p&gt;

&lt;p&gt;That&#39;s all I went through to get Slimbox working on a Blogger blog. Hope anyone find this useful. If you have any questions/suggestions feel free to leave a comment.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/4165295200029006436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/03/how-to-get-slimbox-to-work-with-blogger.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4165295200029006436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4165295200029006436'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/03/how-to-get-slimbox-to-work-with-blogger.html' title='How to get Slimbox to work with Blogger'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-4934186578419666921</id><published>2010-01-27T13:31:00.012+02:00</published><updated>2012-01-22T14:17:32.950+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="funny stuff"/><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><category scheme="http://www.blogger.com/atom/ns#" term="random ramblings"/><title type='text'>Grepolis - fully upgraded city</title><content type='html'>&lt;p&gt;Because I had a little spare time on my hands I started playing &lt;a href=&quot;http://en.grepolis.com/invite-7194-en1&quot;&gt;Grepolis&lt;/a&gt;, the latest game from InnoGames. I enjoy this kind of strategy games but they can be very time consuming and you get really frustrated when you lose everything you&#39;ve worked for over night. That&#39;s the reason why I quit playing by the time my city is fully developed. But this time I decided I would have a look at how a fully developed city would look like. And If anyone else is interested, here&#39;s a sneak peak.&lt;/p&gt;&lt;p&gt;The first one show the Grepolis city with all the building at the level 1 and with the Oracle and Thermal Baths built. Some of them will change appearance as they level up but some will remain the same. The second image shows the Grepolis building at intermediary levels and the last three show the city with the buildings at their top level. Also the Olympic Games and the Triumph are in full display and all the buildings that have animation have been activated, as if they&#39;re working. Sadly, I don&#39;t have the patience to make an animated version of the town so you&#39;ll have to settle for the static ones.&lt;/p&gt;&lt;p&gt;Because certain building in Grepolis city view share the same spot in town, the last three images show the various buildings in this order:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Library and Tower&lt;/li&gt;
&lt;li&gt;Theater and Trade Office&lt;/li&gt;
&lt;li&gt;Thermal Baths and Oracle&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;One thing I didn&#39;t manage to display is the Statue. I&#39;m not even sure how it&#39;s supposed to look like, but it should occupy the same place as the Oracle, Tower and Trade Office.&lt;/p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZuKue5SfZfChBjpaRi40Y4YHq0AMiV98eJ5M22vwaF3Gaw8w4cFt2QMBzWJhjg2eRn8KreWLZETJS2YiktMjVge9zsiKmJ0SJaBht2zjF-eaBbnVxzfrXRe0i-daMdk2xeb4H6CvlpYkL/s1600/Grepolis+Town+-+Lvl1.jpg&quot; title=&quot;Grepolis town buildings level 1&quot; rel=&quot;lightbox[grepolis]&quot;&gt;  &lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZuKue5SfZfChBjpaRi40Y4YHq0AMiV98eJ5M22vwaF3Gaw8w4cFt2QMBzWJhjg2eRn8KreWLZETJS2YiktMjVge9zsiKmJ0SJaBht2zjF-eaBbnVxzfrXRe0i-daMdk2xeb4H6CvlpYkL/s320/Grepolis+Town+-+Lvl1.jpg&quot; style=&quot;margin: 1em; border: 0 none; width: 250px; float: left&quot; alt=&quot;Grepolis town buildings level 1&quot;/&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRMGxPf9Ss2g2lkMaBxcwu1dxd2CYSKr4Hru4T0g8iG3wp6EK6eUEiB_OoB1CnqRwkawKE2AfXMKI4hn5sRCswH8RYhNvCCrUKDJC0LqJvAQCfW5CqXm2ql7iusgbl6MT9RTvO0JqcMfnN/s1600/Grepolis+Town+-+Lvl2.jpg&quot; title=&quot;Grepolis town buildings level 2&quot; rel=&quot;lightbox[grepolis]&quot;&gt;  &lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRMGxPf9Ss2g2lkMaBxcwu1dxd2CYSKr4Hru4T0g8iG3wp6EK6eUEiB_OoB1CnqRwkawKE2AfXMKI4hn5sRCswH8RYhNvCCrUKDJC0LqJvAQCfW5CqXm2ql7iusgbl6MT9RTvO0JqcMfnN/s320/Grepolis+Town+-+Lvl2.jpg&quot; style=&quot;margin: 1em; border: 0 none; width: 250px; float: left&quot; alt=&quot;Grepolis town buildings level 2&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQjiXZJsSS3IGsmoieEW1plX5tA4ZiyrWsp6doTegCFsF49fecPZi8Zy7bjSjwoyEBB8BIRQ6G9_Em7tt8FrQer-dCsPpFim0I0Mh1Y7jouAxhldU39Vz_a-3R3tyt987uzns22CMPFQe4/s1600/Grepolis+Town+-+Library+And+Tower.jpg&quot; title=&quot;Grepolis town buildings level 3 with Library and Tower&quot; rel=&quot;lightbox[grepolis]&quot;&gt;  &lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQjiXZJsSS3IGsmoieEW1plX5tA4ZiyrWsp6doTegCFsF49fecPZi8Zy7bjSjwoyEBB8BIRQ6G9_Em7tt8FrQer-dCsPpFim0I0Mh1Y7jouAxhldU39Vz_a-3R3tyt987uzns22CMPFQe4/s320/Grepolis+Town+-+Library+And+Tower.jpg&quot; style=&quot;margin: 1em; border: 0 none; width: 250px; float: left&quot; alt=&quot;Grepolis town buildings level 3 with library and tower&quot;/&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs2sDnMANzeP9EJjB80AVXY8pZ-8M0Up31pEbrvKg0h9gC4v8cq2j81vkUhRyToDQWdUwjq9rbgg1rbs4dLrg-Mz-fNQdSWgxpGk8FFiy1o9oQFicjlLNE_SYAQD97Qfx9EJIy1yDRdCgm/s1600/Grepolis+Town+-+Theater+And+Trade+Office.jpg&quot; title=&quot;Grepolis town buildings level 3 with Theater and Trade Office&quot; rel=&quot;lightbox[grepolis]&quot;&gt;  &lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs2sDnMANzeP9EJjB80AVXY8pZ-8M0Up31pEbrvKg0h9gC4v8cq2j81vkUhRyToDQWdUwjq9rbgg1rbs4dLrg-Mz-fNQdSWgxpGk8FFiy1o9oQFicjlLNE_SYAQD97Qfx9EJIy1yDRdCgm/s320/Grepolis+Town+-+Theater+And+Trade+Office.jpg&quot; style=&quot;margin: 1em; border: 0 none; width: 250px; float: left&quot; alt=&quot;Grepolis town buildings level 3 with theater and trade office&quot;/&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXY5iGztggoM48Mn-pLHQ_8MACb3UoZCi4zA1oEoQ6ybLntps8XtBdYhbwUiGgZJxCY6fFhyphenhyphenHM6iO7IbbKNQuWSUNgGzRb_wtz3Z5j2mZK_gmtNTLojy5ZUyj-XQn41Ws-JjYTxpGEVXX/s1600/Grepolis+Town+-+Thermal+And+Oracle.jpg&quot; title=&quot;Grepolis town buildings level 3 with Thermal and Oracle&quot; rel=&quot;lightbox[grepolis]&quot;&gt;  &lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXY5iGztggoM48Mn-pLHQ_8MACb3UoZCi4zA1oEoQ6ybLntps8XtBdYhbwUiGgZJxCY6fFhyphenhyphenHM6iO7IbbKNQuWSUNgGzRb_wtz3Z5j2mZK_gmtNTLojy5ZUyj-XQn41Ws-JjYTxpGEVXX/s320/Grepolis+Town+-+Thermal+And+Oracle.jpg&quot; style=&quot;margin: 1em; border: 0 none; width: 250px; float: left&quot; alt=&quot;Grepolis town buildings level 3 with thermal and oracle&quot; /&gt;&lt;/a&gt; &lt;br style=&quot;clear: both&quot; /&gt;  &lt;p&gt;And after all the trouble I went through, I found &lt;a href=&quot;http://pablisco.com/grepolis/&quot;&gt;this little app&lt;/a&gt; that would have made everything extremely easy. It even shows the Grepolis statues. Bummer! Oh well, that&#39;s life. At least my pictures have the Olympic and Triumph in town :-)&lt;/p&gt;&lt;p&gt;Oh, oh, and if you find the pictures helpfull and would like to give the game a go, please use this link: &lt;a href=&quot;http://en.grepolis.com/invite-7194-en1&quot;&gt;Sign up to Grepolis&lt;/a&gt;. Thanks.</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/4934186578419666921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2010/01/grepolis-fully-upgraded-city.html#comment-form' title='101 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4934186578419666921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4934186578419666921'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2010/01/grepolis-fully-upgraded-city.html' title='Grepolis - fully upgraded city'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZuKue5SfZfChBjpaRi40Y4YHq0AMiV98eJ5M22vwaF3Gaw8w4cFt2QMBzWJhjg2eRn8KreWLZETJS2YiktMjVge9zsiKmJ0SJaBht2zjF-eaBbnVxzfrXRe0i-daMdk2xeb4H6CvlpYkL/s72-c/Grepolis+Town+-+Lvl1.jpg" height="72" width="72"/><thr:total>101</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-3171963289075306015</id><published>2009-12-22T00:24:00.001+02:00</published><updated>2009-12-22T00:33:18.654+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><title type='text'>Tori&#39;s Eye - great jQuery app</title><content type='html'>&lt;p&gt;Every once in a while I remain amazed at the wonderful things people can come up with. These are the things that make me realize that there are so many things out there to learn ( or to get &quot;inspired&quot; from).&lt;/p&gt;

&lt;p&gt;A few days ago I bookmarked this website: &lt;a href=&quot;http://toriseye.quodis.com/&quot;&gt;Tori&amp;#39;s Eye&lt;/a&gt; because I remained truly fascinated at the way it operates, even without going into it&#39;s deeper workings. What it does is it monitors Twitter for a certain hashtag or keyword and it displays all tweets related to that specific tag as flying birds.&lt;/p&gt;

&lt;p&gt;I came across it via &lt;a href=&quot;http://www.webdesignerdepot.com&quot; target=&quot;_blank&quot;&gt;webdesignerdepot.com&lt;/a&gt; in one of the list posts displaying some original uses for jQuery. I immediately fell in love with it. This just shows that great web animation is not reserved for &quot;in-house&quot; environments as Flash or SilverLight and others like it (are there any others?)&lt;/p&gt;

&lt;p&gt;I posted it here because this is one of those things that I really like and I would like to share with everyone, even if they don&#39;t recognize the genius behind it&#39;s inner workings.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/3171963289075306015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2009/12/toris-eye-great-jquery-app.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/3171963289075306015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/3171963289075306015'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2009/12/toris-eye-great-jquery-app.html' title='Tori&#39;s Eye - great jQuery app'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-2388741328478706934</id><published>2009-11-13T00:44:00.001+02:00</published><updated>2009-11-13T00:45:45.715+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gadgets"/><category scheme="http://www.blogger.com/atom/ns#" term="random ramblings"/><title type='text'>Playing around with my phone</title><content type='html'>&lt;p&gt;It&#39;s been a few days now since I noticed that the battery on my Nokia N81-8GB is starting to discharge a little faster. I think it might die on me. Or maybe I installed some sort of application recently that&#39;s using it. Or just maybe I used the phone more during this period.&lt;/p&gt; 

&lt;p&gt;In any case, I was looking around on Nokia&#39;s Ovi Store and I accidentally found an application that shows you in real time the power consumption on your phone. The app is called &lt;a href=&quot;http://store.ovi.com/content/73403FE7526FA4B3E040050A87326D82?clickSource=homepage&amp;contentArea=home&quot;&gt;Energy Profiler&lt;/a&gt;, ver. 1.22. Because it was free, I decided to give it a try and see what it does. After reading the instructions I got a little more details about it. It seems to be intended as an &quot;S60 development tool that enables programmers to optimize software for maximum battery time by profiling power consumption of applications&quot;. Or at least that&#39;s what the Help file said. It computes the power consumption by reading the built-in current meter once every 0.25 seconds and the voltage meter every 10 seconds.&lt;/p&gt;

&lt;p&gt;What I really liked at it was the fact that you can save your recorded measurement and the fact that you can export them as PNG or SVG file. Bellow I added two images created with this application, recording &lt;b&gt;power consumption&lt;/b&gt; while performing some tasks on my phone. &lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/PltF11QYSnMBu2o9tQXBlg?authkey=Gv1sRgCMjb-vXVouO-1gE&amp;feat=embedwebsite&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOVg1lL8fKsIWWDKHuDlzjIGQqIpxcDSkDY4Sj6nA4hl1Cz2CY-5LbjZ3psTJZPxpclzVMFOy7TjREgKHbrrIlBFujAmenWT2rBjs1poSobXZVv_1tHz6POtdOO72N6-2nSjLNT8T-X-05/s400/Nokia%20N81%20power%20consumption%202.jpg&quot; alt=&quot;Nokia N81-8BG power consumption 1&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/Xv9xojNE6pWl3_d_kQ6IkA?authkey=Gv1sRgCMjb-vXVouO-1gE&amp;feat=embedwebsite&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWC0XqA6SXKQfWYeDLt_XRFjv5u-Y-ApDy46vT-rgwpKUnOFqxXAJyNNcJj1iY57rPgTjLwAg_seiJSZikEZPJMgM3SYS2_QQP70oTiOOMCWn8RGz-9qSBusAy5SHDv3aJ4zSl31s-zp3k/s400/Nokia%20N81%20power%20consumption%201.jpg&quot; alt=&quot;Nokia N81-8BG power consumption 2&quot;/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What I noticed from these is that wireless connections consume more power than Bluetooth and browsing and streaming video consume a lot more. I forgot to try a Bluetooth file transfer or communication with another Bluetooth device, but I expect it to bee lower than browsing. I was surprised that listening to music doesn&#39;t consume that much. Taking that picture with flash turned on was killer, &lt;b&gt;almost 4W&lt;/b&gt;. And even moving the camera around uses more power than listening to music. I really enjoyed the fact that when the screen is turned off, the power consumption is close to 0. So it really does save power.&lt;/p&gt;

&lt;p&gt;Anyway, that seems interesting. And this application does have a lot of other features, but not being involved with mobile phone programming, I can&#39;t really appreciate them to their real value. &lt;/p&gt;

&lt;p&gt;Are these readings normal? If anyone else has done this kind of tests on a &lt;b&gt;Nokia N81-8GB&lt;/b&gt;, please let me know. I&#39;m really curious to see if there are any differences.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/2388741328478706934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2009/11/playing-around-with-my-phone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/2388741328478706934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/2388741328478706934'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2009/11/playing-around-with-my-phone.html' title='Playing around with my phone'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOVg1lL8fKsIWWDKHuDlzjIGQqIpxcDSkDY4Sj6nA4hl1Cz2CY-5LbjZ3psTJZPxpclzVMFOy7TjREgKHbrrIlBFujAmenWT2rBjs1poSobXZVv_1tHz6POtdOO72N6-2nSjLNT8T-X-05/s72-c/Nokia%20N81%20power%20consumption%202.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-861946531365041769</id><published>2009-10-27T00:18:00.007+02:00</published><updated>2009-10-27T00:48:36.788+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="funny stuff"/><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><title type='text'>Human stupidity in one of it&#39;s many moments</title><content type='html'>&lt;p&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiakhwGQr2vBkHcXuBEsT1W_5mEqPc1YVpMGjIa-L3rb1UYT81gIadpx7ND-UG0CfcqcREmDbtEv8lYidG1UwCnfmVNTr1bRhrSLjUBlT7ZD7DMOxo1aFdDRySjMGLSkWYCqjljZPY3871P/s800/Disney&#39;s_The_Neverending_Story.jpg&quot; style=&quot;float: left; margin: 0pt 1em 1em 0pt;&quot; /&gt;This is one of those things that get me stunned every time I read them. And on top of that they get me terribly amused occasionally. This one in particular got me thinking, mostly because I loved that movie when I was a child: &quot;are there people around really that stupid?&quot;. Here&#39;s how it happened.&lt;/p&gt;

&lt;p&gt;I have one of those widgets on my iGoogle homepage that gives you all sort of weird fact. This one is called &quot;Gullible Info&quot; and it&#39;s from &lt;a href=&quot;http://www.gullible.info/&quot; target=&quot;_blank&quot;&gt;http://www.gullible.info/&lt;/a&gt;. It&#39;s an entire collection of weird &quot;did you know?&quot; facts sentences there. I say sentences because I&#39;m not sure all of them are true. But this one really amused me. It went something like this: &lt;/p&gt;

&lt;blockquote&gt;
Disney&#39;s &quot;The Never Ending Story&quot; sparked 28 lawsuits from customers who were furious that the movie had an end.
&lt;/blockquote&gt;

&lt;p&gt;How much fun that is? I imagine the defense attorney trying to explain to the judge something that everyone else in the courthouse (including the judge) understood: it&#39;s just a title, it refers to the action and story of the movie, it wasn&#39;t meant to be &quot;never ending&quot;. That must have been one hilarious trial.&lt;/p&gt;

&lt;p&gt;I don&#39;t know how the attorney/s pleaded his/her/their case, but if I would have been there I would have probably blamed it all on &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Ende&quot; target=&quot;_blank&quot;&gt;Michael Ende&lt;/a&gt;, the author of the novel :)&lt;/p&gt;

&lt;p&gt;There are not many things that amuse me in this world, but human stupidity never fails me!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/861946531365041769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2009/10/igoogle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/861946531365041769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/861946531365041769'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2009/10/igoogle.html' title='Human stupidity in one of it&#39;s many moments'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiakhwGQr2vBkHcXuBEsT1W_5mEqPc1YVpMGjIa-L3rb1UYT81gIadpx7ND-UG0CfcqcREmDbtEv8lYidG1UwCnfmVNTr1bRhrSLjUBlT7ZD7DMOxo1aFdDRySjMGLSkWYCqjljZPY3871P/s72-c/Disney&#39;s_The_Neverending_Story.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-2234107210606674789</id><published>2009-10-21T00:10:00.006+03:00</published><updated>2010-07-01T12:47:53.986+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gadgets"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Social Share! Blogger Widget</title><content type='html'>&lt;p style=&quot;display: block;clear:both;background: #feefb3;border: 2px solid #9f6000; color: 9f6000; padding: 1em; font-size: 1.3em; text-align: center&quot;&gt;A new version of this widget has been released. You can find it here: &lt;a href=&quot;http://theyoboo.blogspot.com/2010/07/social-share-20-widget-for-blogger.html&quot; title=&quot;Social Share 2.0 Blogger widget&quot;&gt;Social Share 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Ep2_KTi1BA6AjPCGSdFaHTEh-Zb6oOCmrPUZnbl97ed6K1LiPkV8WjIKgBa9-qSda2zabwoPWVY3Axt9X_qlLJp5pTHC1RVMIyg3F9dS6tf6PsIP0EIwE6oNorhHPZ6YKFBmU5jB5hFA/s800/social_share_logo_1_0.jpg&quot; alt=&quot;Social Share! Blogger Widget&quot; style=&quot;margin: 0 1em 1em 0; border: none; float: left; width: 8.333em; height: 8.333em;&quot;/&gt;This is the first version of what will be known as &lt;b&gt;Social Share! Blogger Widget&lt;/b&gt;. The name is not very cool, I know, but it will have to do. What this widget does is it provides you, the owner of a Blogger blog, with a list of links your visitors can use to share whatever they like on your blog.&lt;/p&gt;

&lt;p&gt;I came up with this little widget because I wanted to have an easy way to bookmark or share my posts on social networking sites with the help of a &lt;b&gt;Blogger widget&lt;/b&gt; and I couldn&#39;t find one that gave me everything I need. If you find it usefull, please feel free to share it with others or install it on your own blog.&lt;/p&gt;

&lt;p&gt;The widget currently provides your users 8 easy ways to bookmark or share your content. The list contains so far the following: &lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.facebook.com/&quot;&gt;Facebook&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://delicious.com/&quot;&gt;Delicious&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://digg.com/&quot;&gt;Digg&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.reddit.com/&quot;&gt;Reddit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.stumbleupon.com/&quot;&gt;StumbleUpon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://technorati.com/&quot;&gt;Technorati&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://twitter.com/&quot;&gt;Twitter&lt;/a&gt;&lt;/li&gt;&lt;li&gt;RSS feed&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;The icons used in the widget have been created by &lt;a href=&quot;http://plechi.deviantart.com/art/Social-media-icons-118416641&quot; target=&quot;_blank&quot;&gt;plechi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To install this widget you must have a Blogger weblog. All you have to do after that is click the following button and you will be taken to the installation confirmation page. By default it installs itself in the sidebar, but you can place it wherever you like.&lt;/p&gt;

&lt;form method=&quot;post&quot; action=&quot;http://www.blogger.com/add-widget&quot; target=&quot;_blank&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;infoUrl&quot; value=&quot;http://theyoboo.blogspot.com&quot;/&gt;
&lt;input type=&quot;hidden&quot; name=&quot;logoUrl&quot; value=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Ep2_KTi1BA6AjPCGSdFaHTEh-Zb6oOCmrPUZnbl97ed6K1LiPkV8WjIKgBa9-qSda2zabwoPWVY3Axt9X_qlLJp5pTHC1RVMIyg3F9dS6tf6PsIP0EIwE6oNorhHPZ6YKFBmU5jB5hFA/s800/social_share_logo_1_0.jpg&quot;/&gt;
&lt;input type=&quot;hidden&quot; name=&quot;widget.title&quot; value=&quot;Social Share!&quot;/&gt;
&lt;textarea name=&quot;widget.content&quot; style=&quot;display:none;&quot;&gt;
&amp;lt;style type=&amp;#39;text/css&amp;#39;&amp;gt;ul#social-share-widget{list-style-type:none}ul#social-share-widget li{display:inline-block;padding:5px;margin:0}ul#social-share-widget li a{display:block;width:32px;height:32px;text-indent:-5000em;background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf1d4QZxZCL1BTi_8N_CVDnSnVMozUZ5x8v97sqc2wSBElAYSEeQuKSoqoML47RbCuOsIPZu4ifdJJ9tGBdfaaoV8kyVYr_IL4DBoquHg8ev5mK-rMLJ2aBobZzpbJovPD2WpCnd4FEAYd/s800/social_share_1_0.png) no-repeat 0 0 transparent;margin:0;padding:0;outline:none}ul#social-share-widget li.facebook a{background-position:0 0}ul#social-share-widget li.delicious a{background-position:-32px 0}ul#social-share-widget li.digg a{background-position:-64px 0}ul#social-share-widget li.reddit a{background-position:-96px 0}ul#social-share-widget li.stumble a{background-position:-128px 0}ul#social-share-widget li.technorati a{background-position:-160px 0}ul#social-share-widget li.twitter a{background-position:-192px 0}ul#social-share-widget li.feed a{background-position:-224px 0}div#social-share p.link-home{font-size:10px;font-style:italic;text-align:right;padding-right: 1em;}&amp;lt;/style&amp;gt;
&amp;lt;div id=&quot;social-share&quot;&amp;gt;
&amp;lt;script type=&amp;#39;text/javascript&amp;#39;&amp;gt;
function php_urlencode (str) {
str = escape(str);
return str.replace(/[*+\/@]|%20/g,
function (s) {
switch (s) {
case &quot;*&quot;: s = &quot;%2A&quot;; break;
case &quot;+&quot;: s = &quot;%2B&quot;; break;
case &quot;/&quot;: s = &quot;%2F&quot;; break;
case &quot;@&quot;: s = &quot;%40&quot;; break;
case &quot;%20&quot;: s = &quot;+&quot;; break;
}
return s;
}
);
}
var pageurl = php_urlencode(window.location.href);
var pagetitle = &#39;&#39;;
var t = document.getElementsByTagName(&#39;title&#39;)[0];
if ( !t.childNodes.length ) {
pagetitle = php_urlencode(t.firstChild.data);
} else if ( t.innerHTML ) {
pagetitle = php_urlencode(t.innerHTML);
}
document.write(&#39;&lt;ul id=&quot;social-share-widget&quot;&gt;&#39; +
&#39;&lt;li class=&quot;facebook&quot;&gt;&lt;a href=&quot;http://www.facebook.com/share.php?u=&#39; + pageurl + &#39;&amp;amp;t=&#39; + pagetitle + &#39;&quot; title=&quot;Share on Facebook&quot;&gt;Share on Facebook&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;delicious&quot;&gt;&lt;a href=&quot;http://del.icio.us/post?url=&#39; + pageurl + &#39;&amp;amp;title=&#39; + pagetitle + &#39;&quot; title=&quot;This is Del.icio.us&quot;&gt;This is Del.icio.us&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;digg&quot;&gt;&lt;a href=&quot;http://digg.com/submit?phase=2&amp;url=&#39; + pageurl + &#39;&amp;amp;title=&#39; + pagetitle + &#39;&quot; title=&quot;I Digg this!&quot;&gt;I Digg this&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;reddit&quot;&gt;&lt;a href=&quot;http://reddit.com/submit?url=&#39; + pageurl + &#39;&amp;amp;title=&#39; + pagetitle + &#39;&quot; title=&quot;Reddit me!&quot;&gt;Reddit me!&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;stumble&quot;&gt;&lt;a href=&quot;http://www.stumbleupon.com/submit?url=&#39; + pageurl + &#39;&amp;amp;title=&#39; + pagetitle + &#39;&quot; title=&quot;I Stumbled Upon something&quot;&gt;I Stumbled Upon something&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;technorati&quot;&gt;&lt;a href=&quot;http://technorati.com/faves?add=&#39; + pageurl + &#39;&quot; title=&quot;My fav on Technorati&quot;&gt;My fav on Technorati&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;twitter&quot;&gt;&lt;a href=&quot;http://twitter.com/home?status=&#39; + pagetitle + &#39;&quot; title=&quot;Tweet this right now!&quot;&gt;Tweet this right now&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;li class=&quot;feed&quot;&gt;&lt;a href=&quot;/feeds/posts/default&quot; title=&quot;Feed me!&quot;&gt;Feed me&lt;/a&gt;&lt;/li&gt;&#39; +
&#39;&lt;/ul&gt;&#39;);
&amp;lt;/script&amp;gt;
&amp;lt;p class=&quot;link-home&quot;&amp;gt;&amp;lt;a href=&quot;http://theyoboo.blogspot.com/2009/10/social-share-blogger-widget.html&quot; title=&quot;Get Social Share! for your blog&quot;&amp;gt;Get Social Share!&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/textarea&gt;
&lt;input type=&quot;hidden&quot; name=&quot;widget.template&quot; value=&quot;&amp;lt;data:content/&amp;gt;&quot; /&gt;
&lt;button type=&quot;submit&quot;&gt;Add Social Share!&lt;/button&gt;
&lt;/form&gt;

&lt;p&gt;Enjoy it and I hope someone finds this useful. Please let me know if there are any problems and if you have any suggestions on expanding it or improving it. I thought about a few things but I haven&#39;t had the chance to implement them because I was too eager to release it. Maybe in a latter version, if it ever catches on.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/2234107210606674789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2009/10/social-share-blogger-widget.html#comment-form' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/2234107210606674789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/2234107210606674789'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2009/10/social-share-blogger-widget.html' title='Social Share! Blogger Widget'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Ep2_KTi1BA6AjPCGSdFaHTEh-Zb6oOCmrPUZnbl97ed6K1LiPkV8WjIKgBa9-qSda2zabwoPWVY3Axt9X_qlLJp5pTHC1RVMIyg3F9dS6tf6PsIP0EIwE6oNorhHPZ6YKFBmU5jB5hFA/s72-c/social_share_logo_1_0.jpg" height="72" width="72"/><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-4707220093261330836</id><published>2009-10-14T00:57:00.008+03:00</published><updated>2010-03-02T23:20:03.916+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="how to"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><category scheme="http://www.blogger.com/atom/ns#" term="Yoboo related"/><title type='text'>How to really remove the Blogspot Navbar</title><content type='html'>&lt;p&gt;The &lt;b&gt;Blogspot Navbar&lt;/b&gt; is meant to provide some functionality to the Blogspot users, but let&#39;s face it: we don&#39;t want it there. It was probably placed at the top of all these blogs for people that don&#39;t want to read something in particular and are just browsing. And even if it can bring new users to your blog (very few indeed), it can also take users away. That, added with the fact that it just looks bad, forces many Blogspot blogs to remove it. And here are the ways you can do that.&lt;/p&gt;

&lt;h3&gt;The &quot;hidden&quot; way&lt;/h3&gt;
&lt;p&gt;Using this method you are not really removing the Navbar, but you are hiding it so people visiting your blog won&#39;t see it. What this involves is adding a CSS rule at the top of your CSS. Here&#39;s how to do it: on your blog&#39;s Dashboard, go to &quot;Layout&quot; and then to &quot;Edit HTML&quot;. Scroll to the beginning of your CSS and on a new line, immediately after &lt;pre&gt; &amp;lt;b:skin&amp;gt;&amp;lt;![CDATA[ &lt;/pre&gt; write the following:
&lt;pre&gt;#navbar{display: none;}&lt;/pre&gt;&lt;/p&gt;

The Navbar will still be loaded, but it will not be displayed. If you look at the source of your page you will notice that it is still there. I didn&#39;t like that so fortunately there is another way.

&lt;h3&gt;The better way&lt;/h3&gt;
&lt;p&gt;I believe this method to be a little better because the code for the Navbar is not loaded anymore. Using this little hack, the template engine will understand that you want to remove it, and will even ask for confirmation. Here&#39;s what you need to do: go to Layout and Edit HTML again. Scroll down to your closing &lt;pre&gt;&amp;lt;/head&amp;gt;&lt;/pre&gt; tag and just before that, on a new line paste the following: &lt;pre&gt;&amp;lt;!-- &amp;lt;/head&amp;gt;&amp;lt;body&amp;gt; --&amp;gt;&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;When you click &quot;Save Template&quot; you will be asked to confirm if you want to remove the &quot;Navbar1&quot; widget. Click on the orange &quot;Confirm &amp;amp; Save&quot; button and that&#39;s it. If you look at the source of your page now, you will notice that the Navbar is really gone, not just hidden. Well actually something still remains, but it&#39;s just a comment line that is completely harmless. This is the line that actually tells the template engine to display the Navbar. The reason you don&#39;t see it when you edit your layout is because it gets added later and this way you &quot;trick&quot; it into getting loaded into an HTML comment. Because of that it won&#39;t be parsed, hence it won&#39;t be loaded.&lt;/p&gt;

&lt;p&gt;And that was my quick &quot;how to&quot; for removing the Blogspot Navbar. I hope someone finds this useful.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/4707220093261330836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2009/10/how-to-really-remove-blogspot-navbar.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4707220093261330836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/4707220093261330836'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2009/10/how-to-really-remove-blogspot-navbar.html' title='How to really remove the Blogspot Navbar'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-8478734388395109307</id><published>2009-01-06T22:50:00.004+02:00</published><updated>2009-10-06T22:50:33.211+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Yoboo related"/><title type='text'>Something to fill a gap</title><content type='html'>&lt;p&gt;Yet again after a long pause, I return to my Yoboo. For no particular reason, I decided to trow another useless post on the web. Just to pass the time. It&#39;s been a while since I&#39;ve written something other than code. That probably one of the reasons I&#39;ve ignored this blog for so long. And now, at the dawn of a new year, I promise myself yet again that &quot;I shall not let it die&quot;. Yeah right!&lt;/p&gt;

&lt;p&gt;It&#39;s been so long since I used Blogger&#39;s editing interface that I get a little confused at the way it does things. I see it still doesn&#39;t format the text right, the one thing that always got me frustrated. In Compose mode, hitting Return/Enter should create a new paragraph, not putting me on a new line. Every word processor does that. It&#39;s the natural way of things. That&#39;s why I&#39;m always forced to use the Edit HTML mode. I have a lot more control over the layout. But formating it in HTML and switching to Compose messes thing up again. But here I go again, blaming Blogger for the way they do things. I&#39;ll probably just find another way to make my life easier. Probably using a Greasemonkey script would do the job. I&#39;ll look into that some other time.&lt;/p&gt;

&lt;p&gt;What have I been doing in the meantime? Nothing much really. Work, home, work and so on, with a little short vacation for the holidays that ended, too abruptly I might say, this Monday. Awful way to start the year. Anything else? I&#39;ve completely stopped using Windows at home, that&#39;s one of my great achievement. I&#39;m now using Ubuntu on my home computer. I found a replacement or a Linux version for most of my commonly used applications. And it runs a lot smoother. There still are a few things that I miss from Windows, but I get by.&lt;/p&gt;

&lt;p&gt;I&#39;m playing Erepublik for a few months now. And I&#39;m starting to get bored with it. Monotony I guess. And that pretty much raps things up. Nothing interesting to report. I came with a few ideas to write about since my last post, but I didn&#39;t have the time and now I forgot all of them. I think I&#39;ll use one of writing ideas lists you can find on the Internet. The kind where you pick a line and start writing and improving on that without a specific purpose. And that&#39;s all I guess.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/8478734388395109307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2009/01/something-to-fill-gap.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/8478734388395109307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/8478734388395109307'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2009/01/something-to-fill-gap.html' title='Something to fill a gap'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-1956542883560685674</id><published>2008-09-13T10:00:00.006+03:00</published><updated>2009-10-06T22:50:45.883+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="personal favorites"/><category scheme="http://www.blogger.com/atom/ns#" term="random ramblings"/><title type='text'>September 13th - Death of Tupac Amaru Shakur</title><content type='html'>&lt;p&gt;&lt;img alt=&quot;Tupac Amaru Shakur aka 2Pac aka Makaveli&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVEfMVBbhz1BJXBKL7ib24noR2_YOtGDKS-UTLvw9xK8i0wY1RqZrlvpjYaVu5g4FBPQr16RDl9O4G52IZNwp4NNSuJ-hO0bp8fO06qaQpmApk_le2wFuF98sxvrGXPiQP_8LsKk2Lo6gi/s320-r/Tupac+Amaru+Shakur.jpg&quot; style=&quot;border: 0pt none; float: left; margin: 0pt 1em 1em 0pt;&quot; /&gt;Today is the anniversary of the death of &lt;b&gt;Tupac Amaru Shakur&lt;/b&gt;, also known by his stage name of &lt;b&gt;2Pac &lt;/b&gt;or &lt;b&gt;Makaveli&lt;/b&gt;, who died on September 13th, 1996 as a result of the four shots he received 6 days earlier.&lt;/p&gt;

&lt;p&gt;But probably many of you that are familiar with his music already knew that, so there&#39;s no point in reminding it. Songs like &quot;&lt;i&gt;Dear Mama&lt;/i&gt;&quot;, &quot;&lt;i&gt;Changes&lt;/i&gt;&quot;, &quot;&lt;i&gt;All eyez on me&lt;/i&gt;&quot;, &quot;&lt;i&gt;Keep Ya Head Up&lt;/i&gt;&quot; or &quot;&lt;i&gt;California Love&lt;/i&gt;&quot; are forever engraved in the memory of those contemporary with Tupac. And most likely in the memory of those that followed, seeing as they&#39;re as popular as ever. And how can anyone forget, &lt;b&gt;Thug Life&lt;/b&gt; (&quot;&lt;i&gt;The Hate U Give Little Infants Fucks Everybody&lt;/i&gt;&quot;)? Not just the group Tupac was a part of, but the way of life. Because, you see, in his eyes, thus is &quot;someone who came from oppressive or squalid background and little opportunity but still made a life for himself and was proud&quot;.&lt;/p&gt;

&lt;p&gt;So what can we say about such a great character that hasn&#39;t been said already? Even after so many years from his tragic death, &lt;b&gt;2Pac&lt;/b&gt; still remains an icon, and one of the great artists of his generation. I guess it&#39;s safe to say that his death only made him more famous. And, sadly, allowed others to take advantage and earn celebrity off his name.&lt;/p&gt;

&lt;p&gt;I heard a lot of people claim that they&#39;re big fans of 2Pac&#39;s music, but that&#39;s not the only thing about him. &lt;b&gt;Tupac&lt;/b&gt; was also a poet and an actor. His poems are published in the volume &quot;&lt;b&gt;&lt;i&gt;The rose that grew from the concrete&lt;/i&gt;&lt;/b&gt;&quot; and are very similar to the things he depicts through his music. Here&#39;s one of them here. All the others can be found in the book, which I&#39;m sure you can buy on Amazon, and some of them are scattered all over the Internet. I got this one from &lt;a href=&quot;http://2pac2k.de/&quot;&gt;2pac2K.de&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;In the event of my Demise by Tupac&lt;/b&gt;&lt;br /&gt;
In the event of my Demise&lt;br /&gt;
when my heart can beat no more&lt;br /&gt;
I Hope I Die For A Principle&lt;br /&gt;
or A Belief that I had Lived 4&lt;br /&gt;
I will die Before My Time&lt;br /&gt;
Because I feel the shadow&#39;s Depth&lt;br /&gt;
so much I wanted 2 accomplish&lt;br /&gt;
before I reached my Death&lt;br /&gt;
I have come 2 grips with the possibility&lt;br /&gt;
and wiped the last tear from My eyes&lt;br /&gt;
I Loved All who were Positive&lt;br /&gt;
In the event of my Demise&lt;/blockquote&gt;

&lt;p&gt;I sometimes wonder what other thing would he have accomplished, had he lived. He is one of those artists that I never get tired of seeing or listening to. From my point of view, and I&#39;m sure others share my opinion, &lt;b&gt;Tupac Amaru Shakur&lt;/b&gt; reinvented hip-hop. You could say that he was the successor of The Sugarhill Gang, bringing a new type of music to the people, a different way of seeing things.&lt;/p&gt;

&lt;div style=&quot;text-align: center;margin: 1em auto;&quot;&gt;&lt;object type=&quot;application/x-shockwave-flash&quot; style=&quot;width:425px; height:344px;&quot; data=&quot;http://www.youtube.com/v/IxR4AweLeXE&quot;&gt;
&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/IxR4AweLeXE&quot; /&gt;
&lt;/object&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/1956542883560685674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2008/09/september-13th-death-of-tupac-amaru.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1956542883560685674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/1956542883560685674'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2008/09/september-13th-death-of-tupac-amaru.html' title='September 13th - Death of Tupac Amaru Shakur'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVEfMVBbhz1BJXBKL7ib24noR2_YOtGDKS-UTLvw9xK8i0wY1RqZrlvpjYaVu5g4FBPQr16RDl9O4G52IZNwp4NNSuJ-hO0bp8fO06qaQpmApk_le2wFuF98sxvrGXPiQP_8LsKk2Lo6gi/s72-c-r/Tupac+Amaru+Shakur.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-153314165837203773</id><published>2008-09-02T22:28:00.006+03:00</published><updated>2009-10-06T22:50:59.960+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Google Chrome: First impressions</title><content type='html'>&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiijKH8u-Q3CwMWC6mokJT8Yn2Cdp2RaEJlP_ucRDBTp0v3-ZErwrIJK_cYhyuNX0oaN5JfuQihfU4aVNzNxj2DnR9nTLzjQOGrIvmUGbZgKNN6WaofSWy49Zm61yZtm4qRtEKWGIN7wtck/s320-r/google_chrome_logo.png&quot; alt=&quot;Google Chrome Logo&quot; style=&quot;float: left; margin: 0 10px 10px 0;&quot;/&gt;

&lt;p&gt;Finally, it&#39;s here. As you might already know and as I said earlier today, Google recently announced the launch of their own browser, &lt;a href=&quot;http://theyoboo.blogspot.com/2008/09/google-chrome-new-way-we-see-internet.html&quot;&gt;Google Chrome&lt;/a&gt;, version 0.2.149.27. I can&#39;t emphasize enough how much I waited for that download link. And the second I reached it, I immediately installed Chrome. &lt;/p&gt;

&lt;p&gt;I said in the previous post that I&#39;ll get back to you with the first impressions I have about this new application. And here they are. In fact this entire post is written from within Google Chrome. &lt;/p&gt;

&lt;p&gt;The first thing I did was check the &lt;strong&gt;About&lt;/strong&gt; section of the browser. I have to say I did&#39;t make head or tails from it. I&#39;ve seen there Mozilla/5.0, AppleWebKit/525.13, Chrome/0.2.149.27 and Safari/525.13. Well, they did say they took the best from all browsers and improved it, but this is getting me dizzy. Let&#39;s keep moving on.&lt;/p&gt;

&lt;p&gt;One thing that annoyed me from the start is the fact that it installed with the language based on the country I&#39;m in. Although this is seen as a feature for many people, let&#39;s put it this way. I hate the way Copy/Paste and other &quot;standard&quot; actions sound in my language. They don&#39;t seem natural. I looked for them once for 5 minutes in a drop down menu (a different application) and they were right there in front of my eyes. I know I could have used the shortcuts, but I had a sandwich in my left hand :). Anyway, it&#39;s a good thing you can change that from the Options menu.&lt;/p&gt;

&lt;p&gt;The next step in the installation was very pleasing. It detected that I have other browsers installed on my machine an offered to &lt;strong&gt;import the default search engine&lt;/strong&gt;, which was Google. And of course, later on, I was able to import the History (visited pages, user settings, passwords) and Bookmarks from my already installed browsers. But one thing eludes me tho: where are my imported bookmarks taken to?&lt;/p&gt;

&lt;p&gt;I told you about the Options menu. Well this has been moved. In fact the entire Menu bar has been moved and cut down to just 2(two) buttons. Since it&#39;s still in Beta, I imagine this thing will change over time, maybe more buttons and menu items will be added. The Menu bar is now located at the same level with the address/URL bar. The Status bar has disappeared completely. It just appears in the lower left corner when you hover over a link, with a fade in and fade out effect. That&#39;s a nice touch in my opinion. Also the standard Title bar that we encounter at almost all Windows applications is gone, being replaced by the Tabs bar. All of these changes are meant to help the user in it&#39;s online activities, reducing the screen space taken by the browser to the bare minimum. Another change that I enjoy is the fact that the &lt;strong&gt;&quot;Bookmark this page&quot;&lt;/strong&gt; button that in Firefox 3 was incorporated in the Address bar is in front of it in Chrome. I like this because in Firefox I continually bookmarked pages trying to click the &quot;Go to&quot; (this replaces the star only if you edit the current address, but I sometimes use it to refresh the current page. And yes, I know I could have hit F5, I just don&#39;t feel like taking my hand off the mouse sometimes. Or putting down that sandwich :) ). The &lt;strong&gt;Search box&lt;/strong&gt; we encounter in most of the modern browsers has disappeared completely. In fact it has been incorporated into the Address bar. Multitasking?&lt;/p&gt;

&lt;p&gt;One of the main features of Google Chrome is it&#39;s ability to generate &lt;strong&gt;independent processes&lt;/strong&gt; for each tab. Although this means a greater stability for the application as a whole, when it comes to closing a process, you got me there. Having 5(five) tabs open means the Windows Task Manager shows 7(seven) active &quot;chrome.exe&quot; processes. How am I supposed to know which one is which so I can close it? I guess it will be the one that hugs my entire CPU or memory. Well, no. Another thing that may prove useful is the &lt;strong&gt;&quot;about:memory&quot;&lt;/strong&gt; page. It shows you how much memory each of the open tabs consumes. And because each tab has it&#39;s own process, it also shows the PID&#39;s (Process ID&#39;s) of each tab. This way you know exactly which one is causing you trouble.&lt;/p&gt;

&lt;p&gt;One other thing that annoyed me was the fact that when I closed my last tab, completely by accident, the application closed. Of course, closing all the tabs means I&#39;m done and it&#39;s a high chance that I will close the browser. But you&#39;re not giving me a chance. It would have been nice that the moment you close the last tab, to have the browser display your homepage or that &lt;strong&gt;Most Visited&lt;/strong&gt; page you see when you open a new tab. That&#39;s just a personal choice maybe.&lt;/p&gt;

&lt;p&gt;Regarding the &lt;strong&gt;JavaScript optimization&lt;/strong&gt; the Google team promised, I&#39;m waiting for some benchmarks to be made by more qualified people, but from what I could tell, there is some improvement in speed. Also there seems to be a pretty good integration with Google Gears, although I never interacted with that too much.&lt;/p&gt;

&lt;p&gt;The download manager is pretty cool, it opens in a tab of it&#39;s own, no more pop-out windows. Seems easy to use, even if I haven&#39;t tried it out yet. How hard can it be? From what I can tell, it has similar functionality like the one in Firefox.&lt;/p&gt;

&lt;p&gt;When viewing various pages I noticed an incorporated box informing me that there are some errors on those pages, things like unclosed tags and such, and it would stop the page from loading beyond that point. While this is a &lt;strong&gt;great tool for web site developers&lt;/strong&gt;, I highly doubt the casual user will find any use for it. Unfortunately I didn&#39;t manage to disable it. On the other hand it might convince or at least make aware website developers of the need to &lt;a href=&quot;http://theyoboo.blogspot.com/2008/07/validating-blogspot-template.html&quot; title=&quot;valid xhtml&quot;&gt;validate&lt;/a&gt; their websites. And speaking of developers, there is a dedicated menu for them where some tools are located: View Source, Debug JavaScript, JavaScript Console and Task Manager.&lt;/p&gt;

&lt;p&gt;And those are pretty much my first impressions of &lt;strong&gt;Google Chrome&lt;/strong&gt;. It still has a lot more things to work on and a lot more features to add and improve. Still, it indeed offers a fresh new perspective of how a browser should work. I&#39;m saying this from a resource management point of view. Anyway, I expect to see great things from this browser. Who knows, maybe one day, I&#39;ll even make it my browser of choice.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/153314165837203773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2008/09/google-chrome-first-impressions.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/153314165837203773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/153314165837203773'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2008/09/google-chrome-first-impressions.html' title='Google Chrome: First impressions'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiijKH8u-Q3CwMWC6mokJT8Yn2Cdp2RaEJlP_ucRDBTp0v3-ZErwrIJK_cYhyuNX0oaN5JfuQihfU4aVNzNxj2DnR9nTLzjQOGrIvmUGbZgKNN6WaofSWy49Zm61yZtm4qRtEKWGIN7wtck/s72-c-r/google_chrome_logo.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-7204611009744866208</id><published>2008-09-02T10:18:00.006+03:00</published><updated>2009-10-06T22:51:15.301+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="off the web"/><category scheme="http://www.blogger.com/atom/ns#" term="random ramblings"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Google Chrome: the new way we see the Internet?</title><content type='html'>&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DnDly65Ddyq-FwS2USpPpXUxfzBWn6M6fG3jtBG21YCx90EupzHm7GPBfGs4OoU5RbrrYlEikn9NAavCN7TxaGTNwhqA840orXE0svx6HoE-MzbToVaTndkz40XNoPpJE45xh-BAM5H3/s320-r/google_chrome.jpg&quot; alt=&quot;Google Chrome&quot; style=&quot;float: left;margin: 0 1em 1em 0;&quot; /&gt;

&lt;p&gt;Like many other people, I&#39;ve also learned about &lt;strong&gt;Google Chrome&lt;/strong&gt;, the browser Google is planning to launch. To me and probably to many others, this came as a surprise. The collaboration between Google and Firefox is a long and fruitful one. So why did Google start to develop it&#39;s own browser, instead of investing more in Firefox?&lt;/p&gt;

&lt;p&gt;One possible answer comes from &lt;a href=&quot;http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html#links&quot; target=&quot;_blank&quot;&gt;their announcement&lt;/a&gt; made on the official Google blog: &quot;Because we believe we can add value for users and, at the same time, help drive innovation on the web&quot;. Everyone likes to say that. But can they really deliver?&lt;/p&gt;

&lt;p&gt;I took a look at the comic book they made to introduce the features of Google Chrome. What can I say? Looks awesome. The fact that each tab is a &lt;strong&gt;separate process&lt;/strong&gt; with it&#39;s own memory allocation and it&#39;s own CPU thread would bring a lot of stability to the browser itself (or we could say &quot;browsers&quot;, seeing that this approach actually replicates multiple instances of the browser being opened at the same time). I can&#39;t remember how many times I had to kill Firefox because of some crappy designed web pages or pages overloaded with Flash, JAVA applets and JavaScript snippets, taking my CPU to 100%. And keeping it there. And that meant closing even the working tabs. Thankfully there was the Session Restore, but it&#39;s still not a pleasant thing. So regarding the &lt;strong&gt;multi-threading part&lt;/strong&gt;, I can hardly wait for it.&lt;/p&gt;

&lt;p&gt;Now the JavaScript applications. Well, don&#39;t get me started. Yes, they&#39;re nice, they&#39;re useful. But they&#39;re huge and resource consuming, they&#39;re sometimes slow and they slow down your entire machine. I sure hope their solution works. You can find a detailed explanation of it in the &lt;a href=&quot;http://www.google.com/googlebooks/chrome/&quot; target=&quot;_blank&quot;&gt;comic book&lt;/a&gt;. But with every solution, comes a whole new set of problems. Making JavaScript driven applications use less resources might mean that people will begin to create even more complex applications, and also begin to disregard optimization. Much like what many programmers did when they got better CPU&#39;s and a lot more memory. They got lazy.&lt;/p&gt;

&lt;p&gt;As stated by the Google team, the &lt;strong&gt;Google Chrome browser&lt;/strong&gt; is largely based on existing &lt;strong&gt;Open Source&lt;/strong&gt; applications. They took what was working and improved it, in their own vision. And what was not working, they made it work. Or at least tried to make it work. I guess the user will be the judge of that. Things like the quick buttons starting page (Opera had that, from what I remember) and the anti-phishing/malware warning that pops out when you&#39;re on a suspected page (I remember seeing that many times in Firefox) just prove that the Google team took really into consideration the user.&lt;/p&gt;

&lt;p&gt;Since it&#39;s still in Beta (and on top of that I haven&#39;t had a chance to try it out) I still can&#39;t say for sure what I like and how I feel it behaves under &quot;stress&quot;. But I&#39;ll consider making a new post after I give it a spin. By then I&#39;ll be able to say what I like and what I don&#39;t particularly like about it. But being a Google fan, I&#39;ll try of course to see all the benefits.&lt;/p&gt;

&lt;p&gt;Until then, you can find more information on TechCrunch.com &lt;a href=&quot;http://www.techcrunch.com/2008/09/01/no-joke-google-introduces-its-own-browser-with-a-cartoon/trackback/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.techcrunch.com/2008/09/01/first-public-screen-captures-of-google-chrome/trackback/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/7204611009744866208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2008/09/google-chrome-new-way-we-see-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/7204611009744866208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/7204611009744866208'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2008/09/google-chrome-new-way-we-see-internet.html' title='Google Chrome: the new way we see the Internet?'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DnDly65Ddyq-FwS2USpPpXUxfzBWn6M6fG3jtBG21YCx90EupzHm7GPBfGs4OoU5RbrrYlEikn9NAavCN7TxaGTNwhqA840orXE0svx6HoE-MzbToVaTndkz40XNoPpJE45xh-BAM5H3/s72-c-r/google_chrome.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-446922523584658819</id><published>2008-08-30T00:32:00.010+03:00</published><updated>2010-03-02T23:25:08.367+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="personal favorites"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Attempt to validate a default Blogger template (II)</title><content type='html'>&lt;div style=&quot;float: left;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTownCKZKCLmqEPbbv_8Z1wsX3FarohMMF5hyphenhypheniCMjUv_SgAm0cP6CGsz4hswvpPfYhHybHVb9hG8mJRlFVrhGZLWcFMWAmeWbnxWEhJrgG1qzIvjbKqvpFseP6otPQPRptVRw8X9jAc6qQ/s320-r/checklist.jpg&quot; style=&quot;margin: 0 10px 10px 0&quot; alt=&quot;checklist&quot; /&gt;&lt;br/&gt;&lt;em&gt;Image by &lt;a href=&quot;http://flickr.com/photos/more-cowbell/2038440817/&quot; target=&quot;_blank&quot;&gt;RXAphotos&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;

&lt;p&gt;Read the first part of this post: &lt;a href=&quot;http://theyoboo.blogspot.com/2008/08/attempt-to-validate-default-blogger.html&quot; title=&quot;validate Blogger&quot;&gt;Attempt to validate a default Blogger template (I)&lt;/a&gt;.&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;5. This error is caused by an &lt;strong&gt;unescaped ampersand&lt;/strong&gt; (&#39;&amp;amp;&#39;) at the import of a dynamic CSS file (&lt;code&gt;http://www.blogger.com/dyn-css/authorization.css?targetBlogID=xxx&amp;zx=xxx&lt;/code&gt;). The import is not present in the source HTML, so it is added later. We&#39;ll just leave this one alone for now.&lt;/p&gt;

&lt;p&gt;6. Many times declaring an &lt;strong&gt;incorrect Doctype&lt;/strong&gt; messes up you entire validation. In this case there was a Strict Doctype declared, but the template included iframe tags (navbar). So I replaced 
&lt;pre&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&amp;gt; &lt;/pre&gt;
with 
&lt;pre&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt;.&lt;/pre&gt;
&lt;em&gt;Remaining 68 Errors and 62 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;7. Some of these error are displayed by the &lt;strong&gt;&amp;quot;Edit post&amp;quot;&lt;/strong&gt; button when you are logged in. Comment or delete the line &lt;code&gt;&amp;lt;b:include data=&#39;post&#39; name=&#39;postQuickEdit&#39;/&amp;gt;&lt;/code&gt;. Others are displayed by the comments link at the bottom of the post. I describe how to fix these lower down the page.&lt;br/&gt;
&lt;em&gt;Remaining 64 Errors and 58 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;8. These are &lt;strong&gt;personal and intentional errors&lt;/strong&gt; to accentuate the fact that your posts also need to be written in valid html/xhtml. I added the alt attribute to the image and changed the closing tag to /&amp;gt;. This needed to be done in the body of the post, not in the template.&lt;br/&gt;
&lt;em&gt;Remaining 58 Errors and 58 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;9. Errors disappeared because of previous modifications&lt;/p&gt;

&lt;p&gt;10. A lot of errors caused by the &lt;strong&gt;&amp;quot;Quick Edit Widget&amp;quot;&lt;/strong&gt; buttons. I removed all of them by commenting them. A easy way to do this is to search for name=&#39;quickedit&#39; inside the template and comment the entire element (&lt;code&gt;&amp;lt;b:include name=&#39;quickedit&#39;/&amp;gt;&lt;/code&gt;).&lt;br/&gt;
&lt;em&gt;Remaining 39 Errors and 39 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;11. Problems caused by the fact that the &lt;strong&gt;archive is displayed as Hierarchy&lt;/strong&gt;. The easiest way to fix this is to change the way the Archive is displayed. For this go to Layout - Page Elements and edit the &quot;Blog Archive&quot; gadget. I changed the Style parameter to Flat list.&lt;br/&gt;
&lt;em&gt;Remaining 8 Errors and 8 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;12. Errors disappeared because of previous modifications&lt;/p&gt;

&lt;p&gt;13. Errors caused by the &lt;strong&gt;unescaped ampersands&lt;/strong&gt; in the dynamic css and the comments link. Note that there would be more errors if you have more posts on the specific page you validate (or less if you have less posts). This is the tricky part. Let&#39;s start with the comments.&lt;br/&gt;
Find the line that says:&lt;br/&gt; 
&lt;pre&gt;&amp;lt;a class=&#39;comment-link&#39; expr:href=&#39;data:post.addCommentUrl&#39; expr:onclick=&#39;data:post.addCommentOnclick&#39;&amp;gt;&lt;/pre&gt;&lt;br/&gt;

The problem is with the expression &lt;code&gt;expr:href=&#39;data:post.addCommentUrl&#39;&lt;/code&gt;. This gets replaced by something like &lt;code&gt;http://www.blogger.com/comment.g?blogID=xxx&amp;postID=xxx&lt;/code&gt; and the problem is the unescaped ampersand. To fix this change the expression to this:&lt;br/&gt;
&lt;pre&gt;expr:href=&#39;&amp;quot;http://www.blogger.com/comment.g?blogID=xxx&amp;amp;amp;amp;postID=&amp;quot; + data:post.id&#39;&lt;/pre&gt; &lt;br/&gt;
where xxx is the id of your own blog. You can find out what your blog id is by viewing the current link. Note the hack that i used after blogID (&lt;strong&gt;&amp;amp;amp;amp;&lt;/strong&gt;). This is because of Blogger&#39;s engine: every &amp;amp;amp; is replaced with &amp;amp;, but luckily the engine goes over the template only once. While this is a feature in blog posts, it&#39;s a problem in URLs. They do work, but they don&#39;t validate. This same method can be applied for &quot;Email post&quot; links if you have that activated. Just make sure you replace &quot;comment.g&quot; with &quot;email-post.g&quot;&lt;br/&gt;
&lt;em&gt;Remaining 3 Errors and 3 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;14. Errors disappeared because of previous modifications&lt;/p&gt;

&lt;p&gt;Now the only problems that remain are caused by the loading of a &lt;strong&gt;dynamic CSS file&lt;/strong&gt;. From what I know this is a new &quot;feature&quot; and can not be removed. This first checks whether you are logged in to Blogger and according to that it creates a specific set of CSS rules. And because of the way it is added to the template, it makes it impossible to fix. Unfortunately, this also prevents my Yoboo from validating. And I was so happy when I saw that green bar a while back :(.  I&#39;ll keep on looking for a solution to this. If anyone has any ideas, you&#39;re more than welcome to share. &lt;/p&gt;

&lt;p&gt;And that&#39;s about all I can do for now (due to lack of time and mood). Note that I focused solely on the front page. It&#39;s very possible that other pages still have errors. I hope this helps you minimize the errors you encounter in your own validation experience. If you find that I missed something or you know of other ways to do things, please tell me your own methods to &lt;strong&gt;validate a Blogger template.&lt;/strong&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/446922523584658819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2008/08/attempt-to-validate-default-blogger_30.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/446922523584658819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/446922523584658819'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2008/08/attempt-to-validate-default-blogger_30.html' title='Attempt to validate a default Blogger template (II)'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTownCKZKCLmqEPbbv_8Z1wsX3FarohMMF5hyphenhypheniCMjUv_SgAm0cP6CGsz4hswvpPfYhHybHVb9hG8mJRlFVrhGZLWcFMWAmeWbnxWEhJrgG1qzIvjbKqvpFseP6otPQPRptVRw8X9jAc6qQ/s72-c-r/checklist.jpg" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6998987740135580524.post-2581068658811374634</id><published>2008-08-29T22:12:00.016+03:00</published><updated>2008-09-01T16:13:43.490+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="personal favorites"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Attempt to validate a default Blogger template (I)</title><content type='html'>&lt;div style=&quot;float: left;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKmvxYiT6w8vzqRfA5hGRV73h-UPD4-A8VVxUg4RiXExEqU0_aAzaEhitWXVfghxUyUhBAjYeB0d-Sc9B1eTC-34IvwoPTpoGIkIpGoX8HdwWDVURk8GiHQhcL_t3l98P-xJggZLDKeCtO/s320-r/html_editing.jpg&quot; style=&quot;margin: 0 10px 10px 0&quot; alt=&quot;html/xhtml editing&quot; /&gt;&lt;br/&gt;&lt;em&gt;Image by &lt;a href=&quot;http://flickr.com/photos/pitel/463957642/&quot; target=&quot;_blank&quot;&gt;pitel&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;

&lt;p&gt;Because the previous &lt;a href=&quot;http://theyoboo.blogspot.com/2008/07/validating-blogspot-template.html&quot; title=&quot;Blogger validation&quot;&gt;post regarding validation&lt;/a&gt; had somewhat of a success, I decided to do another one. This time I decided to try to &lt;strong&gt;validate a default Blogger template&lt;/strong&gt; and I will also try to be more exact in the steps you need to take. Please note that the solutions I provide might not be the best or they might not be suited for your own template. In several occasions I remove elements I personally do not use, but you might find useful. However the general pointers I give should apply across the entire Blogger platform.&lt;/p&gt;

&lt;p&gt;For now, I will deal with the default &lt;strong&gt;Minima&lt;/strong&gt; template. The reason I chose this one is that I consider it to be a very clean one (from a visual point of view), that many people choose for their blogs. And on top of that, it&#39;s the one Blogger selects by default when you create a new blog. That being said, let&#39;s begin.&lt;/p&gt;

&lt;p&gt;Template: Minima&lt;br/&gt;
Front page, two test posts&lt;br/&gt;
Gadgets: Archive, Profile, Labels&lt;br/&gt;
Encoding: utf-8&lt;br/&gt;
Doctype: XHTML 1.0 Strict&lt;br/&gt;
Initial errors: 339 errors, 73 warnings&lt;/p&gt;

&lt;p&gt;Leaving the template HTML unchanged, we do an initial validation check. This is to see the things we need to fix, obviously. So here we are, a list of the main errors, somewhat grouped:&lt;/p&gt;
&lt;ol style=&quot;list-style-position: inside; margin-left: 20px;&quot;&gt;
  &lt;li&gt;&quot;Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml&quot;&lt;/li&gt;
  &lt;li&gt;Warnings: multiple comments in comment declaration&lt;/li&gt;
  &lt;li&gt;There is no attribute &quot;name&quot;. There is no attribute &quot;description&quot;. There is no attribute &quot;type&quot;. There is no attribute &quot;default&quot;.&lt;/li&gt;
  &lt;li&gt;Element &quot;Variable&quot; undefined. End tag for &quot;Variable&quot; omitted, but OMITTAG NO was specified&lt;/li&gt;
  &lt;li&gt;General entity &quot;zx&quot; not defined and no default entity. Reference to entity &quot;zx&quot; for which no system identifier could be generated.&lt;/li&gt;
  &lt;li&gt;There is no attribute &quot;src&quot; (&lt;code&gt;&amp;lt;iframe src=&quot;http://www.blogger.com/navbar.g?targetBlogID=xxx&quot; ... &amp;gt;&lt;/code&gt;). There is no attribute &quot;marginwidth&quot;. There is no attribute &quot;marginheight&quot;. There is no attribute &quot;scrolling&quot;. There is no attribute &quot;frameborder&quot;. There is no attribute &quot;height&quot;. There is no attribute &quot;width&quot;. There is no attribute &quot;id&quot;. There is no attribute &quot;title&quot;.  ... element &quot;iframe&quot; undefined.&lt;/li&gt;
  &lt;li&gt;general entity &quot;postID&quot; not defined and no default entity. reference to entity &quot;postID&quot; for which no system identifier could be generated.&lt;/li&gt;
  &lt;li&gt;&quot;Required attribute &#39;alt&#39; not specified&quot; and &quot;End tag for &#39;img&#39; omitted, but OMITTAG NO was specified&quot;&lt;/li&gt;
  &lt;li&gt;&quot;There is no attribute &#39;target&#39;&quot;&lt;/li&gt;
  &lt;li&gt;several &quot;General entity not defined&quot; caused by de quick edit buttons that you see when you are logged in to Blogger&lt;/li&gt;
  &lt;li&gt;more &quot;General entity not defined&quot; caused by the archive toggle link&lt;/li&gt;
  &lt;li&gt;many &quot;XML Parsing Error: Comment not terminated.&quot;&lt;/li&gt;
  &lt;li&gt;many &quot;XML Parsing Error: EntityRef: expecting &#39;;&#39;&quot;&lt;/li&gt;
  &lt;li&gt;a few &quot;Opening end ending tag mismatch&quot;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;div style=&quot;float: right;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9glxXs2q_GG636JKVUyvAPKZQgaZDC2BzIKb-LXZrdeXy0F4Zqa8R3XUJjwIPMAUDTX2XvRbvSjokJE-qaJY-8Eglo7lTyPjvnlNtI_tPxEFuPbg855RfSDDhJo9mN3THGVIpvpKdqLZV/s320-r/validation_attempt.jpg&quot; style=&quot;margin: 0 0 10px 10px&quot; alt=&quot;validation editing&quot; /&gt;&lt;br/&gt;&lt;em&gt;Image by &lt;a href=&quot;http://flickr.com/photos/christiansvaneskolding/1419232592/&quot; target=&quot;_blank&quot;&gt;svanes&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;

&lt;p&gt;So now let&#39;s start with fixing stuff. I started from the top rather that analyzing what are the major errors and fixing those first. The reason for this is that it&#39;s easier for me to follow. You can use whichever order you like. Another way I recommend to start is with the Doctype declaration. Analyze the page, see in which Doctype it fits (or in which one you would like to fit) and change things accordingly.&lt;/p&gt;

&lt;p&gt;1. The error is pretty self explaining. When I checked the HTML code, there were already several xmlns declarations, but none of them appeared in the source sode of the page when viewed in browser. So I removed all of them and replaced them with &lt;code&gt;xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&lt;/code&gt;. After saving the template the deleted attributes reappeared. I guess they&#39;re needed for something.&lt;br/&gt;
&lt;em&gt;Remaining 338 Errors and 73 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2. There were two &lt;strong&gt;lines of dashes&lt;/strong&gt; (-) before and after the copyright notice in the template. Although these were commented out, they still caused errors. So I removed them.&lt;br/&gt;
&lt;em&gt;Remaining 256 Errors and 73 Warnings.&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;
In the skin section there were &lt;strong&gt;more dashed lines&lt;/strong&gt; under the different sections described by the CSS (header, sidebar, comments, ...) used to separate and organize them. Although only the header section style comments created errors, I removed all the lines just to be sure&lt;br/&gt;
&lt;em&gt;Remaining 79 Errors and 62 Warnings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;3. Errors disappeared because of previous modifications&lt;/p&gt;

&lt;p&gt;4. Errors disappeared because of previous modifications&lt;/p&gt;

&lt;p&gt;Continue to part 2 of this post: &lt;a href=&quot;http://theyoboo.blogspot.com/2008/08/attempt-to-validate-default-blogger_30.html&quot; title=&quot;validate Blogger&quot;&gt;Attempt to validate a default Blogger template (II)&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://theyoboo.blogspot.com/feeds/2581068658811374634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theyoboo.blogspot.com/2008/08/attempt-to-validate-default-blogger.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/2581068658811374634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6998987740135580524/posts/default/2581068658811374634'/><link rel='alternate' type='text/html' href='http://theyoboo.blogspot.com/2008/08/attempt-to-validate-default-blogger.html' title='Attempt to validate a default Blogger template (I)'/><author><name>Stelian Andrei</name><uri>http://www.blogger.com/profile/04556332190414550194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKmvxYiT6w8vzqRfA5hGRV73h-UPD4-A8VVxUg4RiXExEqU0_aAzaEhitWXVfghxUyUhBAjYeB0d-Sc9B1eTC-34IvwoPTpoGIkIpGoX8HdwWDVURk8GiHQhcL_t3l98P-xJggZLDKeCtO/s72-c-r/html_editing.jpg" height="72" width="72"/><thr:total>3</thr:total></entry></feed>