<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7634412527067257686</id><updated>2011-10-28T01:55:18.726-07:00</updated><category term='fun'/><category term='stackoverflow.com'/><category term='android'/><category term='sql'/><category term='tips'/><category term='ecology'/><title type='text'>Simply Coder</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-4158212282728266515</id><published>2010-08-05T23:29:00.000-07:00</published><updated>2010-08-05T23:34:23.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecology'/><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow.com'/><title type='text'>Green Environment Q&amp;A site proposal</title><content type='html'>I've took a shot and register a &lt;a href="http://area51.stackexchange.com/proposals/16806/green-environment?referrer=jj8Wjnb1z6DYE6bZ1oBW4g2"&gt;Green Environment Q&amp;A site proposal on Area51&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Green environment&lt;br /&gt;Proposed Q&amp;A site for people interested in stuff recycling, products composting, trash utilization, alternative energy, sustainable economy, wild nature saving, green lifestyle etc. I know there are similar proposals but this one is more general thus may grow faster.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you feel interested, please &lt;a href="http://area51.stackexchange.com/proposals/16806/green-environment?referrer=jj8Wjnb1z6DYE6bZ1oBW4g2"&gt;go there and follow!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-4158212282728266515?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/4158212282728266515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/08/green-environment-q-site-proposal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/4158212282728266515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/4158212282728266515'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/08/green-environment-q-site-proposal.html' title='Green Environment Q&amp;A site proposal'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-205425565902487756</id><published>2010-08-04T23:22:00.001-07:00</published><updated>2010-08-05T20:56:02.969-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecology'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android Eco 1.3 - new bright design</title><content type='html'>&lt;div align="center"&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 72px; height: 72px;" src="http://3.bp.blogspot.com/_F8mvejVpMKU/TFpaeh8k3BI/AAAAAAAAATM/DVD7HYfrVCg/s320/ecoFootprint.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501809375341501458" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 72px; height: 72px;" src="http://1.bp.blogspot.com/_F8mvejVpMKU/TFpa4ohumHI/AAAAAAAAATc/jiXo9cySoig/s320/ecoLamp.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501809823784540274" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 72px; height: 72px;" src="http://4.bp.blogspot.com/_F8mvejVpMKU/TFpa427o1oI/AAAAAAAAATk/W42boNDfej0/s320/ecoTipsIcon.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501809827651311234" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;From feedbacks I've learned design should be brighter and more readable.&lt;br /&gt;Hope this 1.3 version will be more like that.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ecoFootprint&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://3.bp.blogspot.com/_F8mvejVpMKU/TFpa5YkpLiI/AAAAAAAAATs/oNxtK1uS7gI/s320/scr_ecoFootprint_en_1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501809836681670178" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://1.bp.blogspot.com/_F8mvejVpMKU/TFpa53u11WI/AAAAAAAAAT0/eSGKlf3_kMY/s320/scr_ecoFootprint_en_3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501809845045941602" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://3.bp.blogspot.com/_F8mvejVpMKU/TFpa6EXyFOI/AAAAAAAAAT8/YwbL44zccM0/s320/scr_ecoFootprint_en_4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501809848438887650" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Calculate your personal ecological footprint, textual information taken from the &lt;a href="http://www.panda.org/"&gt;Wildlife Fund site&lt;/a&gt;&lt;br /&gt;- offline&lt;br /&gt;- short 19 q and a full 42 q&lt;br /&gt;- english &amp;amp; metric unit systems&lt;br /&gt;- send userbar&lt;br /&gt;- ways to improve&lt;br /&gt;- ecological design&lt;br /&gt;- &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"&gt;Creative Commons License&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://qrcode.kaywa.com/img.php?s=6&amp;amp;d=market%3A%2F%2Fsearch%3Fq%3Dpname%3Aeco.footprint" alt="qrcode" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href ="market://details?id=eco.footprint"&gt;direct link&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ecoLamp&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://3.bp.blogspot.com/_F8mvejVpMKU/TFpc-CDmnrI/AAAAAAAAAVE/2SbSp9LJ9JY/s320/scr_ecoLamp_en_3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501812115560111794" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://4.bp.blogspot.com/_F8mvejVpMKU/TFpc-a9yV1I/AAAAAAAAAVM/yc-zs6VD_1Y/s320/scr_ecoLamp_en_5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501812122246600530" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://4.bp.blogspot.com/_F8mvejVpMKU/TFpc-sl9fvI/AAAAAAAAAVU/vsD-TBRQKb4/s320/scr_ecoLamp_en_7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501812126978506482" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Calculate energy and environmental benefits of replacing light bulbs&lt;br /&gt;- offline&lt;br /&gt;- info from Wikipedia&lt;br /&gt;- send userbar&lt;br /&gt;- ecological design&lt;br /&gt;- &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"&gt;Creative Commons License&lt;/a&gt;&lt;br /&gt;- Chinese translation by &lt;a href="http://www.blogger.com/goapk.com"&gt;http://goapk.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://qrcode.kaywa.com/img.php?s=6&amp;amp;d=market%3A%2F%2Fsearch%3Fq%3Dpname%3Aeco.lamp" alt="qrcode" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href ="market://details?id=eco.lamp"&gt;direct link&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ecoTips&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://4.bp.blogspot.com/_F8mvejVpMKU/TFpc9XwWeHI/AAAAAAAAAU0/AziPRub4ukE/s320/scr_ecoTips_en_1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501812104205072498" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://3.bp.blogspot.com/_F8mvejVpMKU/TFpc9x7n1II/AAAAAAAAAU8/kP-Yu1M_vdw/s320/scr_ecoTips_en_2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501812111231669378" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://3.bp.blogspot.com/_F8mvejVpMKU/TFpbY1ATQMI/AAAAAAAAAUs/zJ3c3errAps/s320/scr_ecoTips_en_3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5501810376889811138" /&gt;&lt;/div&gt;&lt;br /&gt;Widget, displays tips from &lt;a href="http://www.panda.org/"&gt;Wildlife Fund site&lt;/a&gt;&lt;br /&gt;- offline&lt;br /&gt;- forward advice&lt;br /&gt;- ecological design&lt;br /&gt;- &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"&gt;Creative Commons License&lt;/a&gt;&lt;br /&gt;widget, click on Recycle for next tip&lt;br /&gt;widget, click on text for tips list&lt;br /&gt;list short click - move tip to widget&lt;br /&gt;list long click - send advice&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://qrcode.kaywa.com/img.php?s=6&amp;amp;d=market%3A%2F%2Fsearch%3Fq%3Dpname%3Aeco.tips" alt="qrcode" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href ="market://details?id=eco.tips"&gt;direct link&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dc:title" rel="dc:type"&gt;Android Eco&lt;/span&gt; by &lt;a cc="http://creativecommons.org/ns#" href="http://maxgontar-code.blogspot.com/" property="cc:attributionName" rel="cc:attributionURL"&gt;max.gontar@gmail.com&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"&gt;Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a dc="http://purl.org/dc/elements/1.1/" href="http://www.panda.org/" rel="dc:source"&gt;www.panda.org&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; "&gt;Please give your feedbacks!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-205425565902487756?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/205425565902487756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/08/android-eco-13-new-bright-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/205425565902487756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/205425565902487756'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/08/android-eco-13-new-bright-design.html' title='Android Eco 1.3 - new bright design'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_F8mvejVpMKU/TFpaeh8k3BI/AAAAAAAAATM/DVD7HYfrVCg/s72-c/ecoFootprint.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-1469103307440089009</id><published>2010-07-30T20:37:00.000-07:00</published><updated>2010-07-30T20:50:49.825-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecology'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Press Release for Ecology :)</title><content type='html'>Singapore Today Online&lt;br /&gt;&lt;a href="http://www.todayonline.com/Tech/Mobileapps/EDC100730-0000044/Be-Superman"&gt;Be Superman, Save the world with these earth-friendly apps&lt;/a&gt;&lt;br /&gt;by May Chua (2010/7/30)&lt;br /&gt;&lt;blockquote&gt;ecoFootprint (Android)&lt;br /&gt;Android users can try ecoFootprint. After taking the quick test (19 questions) or full test (42 questions), you will find out how many Earths the world would need if everyone lived like you, and what you can do to minimise your footprint.&lt;/blockquote&gt;&lt;br /&gt;...&lt;br /&gt;&lt;blockquote&gt;ecoTips (Android)&lt;br /&gt;Here's an app that lets you walk the talk. ecoTips presents tips on greener living from the Wildlife Fund site, divided into five categories - home, travel, office, market and garden. You can use this app to educate those around you by sending tips to them via social media, email, Bluetooth or SMS.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Well, it's like a nice word to me :)&lt;br /&gt;&lt;br /&gt;And it's an online newspaper, no wood was cut down for printing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-1469103307440089009?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/1469103307440089009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/07/press-release-for-ecology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/1469103307440089009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/1469103307440089009'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/07/press-release-for-ecology.html' title='Press Release for Ecology :)'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-6427156819583163527</id><published>2010-07-27T22:15:00.000-07:00</published><updated>2010-07-27T22:33:00.995-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecology'/><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow.com'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Saving energy color scheme on OLED (Nexus One)</title><content type='html'>Just to repeat my question from SO:&lt;br /&gt;&lt;br /&gt;&lt;div id="stacktack-2902382"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;To sum-up:  &lt;br /&gt;&lt;a href="http://www.ironicsans.com/owmyeyes/"&gt;Ironic Sans: Ow My Eyes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.anandtech.com/showthread.php?t=1587313"&gt;they say it's not working for simple LCD&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hackaday.com/2010/07/02/oled-hack-saves-juice-on-nexus-one/"&gt;http://hackaday.com&lt;/a&gt;:&lt;br /&gt;...using only the red pixels dropped the current use down to 35% of what the full color display was pulling...&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/AMOLED"&gt;WikiPedia - AMOLED&lt;/a&gt;:&lt;br /&gt;For example, our measurement shows that a commercial QVGA OLED display consumes 3 and 0.7 Watts showing black text on a white background and white text on a black background, respectively.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-6427156819583163527?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/6427156819583163527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/07/saving-energy-color-scheme-on-oled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/6427156819583163527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/6427156819583163527'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/07/saving-energy-color-scheme-on-oled.html' title='Saving energy color scheme on OLED (Nexus One)'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-2648989969249569214</id><published>2010-07-26T22:59:00.000-07:00</published><updated>2010-07-27T21:42:29.325-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecology'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android ecoTips - Tips to save the Nature</title><content type='html'>From &lt;a href="http://en.wikipedia.org/wiki/World_Wide_Fund_for_Nature"&gt;WikiPedia&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;The World Wide Fund for Nature (WWF) is an international non-governmental organization working on issues regarding the conservation, research and restoration of the environment, formerly named the World Wildlife Fund, which remains its official name in the United States and Canada. It is the world's largest independent conservation organization with over 5 million supporters worldwide, working in more than 90 countries, supporting around 1300 conservation and environmental projects around the world.&lt;br /&gt;...&lt;br /&gt;The group says its mission is "to halt and reverse the destruction of our environment".&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So it's really great org, they do the right stuff for human survival.&lt;br /&gt;Also there is a &lt;a href="http://wwf.panda.org/how_you_can_help/greenliving/at_home/"&gt;list of tips on their website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since all text there is under &lt;a href="http://creativecommons.org/licenses/by-sa/3.0/deed.en"&gt;Creative Commons license&lt;/a&gt;, I've made this small Android widget to display those tips. Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://1.bp.blogspot.com/_F8mvejVpMKU/TE58tz8pQKI/AAAAAAAAAR0/ZPO4E76J1qA/s320/tips1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498469321546481826" /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_F8mvejVpMKU/TE59FxHi5cI/AAAAAAAAASE/1z9Nyj8_0zo/s320/tips3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498469733103756738" /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_F8mvejVpMKU/TE59Fqx_n1I/AAAAAAAAAR8/Xr2LU8qTQoo/s320/tips2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498469731402751826" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Features:&lt;ul&gt;&lt;li&gt;works offline&lt;/li&gt;&lt;li&gt;forward tip text over email, twitter, SMS etc&lt;/li&gt;&lt;li&gt;ecological energy-saving design&lt;/li&gt;&lt;li&gt;Ukrainian and English localization&lt;/li&gt;&lt;li&gt;Creative Commons license&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://qrcode.kaywa.com/img.php?s=6&amp;amp;d=market%3A%2F%2Fsearch%3Fq%3Dpname%3Aeco.tips" alt="qrcode" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;Please give your feedbacks!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-2648989969249569214?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/2648989969249569214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/07/android-ecotips-tips-to-save-nature.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/2648989969249569214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/2648989969249569214'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/07/android-ecotips-tips-to-save-nature.html' title='Android ecoTips - Tips to save the Nature'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_F8mvejVpMKU/TE58tz8pQKI/AAAAAAAAAR0/ZPO4E76J1qA/s72-c/tips1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-4791366781355467919</id><published>2010-06-30T23:55:00.000-07:00</published><updated>2010-07-01T01:23:05.832-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecology'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android. Green. Ecology. Lamp.</title><content type='html'>Several years ago I've decided to upgrade my house lamps from light bulbs to CFL, about 7 items. I knew it will improve my electricity bill, but I never done any calculations. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lately I was more interested in environment saving, and that brought me to idea of app which will calculate all advantages of energy saving lamps. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By some accident (maybe not-without-StackOverflow) I was gifted with N1. Thank you Google! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With ability to create ecoLamp it would be a crime not to try.&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_F8mvejVpMKU/TCxLzqZDz9I/AAAAAAAAAJ0/YH8D9Q1_SwA/s320/scr_en_1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5488845396782600146" /&gt;&lt;img src="http://1.bp.blogspot.com/_F8mvejVpMKU/TCxLzx_HeMI/AAAAAAAAAJ8/6pI1hQCsbxQ/s320/scr_en_2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5488845398821271746" /&gt;&lt;img src="http://1.bp.blogspot.com/_F8mvejVpMKU/TCxL0Watb3I/AAAAAAAAAKE/tdBQW7jb2gg/s320/scr_en_3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5488845408600682354" /&gt;&lt;img src="http://1.bp.blogspot.com/_F8mvejVpMKU/TCxL0gZk1tI/AAAAAAAAAKM/mtgcmt90dEc/s320/scr_en_4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5488845411280279250" /&gt;&lt;img src="http://2.bp.blogspot.com/_F8mvejVpMKU/TCxL0010WrI/AAAAAAAAAKU/JCwjxgce8XU/s320/scr_en_5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5488845416767445682" /&gt;&lt;/div&gt;&lt;br /&gt;Features:&lt;ul&gt;&lt;li&gt;works offline&lt;/li&gt;&lt;li&gt;lamp types description with photos and text from Wikipedia&lt;/li&gt;&lt;li&gt;calculates energy saving, equivalent coal, gas and oil, CO2 emission, lamps waste and money saving&lt;/li&gt;&lt;li&gt;generates userbar which you can add to email, Picasa etc&lt;br /&gt;&lt;img style="display:block;text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_F8mvejVpMKU/TCxOsH4jDhI/AAAAAAAAAKc/3CyOYZVw5lo/s320/ecolamp_userbar.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5488848565795229202" /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;settings for electricity tariff and measurement units&lt;/li&gt;&lt;li&gt;Ukrainian and English localisation&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://qrcode.kaywa.com/img.php?s=6&amp;amp;d=market%3A%2F%2Fsearch%3Fq%3Dpname%3Aeco.lamp" alt="qrcode" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;Please give your feedbacks!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-4791366781355467919?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/4791366781355467919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/06/android-green-ecology-lamp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/4791366781355467919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/4791366781355467919'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/06/android-green-ecology-lamp.html' title='Android. Green. Ecology. Lamp.'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_F8mvejVpMKU/TCxLzqZDz9I/AAAAAAAAAJ0/YH8D9Q1_SwA/s72-c/scr_en_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-6036311951491259800</id><published>2010-01-24T01:00:00.000-08:00</published><updated>2010-07-27T22:32:33.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow.com'/><title type='text'>Fun with SQL (games, painting, puzzles)</title><content type='html'>Several days ago my question on StackOverflow was deleted by system: &lt;a title="Fun with SQL (games, painting, puzzles)" href="http://stackoverflow.com/questions/565263/fun-with-sql-games-painting-puzzles"&gt;Fun with SQL (games, painting, puzzles)&lt;/a&gt;. Since it was not a real question and would be deleted again if I repost it I decided to post it here on my own territory : )&lt;br /&gt;&lt;br /&gt;If you think SQL is boring or dumb or limited, try this:&lt;br /&gt;&lt;h3 style="text-align: center;"&gt;SQL Games&lt;br /&gt; &lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2005/12/30/91.aspx"&gt;Lionel Clarke 3D Maze Game&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://www.codeproject.com/script/Membership/Profiles.aspx?mid=38339"&gt;CraigD&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://www.codeproject.com/KB/database/Battleship2008.aspx"&gt;Battleship (MS SQL 2008 GEOGRAPHY and GEOMETRY)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://www.sqlservercentral.com/scripts/TSQL/62384/"&gt;Adam Haines - Tic Tac Toe T-SQL Style&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://www.sqlservercentral.com/scripts/T-SQL/62978/"&gt;Kevin Duan - A Sudoku solution with set based T-SQL utilizing binary operators&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://www.geocities.com/swint002/Sudoku.txt"&gt;Steve Wint - SQL Sudoku&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://www.geocities.com/swint002/checkers.txt"&gt;Steve Wint - T-SQL Checkers&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://mysqlgame4.appspot.com/"&gt;mySQLgame (online game)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="text-align: center;"&gt;Drawing with SQL&lt;br /&gt; &lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel="nofollow" href="http://toponewithties.blogspot.com/2006/08/t-sql-drawing.html"&gt;Roji Thomas - T-SQL Drawing&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://thedailywtf.com/Articles/Stupid-Coding-Tricks-The-TSQL-Madlebrot.aspx"&gt;Graeme Job -  T-SQL Mandelbrot&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://forge.mysql.com/tools/tool.php?id=25"&gt;Dean Swift - Mandelbrot Fractals Using Stored Procedures&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://archives.postgresql.org/pgsql-hackers/2008-11/msg01303.php"&gt;Gregory Stark - Mandelbrot in Postgres with recursive queries&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="text-align: center;"&gt;SQL Puzzles&lt;br /&gt; &lt;/h3&gt;&lt;ul&gt;&lt;li&gt; A bunch of puzzles from Lionel Clarke blog: &lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2005/10/28/14.aspx"&gt;1&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2005/11/04/15.aspx"&gt;2&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2005/11/22/31.aspx"&gt;3&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2005/12/16/66.aspx"&gt;4&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2005/12/30/92.aspx"&gt;5&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2006/06/28/962.aspx"&gt;6&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2007/10/26/38829.aspx"&gt;7&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2007/11/27/40222.aspx"&gt;8&lt;/a&gt;|&lt;a rel="nofollow" href="http://www.simple-talk.com/community/blogs/lionel/archive/2008/01/07/42301.aspx"&gt;9&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt; And of course &lt;a rel="nofollow" href="http://rads.stackoverflow.com/amzn/click/1558604537"&gt;Joe Celko's Puzzles&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="text-align: center;"&gt;SQL &lt;a rel="nofollow" href="http://en.wikipedia.org/wiki/Software%5FEaster%5FEgg"&gt;Easter eggs&lt;/a&gt;&lt;br /&gt; &lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel="nofollow" href="http://www.eeggs.com/tree/507.html"&gt;SQL Server (Microsoft) Easter Eggs&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://databases.about.com/od/productinfo/a/eastereggs.htm"&gt;Database Easter Eggs&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://technology.amis.nl/blog/1880/year-2000-problems"&gt;Marco Gralike - Oracle 7.3 Year 2000 problems&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a rel="nofollow" href="http://oracleappstechnology.blogspot.com/2007/08/easter-egg-in-oracle-73.html"&gt;commented by Vikram Das&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="text-align: center;"&gt;Songs about SQL&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.roblambert.com/music/sql-song/"&gt;Rob Lambert - SQL Song&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://weblogs.asp.net/rosherove/archive/2007/05/19/it-s-time-for-violence-a-song-about-databases.aspx"&gt;Roy Osherove - It's Time For Violence: A song about Databases&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://sqlfool.com/tag/contest/"&gt;SQL Rap Contest at SQLFool&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://chuckboyce.blogspot.com/2006/01/sql-song-parody.html"&gt;Chuck Boyce - SQL song parody&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://thomaslarock.com/2009/08/sql-theme-song/"&gt;Thomas LaRock - SQL Theme Song&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href="http://forum.ragezone.com/f80/song-50-ways-to-inject-your-sql-585470/"&gt;TidusXIII - 50 ways to inject your SQL&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="text-align: center;"&gt;Other&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://99-bottles-of-beer.net/language-sql-935.html"&gt;99 bottles of beer: SQL version&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-6036311951491259800?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/6036311951491259800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/01/fun-with-sql-games-painting-puzzles.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/6036311951491259800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/6036311951491259800'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/01/fun-with-sql-games-painting-puzzles.html' title='Fun with SQL (games, painting, puzzles)'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634412527067257686.post-6945493801771096968</id><published>2010-01-24T00:37:00.000-08:00</published><updated>2010-01-24T00:59:35.509-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Some SQL Techniques</title><content type='html'>&lt;strong&gt;1. Hierarchical tree formatting SELECT using CTE (MS SQL 2005)&lt;/strong&gt;&lt;br /&gt;Say you have some table with hierarchical tree structure (departments on example) and you need to output it in CheckBoxList or in Lable this way:&lt;br /&gt;&lt;pre&gt;     Main Department&lt;br /&gt;  Department 1&lt;br /&gt;  Department 2&lt;br /&gt;   SubDepartment 1&lt;br /&gt;  Department 3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then you can use such query:&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;WITH Hierarchy(DepID, Name, ParentID, Sort, Type) AS&lt;br /&gt;(&lt;br /&gt;-- First we will take the highest Department (Type = 1)&lt;br /&gt;SELECT DepID, Name, ParentID,&lt;br /&gt;-- We will need this field for correct sorting&lt;br /&gt; Name + CONVERT(VARCHAR(MAX), DepID) AS Sort, 1 AS Type&lt;br /&gt;FROM Departments WHERE Type = 1&lt;br /&gt;UNION ALL&lt;br /&gt;-- Now we will take the other records in recursion&lt;br /&gt;SELECT SubDep.DepID, SubDep.Name, SubDep.ParentID,&lt;br /&gt; CONVERT(VARCHAR(MAX), Sort) + SubDep.Name&lt;br /&gt;              + CONVERT(VARCHAR(MAX), SubDep.DepID) AS Sort,&lt;br /&gt; ParentDep.Type + 1&lt;br /&gt;FROM Departments SubDep&lt;br /&gt;INNER JOIN Hierarchy ParentDep ON SubDep.ParentID = ParentDep.DepID&lt;br /&gt;)&lt;br /&gt;-- Final select&lt;br /&gt;SELECT DepID,&lt;br /&gt;-- Now we need to put some spaces (or any other symbols) to make it&lt;br /&gt;-- look-like hierarchy&lt;br /&gt;REPLICATE(' ', Type - 1) + Name AS DepartmentName, ParentID, Sort&lt;br /&gt;FROM Hierarchy&lt;br /&gt;UNION&lt;br /&gt;-- Default value&lt;br /&gt;SELECT -1 AS DepID, 'None' AS DepartmentName, -2, ' ' AS Sort&lt;br /&gt;-- Important to sort by this field to preserve correct Parent-Child hierarchy&lt;br /&gt;ORDER BY Sort ASC&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Other samples&lt;br /&gt;&lt;br /&gt;Using stored procedure:&lt;br /&gt;&lt;a href="http://vyaskn.tripod.com/hierarchies_in_sql_server_databases.htm"&gt;Working with hierarchical data in SQL Server databases&lt;/a&gt;&lt;br /&gt;Plain select for limited nesting level:&lt;br /&gt;&lt;a href="http://www.sqlteam.com/article/more-trees-hierarchies-in-sql"&gt;More Trees &amp;amp; Hierarchies in SQL&lt;/a&gt;&lt;br /&gt;Another one solution using CTE:&lt;br /&gt;&lt;a href="http://www.sqlusa.com/bestpractices2005/executiveorgchart/"&gt;SQL Organization Chart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Last Date selection with grouping - using RANK() OVER&lt;/strong&gt;&lt;br /&gt;Imagine some Events table with ID, User, Date and Description columns. You need to select all last Events for each User. There is no guarantee that Event with higher ID has nearest Date.&lt;br /&gt;&lt;br /&gt;What you can do is play around with INNER SELECT, MAX, GROUPING like this:&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;SELECT E.UserName, E.Description, E.Date&lt;br /&gt;FROM Events E&lt;br /&gt;INNER JOIN&lt;br /&gt;(&lt;br /&gt;SELECT UserName, MAX(Date) AS MaxDate FROM Events&lt;br /&gt;GROUP BY UserName&lt;br /&gt;) AS EG ON E.Date = EG.MaxDate&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;But I prefer use RANK OVER:&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;SELECT EG.UserName, EG.Description, EG.Date  FROM&lt;br /&gt;(&lt;br /&gt;SELECT RANK() OVER(PARTITION BY UserName ORDER BY Date DESC) AS N,&lt;br /&gt; E.UserName, E.Description, E.Date&lt;br /&gt;FROM Events E&lt;br /&gt;) AS EG WHERE EG.N = 1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It's more complicated, but it seems to be more correct for me.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Paging using TOP and NOT IN&lt;/strong&gt;&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;DECLARE @RowNumber INT, @RecordsPerPage INT, @PageNumber INT&lt;br /&gt;SELECT @RecordsPerPage = 6, @PageNumber = 7&lt;br /&gt;SELECT TOP(@RecordsPerPage) *  FROM [TableName]&lt;br /&gt;WHERE ID NOT IN&lt;br /&gt;(&lt;br /&gt;SELECT TOP((@PageNumber-1)*@RecordsPerPage) ID&lt;br /&gt;FROM [TableName]&lt;br /&gt;ORDER BY Date ASC&lt;br /&gt;)&lt;br /&gt;ORDER BY Date ASC&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;4. Set variable values in dynamic SQL with REPLACE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Instead of ugly&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;SET @SELECT_SQL = 'SELECT * FROM [TableName]&lt;br /&gt;WHERE Date &amp;lt; ' + CAST(@Date, VARCHAR) + ' AND Flag = ' + @Flag&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It's more easy, safe and readable to use REPLACE:&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;DECLARE @VAR_SQL VARCHAR(3000), @SELECT_SQL VARCHAR(3000)&lt;br /&gt;DECLARE @Id INT&lt;br /&gt;SET @Id = 3&lt;br /&gt;DECLARE @Flag VARCHAR(1)&lt;br /&gt;SET @Flag = 'X'&lt;br /&gt;DECLARE @Date DATETIME&lt;br /&gt;SET @Date = GETDATE()&lt;br /&gt;SET @VAR_SQL =&lt;br /&gt;'DECLARE @Date DATETIME&lt;br /&gt;SET @Date = CAST(:Date AS DATETIME)&lt;br /&gt;'&lt;br /&gt;SET @SELECT_SQL = 'SELECT * FROM [TableName]&lt;br /&gt;WHERE Id &amp;gt; :Id AND Flag = :Flag AND Date &amp;lt; @Date'&lt;br /&gt;&lt;br /&gt;SET @SELECT_SQL =&lt;br /&gt;REPLACE(@SELECT_SQL, ':Flag', QUOTENAME(CONVERT(VARCHAR, @Flag),''''))&lt;br /&gt;SET @SELECT_SQL = REPLACE(@SELECT_SQL, ':Id', CONVERT(VARCHAR, @Id))&lt;br /&gt;SET @VAR_SQL =&lt;br /&gt;REPLACE(@VAR_SQL, ':Date', QUOTENAME(CONVERT(VARCHAR, @Date),''''))&lt;br /&gt;&lt;br /&gt;PRINT(@VAR_SQL + @SELECT_SQL)&lt;br /&gt;EXEC(@VAR_SQL + @SELECT_SQL)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;5. DROP before CREATE&lt;/strong&gt;&lt;br /&gt;There are some good practices for writing stored procedures or functions, one of them is to include IF EXISTS ... DROP block in procedure creation script.&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;IF EXISTS&lt;br /&gt;(&lt;br /&gt;SELECT 1 FROM sysobjects&lt;br /&gt;WHERE id = OBJECT_ID(N'[ProcedureName]')&lt;br /&gt; AND OBJECTPROPERTY(id, N'IsProcedure') = 1&lt;br /&gt;)&lt;br /&gt;DROP PROCEDURE [ProcedureName]&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;IF EXISTS&lt;br /&gt;(&lt;br /&gt;SELECT 1 FROM sysobjects&lt;br /&gt;WHERE id = OBJECT_ID(N'[ScalarFunctionName]')&lt;br /&gt; AND OBJECTPROPERTY(id, N'IsScalarFunction') = 1&lt;br /&gt;)&lt;br /&gt;DROP FUNCTION [ScalarFunctionName]&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;IF EXISTS&lt;br /&gt;(&lt;br /&gt;SELECT 1 FROM sysobjects&lt;br /&gt;WHERE id = OBJECT_ID(N'[TableFunctionName]')&lt;br /&gt; AND OBJECTPROPERTY(id, N'IsTableFunction') = 1&lt;br /&gt;)&lt;br /&gt;DROP FUNCTION [TableFunctionName]&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;--Talking about temporary tables:&lt;br /&gt;IF OBJECT_ID('tempdb..#TEMP') IS NOT NULL&lt;br /&gt;DROP TABLE #TEMP&lt;br /&gt;CREATE TABLE #TEMP(ID INT, DATESTART DATETIME, DATEEND DATETIME)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;6. Lot of dynamic sql, temp tables, and others on &lt;a href="http://www.sommarskog.se/"&gt;Erland Sommarskog's home page&lt;/a&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634412527067257686-6945493801771096968?l=maxgontar-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://maxgontar-code.blogspot.com/feeds/6945493801771096968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://maxgontar-code.blogspot.com/2010/01/some-sql-techniques.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/6945493801771096968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634412527067257686/posts/default/6945493801771096968'/><link rel='alternate' type='text/html' href='http://maxgontar-code.blogspot.com/2010/01/some-sql-techniques.html' title='Some SQL Techniques'/><author><name>max.gontar@gmail.com</name><uri>http://www.blogger.com/profile/13218119464798488841</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-y-NlHyUSbQ0/Tqptxg6T6XI/AAAAAAAAA6M/YFPWjjEqY8U/s220/94948e4a5dc3dd9d8d2e0078acc692f1.jpeg'/></author><thr:total>0</thr:total></entry></feed>
