<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ak4CSXw_cCp7ImA9WhRaFkU.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412</id><updated>2012-02-19T14:02:48.248-08:00</updated><category term="ruby" /><category term="creativity" /><category term="commercials" /><category term="technology" /><category term="psychology" /><category term="business" /><category term="Sherri belly dance" /><category term="prisons" /><category term="php" /><category term="miscellanea" /><category term="useful" /><category term="programming" /><category term="psycho activity" /><category term="obsessive ideas" /><category term="bookmarks" /><category term="fritalian" /><category term="review" /><category term="nice" /><category term="Ukraine" /><category term="horror" /><category term="tip" /><category term="human" /><category term="lost phone" /><category term="money" /><title>Summery Gossamer</title><subtitle type="html">Various dirty things</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.ravel.tk/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.ravel.tk/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/VariousDirtyThings" /><feedburner:info uri="variousdirtythings" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkUCSXkzfSp7ImA9WhRbF08.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-4052359744301571102</id><published>2012-02-08T10:04:00.000-08:00</published><updated>2012-02-08T10:04:28.785-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-08T10:04:28.785-08:00</app:edited><title>How to install ruby on rails in the right way</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
step 1:&lt;br /&gt;
install rvm&lt;br /&gt;
Don't forget to source ~/.bashrc or restart shell&lt;br /&gt;
step 2:&lt;br /&gt;
$ rvm requirements&lt;br /&gt;
Then install requirements needed for your ruby&lt;br /&gt;
step 3: &lt;br /&gt;
$ rvm install 1.9.2 # installs required ruby version&lt;br /&gt;
$ rvm 1.9.2&lt;br /&gt;
$ gem install rails -v 3.2&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-4052359744301571102?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3sNDjhPJmMc68uV7cE57NlzqQPk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3sNDjhPJmMc68uV7cE57NlzqQPk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3sNDjhPJmMc68uV7cE57NlzqQPk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3sNDjhPJmMc68uV7cE57NlzqQPk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/OZUXgr5xMoo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/4052359744301571102/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2012/02/how-to-install-ruby-on-rails-in-right.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/4052359744301571102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/4052359744301571102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/OZUXgr5xMoo/how-to-install-ruby-on-rails-in-right.html" title="How to install ruby on rails in the right way" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2012/02/how-to-install-ruby-on-rails-in-right.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCQn48fCp7ImA9WhRXGEo.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-7368883169333129279</id><published>2011-12-25T20:33:00.001-08:00</published><updated>2011-12-25T20:41:03.074-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-25T20:41:03.074-08:00</app:edited><title>How to deploy with Mercurial aka HG on rails3.1</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
1. Install Phusion Passenger module (&lt;cite&gt;&lt;a class="moz-txt-link-abbreviated" href="http://www.modrails.com/" target="_blank"&gt;www.modrails.com/&lt;/a&gt;&lt;/cite&gt;)     on top of Apache2 or Nginx&lt;br /&gt;
2. Edit .hg/hgrc on the destination (production server). &lt;br /&gt;
&lt;br /&gt;
&lt;tt&gt;[hooks]&lt;br /&gt;
incoming = hg update -C &amp;amp;&amp;amp; RAILS_ENV=production rake db:migrate &amp;amp;&amp;amp; bundle exec rake assets:precompile &amp;amp;&amp;amp; touch tmp/restart.txt
&lt;/tt&gt;
&lt;br /&gt;
(&lt;a href="http://pastie.org/3073448" target="_blank"&gt;http://pastie.org/3073448&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Let's explain briefly rails aspects of [hooks].&lt;br /&gt;
&lt;br /&gt;
RAILS_ENV=production rake db:migrate -- sets environment to     production mode and migrates the database.&lt;br /&gt;
&lt;br /&gt;
bundle exec rake assets:precompile -- precompiles scss (sass), coffescript (js) and image files from app/assets to the public/assets directory.&lt;br /&gt;
&lt;br /&gt;
touch tmp/restart.txt -- sends Passenger command to restart the     server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-7368883169333129279?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/w4nEgvCu51Itwtd7txcnS7HM7mw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w4nEgvCu51Itwtd7txcnS7HM7mw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/w4nEgvCu51Itwtd7txcnS7HM7mw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w4nEgvCu51Itwtd7txcnS7HM7mw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/jRquYpQ6LBQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/7368883169333129279/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/12/how-to-deploy-with-mercurial-aka-hg-on.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/7368883169333129279?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/7368883169333129279?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/jRquYpQ6LBQ/how-to-deploy-with-mercurial-aka-hg-on.html" title="How to deploy with Mercurial aka HG on rails3.1" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/12/how-to-deploy-with-mercurial-aka-hg-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADQ3o7eip7ImA9WhdWEU4.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-5685956847139999022</id><published>2011-09-04T03:19:00.000-07:00</published><updated>2011-09-04T03:22:52.402-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-04T03:22:52.402-07:00</app:edited><title>How to solve: This Terminal Emulator is not functional because no 'bash' shell could be found in Aptana Studio 3</title><content type="html">This Terminal Emulator is not functional because no 'bash' shell could be found. 
&lt;br /&gt;Please correct the problem and restart the IDE.
&lt;br /&gt;
&lt;br /&gt;&lt;h3&gt;Info&lt;/h3&gt;
&lt;br /&gt;Let's see the Aptana's Studio 3 log file. 
&lt;br /&gt;&lt;blockquote&gt;
&lt;br /&gt;java.io.IOException: Cannot run program "/opt/Aptana Studio 3/plugins/com.aptana.terminal_3.0.0.1310755723/os/linux/x86/redtty" 
&lt;br /&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;h3&gt;Solution&lt;/h3&gt;
&lt;br /&gt;
&lt;br /&gt;chmod +x "/opt/Aptana Studio 3/plugins/com.aptana.terminal_3.0.0.1310755723/os/linux/x86/redtty"
&lt;br /&gt;
&lt;br /&gt;Then File -&gt; Restart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-5685956847139999022?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1d2TxaCCS4KJM0VnaSQtRNC3PYo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1d2TxaCCS4KJM0VnaSQtRNC3PYo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1d2TxaCCS4KJM0VnaSQtRNC3PYo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1d2TxaCCS4KJM0VnaSQtRNC3PYo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/jfKbWikfZ-s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/5685956847139999022/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/09/how-to-solve-this-terminal-emulator-is.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/5685956847139999022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/5685956847139999022?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/jfKbWikfZ-s/how-to-solve-this-terminal-emulator-is.html" title="How to solve: This Terminal Emulator is not functional because no 'bash' shell could be found in Aptana Studio 3" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/09/how-to-solve-this-terminal-emulator-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIEQHo6cSp7ImA9WhdSEEU.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-590815146884026450</id><published>2011-07-19T07:28:00.001-07:00</published><updated>2011-07-19T07:41:41.419-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-19T07:41:41.419-07:00</app:edited><title>How to search for a particular word in SQLite database</title><content type="html">I have written simple python script that looks through SQLite database &lt;br /&gt;for any entry occurrence in any table in any column.&lt;br /&gt;&lt;a href="http://pastebin.com/5hS3RmP6"&gt;Here it is&lt;/a&gt;&lt;p&gt;If you have any questions, please leave your comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-590815146884026450?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xPce1JGkOnwtudO8y7VLbxC0stE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xPce1JGkOnwtudO8y7VLbxC0stE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xPce1JGkOnwtudO8y7VLbxC0stE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xPce1JGkOnwtudO8y7VLbxC0stE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/a57Wjh0rOoc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/590815146884026450/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/how-to-search-for-particular-word-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/590815146884026450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/590815146884026450?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/a57Wjh0rOoc/how-to-search-for-particular-word-in.html" title="How to search for a particular word in SQLite database" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/how-to-search-for-particular-word-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAMQHk9cCp7ImA9WhdTGUw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-2335518201747570248</id><published>2011-07-17T06:35:00.000-07:00</published><updated>2011-07-17T07:26:21.768-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-17T07:26:21.768-07:00</app:edited><title>How to build html-tables on the fly</title><content type="html">Now we're going to discuss how to build html tables from JSON response.&lt;br /&gt;&lt;br /&gt;First we need library that can easily handle JSON. For instance, JQuery.&lt;br /&gt;Suppose, we have included core JQuery library.&lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://pastebin.com/L4ysKG5b" target="_blank"&gt;htmltable.js&lt;/a&gt;&lt;br /&gt;Now all that we need is just to include that htmltable.js file and load any JSON like &lt;a href="http://pastebin.com/yNFBJpxW"&gt;that&lt;/a&gt;:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;function dynamicTable(URL, id){&lt;br /&gt;    url = URL + '?id=' + id&lt;br /&gt;    &lt;br /&gt;    $.getJSON(url, function(data) {&lt;br /&gt;        captions = {'code':'Code','descr':{'content':'Description','attr': 'style="width: 800px"'}}&lt;br /&gt;        html_table = build_table(data, captions);&lt;br /&gt;        $('#anyDivId').html(html_table);&lt;br /&gt;    });&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-2335518201747570248?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CG44hDou9wQAGer06G08YQG0j98/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CG44hDou9wQAGer06G08YQG0j98/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CG44hDou9wQAGer06G08YQG0j98/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CG44hDou9wQAGer06G08YQG0j98/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/4I4Y6t9Uxc4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/2335518201747570248/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/how-to-build-html-tables-on-fly.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/2335518201747570248?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/2335518201747570248?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/4I4Y6t9Uxc4/how-to-build-html-tables-on-fly.html" title="How to build html-tables on the fly" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/how-to-build-html-tables-on-fly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MFQng8fCp7ImA9WhdTFU0.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-6877749339853049874</id><published>2011-07-12T13:09:00.001-07:00</published><updated>2011-07-12T13:10:13.674-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-12T13:10:13.674-07:00</app:edited><title>Ancient Mysteries - Nazca Lines</title><content type="html">&lt;iframe width="425" height="349" src="http://www.youtube.com/embed/I5q-T8PJu2c" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-6877749339853049874?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tg4gZqjItunvSVtwPDIncJRj7zk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tg4gZqjItunvSVtwPDIncJRj7zk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tg4gZqjItunvSVtwPDIncJRj7zk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tg4gZqjItunvSVtwPDIncJRj7zk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/H1O743sE3_M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/6877749339853049874/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/ancient-mysteries-nazca-lines.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6877749339853049874?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6877749339853049874?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/H1O743sE3_M/ancient-mysteries-nazca-lines.html" title="Ancient Mysteries - Nazca Lines" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/I5q-T8PJu2c/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/ancient-mysteries-nazca-lines.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEACR347fSp7ImA9WhZaGUo.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-3156951299629005809</id><published>2011-07-06T11:26:00.001-07:00</published><updated>2011-07-06T11:26:06.005-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-06T11:26:06.005-07:00</app:edited><title>How to install pysqlite (python sqlite binding interface) on Ubuntu Linux</title><content type="html">First you need development libraries:&lt;p&gt;$ sudo apt-get install libsqlite3-dev&lt;p&gt;Then you have to download pysqlite files from &lt;a href="http://code.google.com/p/pysqlite/"&gt;http://code.google.com/p/pysqlite/&lt;/a&gt;&lt;br&gt;Next steps are usual: unpack and change dir&lt;p&gt;After that run (you should have gcc - GNU C compiler - of course):&lt;p&gt;$ python setup.py build&lt;p&gt;After compilation runs successfully you are able to install pysqlite with:&lt;p&gt;$ sudo python setup.py install&lt;p&gt;That&amp;#39;s all&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-3156951299629005809?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Hv71hT4eF3omdU7di0PIblLZJMk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Hv71hT4eF3omdU7di0PIblLZJMk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Hv71hT4eF3omdU7di0PIblLZJMk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Hv71hT4eF3omdU7di0PIblLZJMk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/ODiyd09YHZ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/3156951299629005809/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/how-to-install-pysqlite-python-sqlite.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3156951299629005809?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3156951299629005809?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/ODiyd09YHZ4/how-to-install-pysqlite-python-sqlite.html" title="How to install pysqlite (python sqlite binding interface) on Ubuntu Linux" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/how-to-install-pysqlite-python-sqlite.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcGRHc_eyp7ImA9WhZaGEs.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-1656248232438610755</id><published>2011-07-05T04:40:00.001-07:00</published><updated>2011-07-05T04:40:25.943-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-05T04:40:25.943-07:00</app:edited><title>How to resize many images by extension at once (Linux, Unix)</title><content type="html">First you need to install ImageMagick.&lt;p&gt;Then just change dir and type:&lt;p&gt;$ mogrify -resize 2048x1536 *.jpg&lt;p&gt;Where 2048x1536 is new size of all images with .jpg extension.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-1656248232438610755?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AFCyZiYeSi28N4xD10GqKf01W94/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AFCyZiYeSi28N4xD10GqKf01W94/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AFCyZiYeSi28N4xD10GqKf01W94/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AFCyZiYeSi28N4xD10GqKf01W94/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/59scP3PN9Ok" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/1656248232438610755/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/how-to-resize-many-images-by-extension.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/1656248232438610755?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/1656248232438610755?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/59scP3PN9Ok/how-to-resize-many-images-by-extension.html" title="How to resize many images by extension at once (Linux, Unix)" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/how-to-resize-many-images-by-extension.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQMSXg9eCp7ImA9WhZaGEw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-6832621742802128238</id><published>2011-07-04T14:19:00.001-07:00</published><updated>2011-07-04T14:19:48.660-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T14:19:48.660-07:00</app:edited><title>How to install MySQLdb on Ubuntu Linux</title><content type="html">Many python frameworks like web.py require MySQLdb.&lt;p&gt;Here is how I installed it.&lt;p&gt;Firstly,&lt;br&gt;sudo apt-get install libmysqlclient-dev python2.6-dev&lt;br&gt;then&lt;br&gt;sudo easy_install MySQL-python&lt;p&gt;&lt;br&gt;or download from &lt;a href="http://sourceforge.net/projects/mysql-python/"&gt;http://sourceforge.net/projects/mysql-python/&lt;/a&gt;&lt;p&gt;extract archive and change dir then&lt;p&gt;python setup.py build&lt;br&gt;sudo python setup.py install&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-6832621742802128238?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EKA56jN-4VhgUA-nXCaKS-TgA0k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EKA56jN-4VhgUA-nXCaKS-TgA0k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EKA56jN-4VhgUA-nXCaKS-TgA0k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EKA56jN-4VhgUA-nXCaKS-TgA0k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/D3lR89RnO1c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/6832621742802128238/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/how-to-install-mysqldb-on-ubuntu-linux.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6832621742802128238?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6832621742802128238?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/D3lR89RnO1c/how-to-install-mysqldb-on-ubuntu-linux.html" title="How to install MySQLdb on Ubuntu Linux" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/how-to-install-mysqldb-on-ubuntu-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQCQnk5eyp7ImA9WhZaF08.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-607989167781381466</id><published>2011-07-03T13:02:00.001-07:00</published><updated>2011-07-03T13:02:43.723-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-03T13:02:43.723-07:00</app:edited><title>Simple optical illusion</title><content type="html">&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/-38WR29nNkLI/ThDK43cuRMI/AAAAAAAAB5w/1bXJlcUhPeA/s1600/illusion-763724.png"&gt;&lt;img src="http://4.bp.blogspot.com/-38WR29nNkLI/ThDK43cuRMI/AAAAAAAAB5w/1bXJlcUhPeA/s320/illusion-763724.png"  border="0" alt="" id="BLOGGER_PHOTO_ID_5625219012891657410" /&gt;&lt;/a&gt;&lt;/p&gt;On this image all lines *are* parallel. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-607989167781381466?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L62h2Qlhms9jzZ3AtB8-mkLkyWg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L62h2Qlhms9jzZ3AtB8-mkLkyWg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L62h2Qlhms9jzZ3AtB8-mkLkyWg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L62h2Qlhms9jzZ3AtB8-mkLkyWg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/l5XNt2bdM44" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/607989167781381466/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/07/simple-optical-illusion.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/607989167781381466?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/607989167781381466?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/l5XNt2bdM44/simple-optical-illusion.html" title="Simple optical illusion" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-38WR29nNkLI/ThDK43cuRMI/AAAAAAAAB5w/1bXJlcUhPeA/s72-c/illusion-763724.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/07/simple-optical-illusion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCRHkzeyp7ImA9WhZaGEw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-2091863964085476937</id><published>2011-06-18T08:27:00.000-07:00</published><updated>2011-07-04T14:21:05.783-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T14:21:05.783-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Simple php cache v2</title><content type="html">Here is more convenient version.&lt;br /&gt;&lt;br /&gt;Use it like this&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$cached_obj = new SimpleCache('file_to_save_in');&lt;br /&gt;&lt;br /&gt;if (!$obj=$cached_obj-&gt;retrieve()) {&lt;br /&gt;    $obj = long_calculation(); //or any other function&lt;br /&gt;    $cached_obj-&gt;save($obj);&lt;br /&gt;}&lt;br /&gt;echo $obj;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;SimpleCache class listed below&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;class SimpleCache&lt;br /&gt;{&lt;br /&gt;    //@author allez&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;        //how to use it&lt;br /&gt;        $cached_obj = new SimpleCache('cache_identifier');&lt;br /&gt;&lt;br /&gt;        if (!$obj=$cached_obj-&gt;retrieve()) {&lt;br /&gt;            $obj = main(); //or any other function&lt;br /&gt;            $cached_obj-&gt;save($obj);&lt;br /&gt;        }&lt;br /&gt;        return $obj;&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;    //max cache life time in seconds&lt;br /&gt;    const max_time = 1800;&lt;br /&gt;    //folder to save your cache&lt;br /&gt;    const temp_folder = '/tmp';&lt;br /&gt;&lt;br /&gt;    // File name of cached contents&lt;br /&gt;    private $fname;&lt;br /&gt;&lt;br /&gt;    public function __construct($name)&lt;br /&gt;    {&lt;br /&gt;        $this-&gt;name = $name;&lt;br /&gt;        $this-&gt;fname = $name . '.cache';&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function outdated()&lt;br /&gt;    {&lt;br /&gt;        if (!file_exists($this-&gt;fname)) return true;&lt;br /&gt;        $simpleCache_time = filemtime($this-&gt;fname);&lt;br /&gt;        if (SimpleCache::max_time + $simpleCache_time &lt; time()) return true;&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function retrieve()&lt;br /&gt;    {&lt;br /&gt;        if ($this-&gt;outdated()) return false;&lt;br /&gt;        $simpleCache_contents = file_get_contents($this-&gt;fname);&lt;br /&gt;        return unserialize($simpleCache_contents);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function save($cached_list)&lt;br /&gt;    {&lt;br /&gt;        $cf = fopen(SimpleCache::temp_folder .'/'. $this-&gt;fname, 'w') OR die('Can not save '. $this-&gt;fname);&lt;br /&gt;        fputs($cf, serialize($cached_list));&lt;br /&gt;        fclose($cf);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function clean()&lt;br /&gt;    {&lt;br /&gt;        if(file_exists($this-&gt;fname)) unlink($this-&gt;fname);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-2091863964085476937?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Cp97H7ofVBR9JHY5xl_g40qZvqE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cp97H7ofVBR9JHY5xl_g40qZvqE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Cp97H7ofVBR9JHY5xl_g40qZvqE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cp97H7ofVBR9JHY5xl_g40qZvqE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/2iCdeuDzVSw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/2091863964085476937/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/06/simple-php-cache-v2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/2091863964085476937?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/2091863964085476937?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/2iCdeuDzVSw/simple-php-cache-v2.html" title="Simple php cache v2" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/06/simple-php-cache-v2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCRHkzfCp7ImA9WhZaGEw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-8209370543748569378</id><published>2011-06-18T08:09:00.000-07:00</published><updated>2011-07-04T14:21:05.784-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T14:21:05.784-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Simple php cache implementation</title><content type="html">Sometimes you just need cache to save your valuable processor time. Here is simplified basement for your application.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;class SimpleCache&lt;br /&gt;{&lt;br /&gt;    //@author allez&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;        //how to use it&lt;br /&gt;        $cached_obj = new SimpleCache('storage_name');&lt;br /&gt;&lt;br /&gt;        if ($cached_obj-&gt;outdated()) {&lt;br /&gt;            $obj = main(); //or any other function&lt;br /&gt;            //$cached_obj-&gt;clean(); //purge cache if necessary&lt;br /&gt;            $cached_obj-&gt;save($obj);&lt;br /&gt;            echo $obj;&lt;br /&gt;        } else {&lt;br /&gt;            echo $cached_obj-&gt;retrieve();&lt;br /&gt;        }&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;    //max cache life time in seconds&lt;br /&gt;    const max_time = 1800;&lt;br /&gt;    //folder to save your cache&lt;br /&gt;    const temp_folder = '/tmp';&lt;br /&gt;&lt;br /&gt;    // File name of cached contents&lt;br /&gt;    private $fname;&lt;br /&gt;&lt;br /&gt;    public function __construct($name)&lt;br /&gt;    {&lt;br /&gt;        $this-&gt;name = $name;&lt;br /&gt;        $this-&gt;fname = $name . '.cache';&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function outdated()&lt;br /&gt;    {&lt;br /&gt;        if (!file_exists($this-&gt;fname)) return true;&lt;br /&gt;        $simpleCache_time = filemtime($this-&gt;fname);&lt;br /&gt;        if (SimpleCache::max_time + $simpleCache_time &lt; time()) return true;&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function retrieve()&lt;br /&gt;    {&lt;br /&gt;        if ($this-&gt;outdated()) throw new Exception('Cache is outdated');&lt;br /&gt;        $simpleCache_contents = file_get_contents($this-&gt;fname);&lt;br /&gt;        return unserialize($simpleCache_contents);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function save($cached_list)&lt;br /&gt;    {&lt;br /&gt;        $cf = fopen(SimpleCache::temp_folder .'/'. $this-&gt;fname, 'w') OR die('Can not save '. $this-&gt;fname);&lt;br /&gt;        fputs($cf, serialize($cached_list));&lt;br /&gt;        fclose($cf);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function clean()&lt;br /&gt;    {&lt;br /&gt;        if(file_exists($this-&gt;fname)) unlink($this-&gt;fname);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-8209370543748569378?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aXpBQndBc4akfKp-D-ajHH6E1ms/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aXpBQndBc4akfKp-D-ajHH6E1ms/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aXpBQndBc4akfKp-D-ajHH6E1ms/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aXpBQndBc4akfKp-D-ajHH6E1ms/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/UDJbWKZ5kmc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/8209370543748569378/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/06/simple-php-cache-implementation.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/8209370543748569378?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/8209370543748569378?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/UDJbWKZ5kmc/simple-php-cache-implementation.html" title="Simple php cache implementation" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/06/simple-php-cache-implementation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCRHkzfCp7ImA9WhZaGEw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-699005226375563227</id><published>2011-06-02T07:22:00.001-07:00</published><updated>2011-07-04T14:21:05.784-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T14:21:05.784-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Change encoding from windows-1251 (cp-1251) to Unicode (UTF-8) quickly</title><content type="html">Sometimes it is easier to write your own script than to find what you need in the Internet. I guess that something like file_save_contents already exists but do I need to waste my time now?&lt;br /&gt;&lt;p&gt;&lt;br /&gt;THE SCRIPT IS:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;#!/usr/bin/env php&lt;br /&gt;&amp;lt;?php&lt;br /&gt;//@author allez&lt;br /&gt;define('INFO', "\n\n". $_SERVER['argv'][0] ." file/dir1 [file/dir1 ...]&lt;br /&gt;Changes encoding from cp1251 to utf8 in all listed files and directories.&lt;br /&gt;Use * to list all the files in directory\n\n");&lt;/p&gt;&lt;p&gt;function file_save_contents($con, $location)&lt;br /&gt;{&lt;br /&gt; $f = fopen($location, 'w') OR die("can not modify $location\n");&lt;br /&gt; fputs($f, $con);&lt;br /&gt; fclose($f);&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;function process($fname)&lt;br /&gt;{&lt;br /&gt; print "Changing $fname\n";&lt;/p&gt;&lt;p&gt;    $a = file_get_contents($fname);&lt;/p&gt;&lt;p&gt;    $a = iconv('cp1251', 'utf8', $a);&lt;br /&gt; file_save_contents($a, $fname);&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;function process_dir($dn)&lt;br /&gt;{&lt;br /&gt; $dr = opendir($dn);&lt;br /&gt; while($a = readdir($dr))&lt;br /&gt; {&lt;br /&gt;     if ($a[0] != '.') {&lt;br /&gt;         $tname = "$dn/$a";&lt;br /&gt;         if(is_dir($tname)) process_dir($tname);&lt;br /&gt;         else process($tname);&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt; closedir($dr);&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;function main()&lt;br /&gt;{&lt;br /&gt; if (count($_SERVER['argv']) == 1) print INFO;&lt;br /&gt; else foreach($_SERVER['argv'] as $key =&amp;gt; $val)&lt;br /&gt; {&lt;br /&gt;     if($key &amp;gt; 0) {&lt;br /&gt;         try {&lt;br /&gt;             if (is_dir($val)) {&lt;br /&gt;                 process_dir($val);&lt;br /&gt;             }&lt;br /&gt;             else {&lt;br /&gt;                 process($val);&lt;br /&gt;             }&lt;br /&gt;         } catch (Exception $e) {&lt;br /&gt;             print $e();&lt;br /&gt;         }&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;main();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;//P.S. Do not forget to chmod +x &amp;lt;scriptname&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-699005226375563227?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WVwnjlay8xJaWv_HEuMLepGqTZc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WVwnjlay8xJaWv_HEuMLepGqTZc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WVwnjlay8xJaWv_HEuMLepGqTZc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WVwnjlay8xJaWv_HEuMLepGqTZc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/Q-xjqRoKoxo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/699005226375563227/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/06/change-encoding-from-windows-1251-cp.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/699005226375563227?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/699005226375563227?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/Q-xjqRoKoxo/change-encoding-from-windows-1251-cp.html" title="Change encoding from windows-1251 (cp-1251) to Unicode (UTF-8) quickly" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/06/change-encoding-from-windows-1251-cp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYCQHk_cCp7ImA9WhZQF00.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-5685059125781152492</id><published>2011-04-24T21:35:00.000-07:00</published><updated>2011-04-24T21:36:01.748-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-24T21:36:01.748-07:00</app:edited><title>Requiem for a Dream</title><content type="html">How about remake of &amp;#39;Requiem for a Dream&amp;#39; movie? But instead of TV and/or drugs there should be social media present.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-5685059125781152492?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9VAkCixZ9fV2EHWbTwUtMuDdQsE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9VAkCixZ9fV2EHWbTwUtMuDdQsE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9VAkCixZ9fV2EHWbTwUtMuDdQsE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9VAkCixZ9fV2EHWbTwUtMuDdQsE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/UmVz8rSQcgU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/5685059125781152492/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/04/requiem-for-dream.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/5685059125781152492?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/5685059125781152492?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/UmVz8rSQcgU/requiem-for-dream.html" title="Requiem for a Dream" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/04/requiem-for-dream.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CRHkyeip7ImA9WhZTEUQ.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-4301795576416846362</id><published>2011-03-15T06:12:00.001-07:00</published><updated>2011-03-15T06:14:25.792-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-15T06:14:25.792-07:00</app:edited><title>Google science</title><content type="html">&lt;object width="320" height="195"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Z7oJfK4E7RY&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;version=3"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Z7oJfK4E7RY&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="320" height="195"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-4301795576416846362?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DsfRIo9oxcGXq8C1skX3y6tv9AI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DsfRIo9oxcGXq8C1skX3y6tv9AI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DsfRIo9oxcGXq8C1skX3y6tv9AI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DsfRIo9oxcGXq8C1skX3y6tv9AI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/sOP6F5MZirY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/4301795576416846362/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/03/google-science.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/4301795576416846362?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/4301795576416846362?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/sOP6F5MZirY/google-science.html" title="Google science" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/03/google-science.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIFR3c7eCp7ImA9WhZaGEw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-1107599574784577488</id><published>2011-02-15T09:57:00.000-08:00</published><updated>2011-07-04T14:21:56.900-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T14:21:56.900-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ruby" /><title>Python vs. Ruby (Dice throwing again)</title><content type="html">Referring to the August post, I must say that Python is as object oriented as Ruby is. It has similar syntax.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Python&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env python&lt;br /&gt;&lt;br /&gt;from random import random&lt;br /&gt;&lt;br /&gt;def b():&lt;br /&gt;&amp;nbsp;&amp;nbsp;a = int(random() * 6)&lt;br /&gt;&amp;nbsp;&amp;nbsp;print a&lt;br /&gt;&lt;br /&gt;for i in range(15) : b()&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ruby&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env ruby&lt;br /&gt;&lt;br /&gt;def b&lt;br /&gt;a = rand(6) + 1&lt;br /&gt;puts a&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;15.times do&lt;br /&gt;b&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-1107599574784577488?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6W5KaZn0hN9iu2KQTNwsMptsB90/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6W5KaZn0hN9iu2KQTNwsMptsB90/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6W5KaZn0hN9iu2KQTNwsMptsB90/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6W5KaZn0hN9iu2KQTNwsMptsB90/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/Ayf3KIrYH5c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/1107599574784577488/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2011/02/python-vs-ruby-vs-php-dice-throwing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/1107599574784577488?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/1107599574784577488?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/Ayf3KIrYH5c/python-vs-ruby-vs-php-dice-throwing.html" title="Python vs. Ruby (Dice throwing again)" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2011/02/python-vs-ruby-vs-php-dice-throwing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4DQXo-fip7ImA9Wx5aF0o.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-3816542615153390900</id><published>2010-11-14T13:42:00.001-08:00</published><updated>2010-11-14T13:42:50.456-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-14T13:42:50.456-08:00</app:edited><title>As we know...</title><content type="html">As we know,&lt;br&gt;There are known knowns.&lt;br&gt;There are things we know we know.&lt;br&gt;We also know&lt;br&gt;There are known unknowns.&lt;br&gt;That is to say&lt;br&gt;We know there are some things&lt;br&gt;We do not know.&lt;br&gt;But there are also unknown unknowns,&lt;br&gt;The ones we don&amp;#39;t know&lt;br&gt;We don&amp;#39;t know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-3816542615153390900?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NSevGZBiJHuJVB3HgotzsydCmUw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NSevGZBiJHuJVB3HgotzsydCmUw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NSevGZBiJHuJVB3HgotzsydCmUw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NSevGZBiJHuJVB3HgotzsydCmUw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/CfSYJYWRJYs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/3816542615153390900/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/11/as-we-know.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3816542615153390900?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3816542615153390900?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/CfSYJYWRJYs/as-we-know.html" title="As we know..." /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/11/as-we-know.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEICRnwzcCp7ImA9Wx5aFE0.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-3050608910900505756</id><published>2010-11-10T08:29:00.001-08:00</published><updated>2010-11-10T08:29:27.288-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-10T08:29:27.288-08:00</app:edited><title>Model</title><content type="html">In the most general sense, a model is anything used in any way to represent anything else.&lt;br&gt;(from encyclopaedia)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-3050608910900505756?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wBnDlthRUh1tkkb7BdzJYcCWHg8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wBnDlthRUh1tkkb7BdzJYcCWHg8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wBnDlthRUh1tkkb7BdzJYcCWHg8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wBnDlthRUh1tkkb7BdzJYcCWHg8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/J6kCPe513Ag" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/3050608910900505756/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/11/model.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3050608910900505756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3050608910900505756?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/J6kCPe513Ag/model.html" title="Model" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/11/model.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEESXc9fSp7ImA9Wx5QFk0.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-8915475113815570526</id><published>2010-09-04T04:55:00.001-07:00</published><updated>2010-09-04T05:33:28.965-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-04T05:33:28.965-07:00</app:edited><title>Weird a bit</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7kS4UtSjOaw/TII74i2h9aI/AAAAAAAABNI/t4cGJxV1VPc/s1600/000.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/TII74i2h9aI/AAAAAAAABNI/t4cGJxV1VPc/s320/000.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5513034736469144994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kS4UtSjOaw/TII7fyYrpXI/AAAAAAAABNA/dwV3SMQugDo/s1600/000_.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_7kS4UtSjOaw/TII7fyYrpXI/AAAAAAAABNA/dwV3SMQugDo/s320/000_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5513034311142188402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kS4UtSjOaw/TII7OVyEgmI/AAAAAAAABM4/hEr5itMjU5U/s1600/001.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_7kS4UtSjOaw/TII7OVyEgmI/AAAAAAAABM4/hEr5itMjU5U/s320/001.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5513034011406271074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kS4UtSjOaw/TII6mqTqL2I/AAAAAAAABMo/3eKmGTP1kgs/s1600/002.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_7kS4UtSjOaw/TII6mqTqL2I/AAAAAAAABMo/3eKmGTP1kgs/s320/002.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5513033329721093986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kS4UtSjOaw/TII6XV-Tc4I/AAAAAAAABMg/qjDzkAOe9Ek/s1600/003.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_7kS4UtSjOaw/TII6XV-Tc4I/AAAAAAAABMg/qjDzkAOe9Ek/s320/003.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5513033066564776834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7kS4UtSjOaw/TII0wOL3B-I/AAAAAAAABMI/5ohinbKyur4/s1600/004.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/TII0wOL3B-I/AAAAAAAABMI/5ohinbKyur4/s320/004.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5513026896901113826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kS4UtSjOaw/TII0v6TGxRI/AAAAAAAABMA/20_VZV3KkC8/s1600/005.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_7kS4UtSjOaw/TII0v6TGxRI/AAAAAAAABMA/20_VZV3KkC8/s320/005.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5513026891562796306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kS4UtSjOaw/TII0vrOOYwI/AAAAAAAABL4/sLzz3T2fhW8/s1600/006.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_7kS4UtSjOaw/TII0vrOOYwI/AAAAAAAABL4/sLzz3T2fhW8/s320/006.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5513026887515792130" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-8915475113815570526?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/33NCzVIAaNsL8SF03fu6zW8AZUU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/33NCzVIAaNsL8SF03fu6zW8AZUU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/33NCzVIAaNsL8SF03fu6zW8AZUU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/33NCzVIAaNsL8SF03fu6zW8AZUU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/pyX_BSJruk0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/8915475113815570526/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/09/weird-bit.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/8915475113815570526?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/8915475113815570526?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/pyX_BSJruk0/weird-bit.html" title="Weird a bit" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_7kS4UtSjOaw/TII74i2h9aI/AAAAAAAABNI/t4cGJxV1VPc/s72-c/000.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/09/weird-bit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDSXk5eip7ImA9Wx5RGEk.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-1416065677060203628</id><published>2010-08-26T09:41:00.001-07:00</published><updated>2010-08-26T11:47:58.722-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-26T11:47:58.722-07:00</app:edited><title>The Highest Peak in Ukraine: Photos</title><content type="html">&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_7kS4UtSjOaw/THaZTQCNBPI/AAAAAAAABLU/XB1DuPBOzcw/s1600/DSC02027-709243.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_7kS4UtSjOaw/THaZTQCNBPI/AAAAAAAABLU/XB1DuPBOzcw/s320/DSC02027-709243.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5509759750135153906" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_7kS4UtSjOaw/THaZTHSNZjI/AAAAAAAABLM/PYRjGyF76mI/s1600/DSC02047-707710.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_7kS4UtSjOaw/THaZTHSNZjI/AAAAAAAABLM/PYRjGyF76mI/s320/DSC02047-707710.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5509759747786368562" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_7kS4UtSjOaw/THaZRyapqVI/AAAAAAAABK0/_II_cJMx0jI/s1600/DSC02034-702735.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_7kS4UtSjOaw/THaZRyapqVI/AAAAAAAABK0/_II_cJMx0jI/s320/DSC02034-702735.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5509759725004761426" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_7kS4UtSjOaw/THaZSQu8TbI/AAAAAAAABK8/MEuSBnQp8R4/s1600/DSC02039-704536.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_7kS4UtSjOaw/THaZSQu8TbI/AAAAAAAABK8/MEuSBnQp8R4/s320/DSC02039-704536.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5509759733142932914" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_7kS4UtSjOaw/THaZSpFcdvI/AAAAAAAABLE/ZX_l8wRguyM/s1600/DSC02037-706362.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_7kS4UtSjOaw/THaZSpFcdvI/AAAAAAAABLE/ZX_l8wRguyM/s320/DSC02037-706362.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5509759739679766258" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Hoverla (2061 m) is the highest mountain in Ukraine. Here I have spent Ukrainian Independence Day (August 24, 2010).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-1416065677060203628?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BKbhKfwJMKV5kcKIC-CuMdBTBO8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BKbhKfwJMKV5kcKIC-CuMdBTBO8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BKbhKfwJMKV5kcKIC-CuMdBTBO8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BKbhKfwJMKV5kcKIC-CuMdBTBO8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/UeLQfUWyLD0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/1416065677060203628/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/08/highest-peak-in-ukraine-photos.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/1416065677060203628?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/1416065677060203628?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/UeLQfUWyLD0/highest-peak-in-ukraine-photos.html" title="The Highest Peak in Ukraine: Photos" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7kS4UtSjOaw/THaZTQCNBPI/AAAAAAAABLU/XB1DuPBOzcw/s72-c/DSC02027-709243.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/08/highest-peak-in-ukraine-photos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcAQXgycSp7ImA9Wx5SGEQ.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-3544781055671633982</id><published>2010-08-15T09:34:00.000-07:00</published><updated>2010-08-15T09:34:00.699-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T09:34:00.699-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="useful" /><category scheme="http://www.blogger.com/atom/ns#" term="bookmarks" /><title>Open books - free ebooks about computers and programming</title><content type="html">&lt;a href="http://oreilly.com/openbook/"&gt;O'Reilly open books&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.galileocomputing.de/openbook"&gt;Galileo open books&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-3544781055671633982?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vwRd71frqu4umBFPggNV9p9af1E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vwRd71frqu4umBFPggNV9p9af1E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vwRd71frqu4umBFPggNV9p9af1E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vwRd71frqu4umBFPggNV9p9af1E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/U_c9KC1_T5w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/3544781055671633982/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/08/open-books-free-ebooks-about-computers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3544781055671633982?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/3544781055671633982?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/U_c9KC1_T5w/open-books-free-ebooks-about-computers.html" title="Open books - free ebooks about computers and programming" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/08/open-books-free-ebooks-about-computers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCRHkzfSp7ImA9WhZaGEw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-4996657321765382175</id><published>2010-08-02T04:39:00.000-07:00</published><updated>2011-07-04T14:21:05.785-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T14:21:05.785-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="technology" /><category scheme="http://www.blogger.com/atom/ns#" term="miscellanea" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Ruby vs. PHP (throwing dice sample)</title><content type="html">I am not yet a guru, but it is not hard to see the profit&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ruby&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env ruby&lt;br /&gt;&lt;br /&gt;def b&lt;br /&gt;  a = rand(6) + 1&lt;br /&gt;  puts a&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;15.times do&lt;br /&gt;  b&lt;br /&gt;end  &lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PHP&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env php&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;  &lt;br /&gt;function b()&lt;br /&gt;{&lt;br /&gt;  $a = rand(1, 6);&lt;br /&gt;  echo "$a\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for ($i = 0; $i &lt; 15; ++$i) {&lt;br /&gt;  b();&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Both codes above print out throwing 15 dice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-4996657321765382175?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oCfR2_MQaVKl352JEAbcYcrmPss/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oCfR2_MQaVKl352JEAbcYcrmPss/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oCfR2_MQaVKl352JEAbcYcrmPss/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oCfR2_MQaVKl352JEAbcYcrmPss/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/RXVHl9n5988" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/4996657321765382175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/08/ruby-vs-php.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/4996657321765382175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/4996657321765382175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/RXVHl9n5988/ruby-vs-php.html" title="Ruby vs. PHP (throwing dice sample)" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/08/ruby-vs-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8DRXw-fyp7ImA9Wx5TFUw.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-6534587602582635387</id><published>2010-07-31T06:02:00.000-07:00</published><updated>2010-07-30T12:24:34.257-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-30T12:24:34.257-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="lost phone" /><title>Tip: What to do if your phone is stolen?</title><content type="html">Sometimes you might find your phone is not in the right place. Maybe it is lost? &lt;br /&gt;What to do with files that might have trapped not in the right hands.&lt;br /&gt;&lt;br /&gt;But don't panic! Here is simple solution.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="289"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8DntSjpgRPo&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8DntSjpgRPo&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="289"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;You can download it &lt;a href="http://www.f-secure.com/en_EMEA/products/mobile/anti-theft-download/anti-theft-download.html" target="_blank"&gt;here&lt;/a&gt; or visit home page of the &lt;a href="http://www.f-secure.com/" target="_blank"&gt;official site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-6534587602582635387?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KKni3DE_Ap1d8P7uviiL3v-aLYU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KKni3DE_Ap1d8P7uviiL3v-aLYU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KKni3DE_Ap1d8P7uviiL3v-aLYU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KKni3DE_Ap1d8P7uviiL3v-aLYU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/dfWUUk3AwOs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/6534587602582635387/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/07/tip-what-to-do-if-your-phone-is-stolen.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6534587602582635387?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6534587602582635387?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/dfWUUk3AwOs/tip-what-to-do-if-your-phone-is-stolen.html" title="Tip: What to do if your phone is stolen?" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/07/tip-what-to-do-if-your-phone-is-stolen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAMRHo_fCp7ImA9Wx5TE0Q.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-6205995928659814108</id><published>2010-07-29T01:01:00.000-07:00</published><updated>2010-07-29T01:06:25.444-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-29T01:06:25.444-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="horror" /><title>A bit of horror</title><content type="html">Frankenstein-like film. But more horror.&lt;br /&gt;In short, don't watch that!&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZVfGNb7AdLI&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZVfGNb7AdLI&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-6205995928659814108?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9DLTr8nztIsYqDCEbsdiaeZbohM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9DLTr8nztIsYqDCEbsdiaeZbohM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9DLTr8nztIsYqDCEbsdiaeZbohM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9DLTr8nztIsYqDCEbsdiaeZbohM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/as_ucuOe-c0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/6205995928659814108/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/07/bit-of-horror.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6205995928659814108?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/6205995928659814108?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/as_ucuOe-c0/bit-of-horror.html" title="A bit of horror" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/07/bit-of-horror.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYAQXw9eyp7ImA9Wx5TE0k.&quot;"><id>tag:blogger.com,1999:blog-1960702959603539412.post-5640378390474502072</id><published>2010-07-28T12:59:00.000-07:00</published><updated>2010-07-28T12:59:00.263-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-28T12:59:00.263-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="psychology" /><category scheme="http://www.blogger.com/atom/ns#" term="psycho activity" /><category scheme="http://www.blogger.com/atom/ns#" term="obsessive ideas" /><category scheme="http://www.blogger.com/atom/ns#" term="human" /><title>Obsessive ideas</title><content type="html">I like watching display of electronic watch when seconds change minutes, minutes change hours.&lt;br /&gt;&lt;br /&gt;There are many kinds of obsessive ideas. I.e., when you go somewhere trying counting and/or trapping right squares of tiles under your feet;&lt;br /&gt;when nothing is threatening your life and you try to change your movement according to bypassing cars and so on...&lt;br /&gt;&lt;br /&gt;Almost everyone had at least one obsessive idea in his/her live. Such kind of psycho activity was described in details by many of psychologists, particularly by Leonhard.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tPFQMRx2l3Y&amp;amp;hl=ru_RU&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tPFQMRx2l3Y&amp;amp;hl=ru_RU&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1960702959603539412-5640378390474502072?l=www.ravel.tk' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZXntcikZ1beEhOaqk_YGEMKMek0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZXntcikZ1beEhOaqk_YGEMKMek0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZXntcikZ1beEhOaqk_YGEMKMek0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZXntcikZ1beEhOaqk_YGEMKMek0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/VariousDirtyThings/~4/a_ewX8rndX4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.ravel.tk/feeds/5640378390474502072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.ravel.tk/2010/07/obsessive-ideas.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/5640378390474502072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1960702959603539412/posts/default/5640378390474502072?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VariousDirtyThings/~3/a_ewX8rndX4/obsessive-ideas.html" title="Obsessive ideas" /><author><name>Danko</name><uri>http://www.blogger.com/profile/00444096290612627712</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_7kS4UtSjOaw/SuLtGSlqOVI/AAAAAAAAAjQ/XazwQnPsLuw/S220/Clipboard012.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.ravel.tk/2010/07/obsessive-ideas.html</feedburner:origLink></entry></feed>

