<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7583029690072483259</id><updated>2024-09-19T14:48:18.409+03:00</updated><category term="ubuntu"/><category term="howto"/><category term="sysadmin"/><category term="books"/><category term="reading"/><category term="sci-fi"/><category term="raid"/><category term="greek"/><category term="gripes"/><category term="mysql"/><category term="windows"/><category term="audio"/><category term="django"/><category term="games"/><category term="gmail"/><category term="google"/><category term="iss"/><category term="javascript"/><category term="math"/><category term="online"/><category term="pdf"/><category term="print"/><category term="samba"/><category term="server"/><category term="sky"/><category term="ssh"/><category term="sudo"/><category term="tools"/><category term="twitter"/><category term="virtualbox"/><category term="vmware"/><title type='text'>stratosgear.com</title><subtitle type='html'>Δῶς μοι πᾶ στῶ καὶ τὰν γᾶν κινάσω!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stratosgear.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default?start-index=26&amp;max-results=25'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-6228115859885288530</id><published>2011-11-01T19:59:00.001+02:00</published><updated>2011-11-01T20:00:40.537+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="reading"/><category scheme="http://www.blogger.com/atom/ns#" term="sci-fi"/><title type='text'>Reading List: Ringworld</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;float: right;&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=eee&amp;amp;IS2=1&amp;amp;nou=1&amp;amp;bg1=eee&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=gt0ca-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0345333926&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
No wonder this has won both Hugo and Nebula awards in 1970/71.&lt;br /&gt;
&lt;br /&gt;
I was not very fond of Niven&#39;s&amp;nbsp;writing&amp;nbsp;style (this is the first &lt;a href=&quot;http://en.wikipedia.org/wiki/Larry_Niven&quot; target=&quot;_blank&quot;&gt;Larry Niven&lt;/a&gt; book I read) and maybe he used it for this book only. &amp;nbsp;The plot though was ingenious. &amp;nbsp;The idea of the Ringworld was very interesting. It kept me&amp;nbsp;entertained&amp;nbsp;from the&amp;nbsp;beginning&amp;nbsp;until the end.&lt;br /&gt;
&lt;br /&gt;
Highly recommended! :) &amp;nbsp;Read more about the plot on &lt;a href=&quot;http://en.wikipedia.org/wiki/Ringworld&quot; target=&quot;_blank&quot;&gt;wikipedia&lt;/a&gt;.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/6228115859885288530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/6228115859885288530'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/11/reading-list-ringworld.html' title='Reading List: Ringworld'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-5082210814379480054</id><published>2011-10-14T11:33:00.000+03:00</published><updated>2011-11-01T20:00:39.587+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="reading"/><category scheme="http://www.blogger.com/atom/ns#" term="sci-fi"/><title type='text'>Reading List: Time Enough for Love</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div height=&quot;240px&quot; style=&quot;float: right;&quot; width=&quot;120px&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;nou=1&amp;amp;bg1=eee&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=gt0ca-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0441810764&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;b&gt;Lazarus Long&lt;br /&gt;1916-4272&lt;/b&gt;&lt;br /&gt;
The capstone and crowning achievement of Heinlein&#39;s famous Future History, TIME ENOUGH FOR LOVE follows Lazarus Long through a vast and magnificent timescape of centuries and worlds. Heinlein&#39;s longest and most ambitious work, it is the story of a man so in love with Life that he refused to stop living it; and so in love with Time that he became his own ancestor&lt;/blockquote&gt;
&lt;div&gt;
&lt;i&gt;(From the books back cover)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
I think Heimlein is one of my favorite authors.  &quot;Time enough for Love&quot; was nominated for the Nebula Award for Best Novel (1973) and the Hugo and Locus Awards (1974) and although did not finally win, nonetheless it is quite an interesting read.&lt;br /&gt;
&lt;br /&gt;
As always, I cannot outdo the &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_Enough_for_Love&quot;&gt;Wikipedia article&lt;/a&gt;&amp;nbsp;on the book.&lt;/div&gt;
&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/5082210814379480054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/5082210814379480054'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/10/time-enough-for-love.html' title='Reading List: Time Enough for Love'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-2031462599877211952</id><published>2011-10-06T14:33:00.002+03:00</published><updated>2011-10-11T18:51:01.098+03:00</updated><title type='text'>Change the timezone in Ubuntu server</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Couldn&#39;t be easier:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-sh&quot;&gt;sudo dpkg-reconfigure tzdata
&lt;/pre&gt;
&lt;div&gt;
Then follow the text wizard.&lt;/div&gt;
&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/2031462599877211952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/2031462599877211952'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/10/change-timezone-in-ubuntu-server.html' title='Change the timezone in Ubuntu server'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-5744808794320212707</id><published>2011-09-03T22:11:00.001+03:00</published><updated>2011-09-03T22:13:27.097+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iss"/><category scheme="http://www.blogger.com/atom/ns#" term="sky"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><title type='text'>First International Space Station overhead pass</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6oXYa4006NLKAWzV28MFGTfpD9lRam_yZ1orByayqF5RvhtzvK64APuYpfdMaJfGigtmg_XAgeJK6Pb1gG03Y1tvaPA5NHeTz4OUGQIAo7DMKVA2xR6MZoGjykX-2bQozhtzC4fjGc6U/s1600/ISS.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6oXYa4006NLKAWzV28MFGTfpD9lRam_yZ1orByayqF5RvhtzvK64APuYpfdMaJfGigtmg_XAgeJK6Pb1gG03Y1tvaPA5NHeTz4OUGQIAo7DMKVA2xR6MZoGjykX-2bQozhtzC4fjGc6U/s1600/ISS.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Today I saw my first overhead pass of the &lt;a href=&quot;http://en.wikipedia.org/wiki/International_Space_Station&quot;&gt;ISS&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For some time I was registered to&amp;nbsp;&lt;a href=&quot;http://www.twisst.nl/&quot;&gt;Twisst&lt;/a&gt;&amp;nbsp;and I was receiving their notifications on Twitter but I never actually bothered to really look up and see the station fly overhead. &amp;nbsp;Well, in my defense, living in Athens, with all this light pollution you can barely see the sky and the stars, so I was waiting for the right opportunity before I actually tried.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So, today at 20:52 (right as Twisst predicted) I saw the ISS.  The brightness was supposed to be at a magnitude of -1.6 (I have no idea how bright that is) and I was wondering what was I was supposed to be looking at. &amp;nbsp;Suddenly, approximately where I was looking at, a very bright star appeared out of nowhere. &amp;nbsp;And I could see it with a naked eye.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
It was brighter than the other current stars I could see at the moment and it moved at a pretty high speed accross the sky. &amp;nbsp;It looked like an airplane was flying overhead, but at a quite fast pace. &amp;nbsp;The whole pass took approximately 5 minutes and the station traversed an arc almost two thirds of the sky. Then, slowly, in 5-6 seconds, while it was still moving, faded out to nothing.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I must have look like an idiot, standing there in the middle of the park (it was Azul&#39;s nightly walk) gazing at the sky for five minutes. &amp;nbsp;But, I think it was worth it...&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/5744808794320212707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/5744808794320212707'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/09/first-international-space-station.html' title='First International Space Station overhead pass'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6oXYa4006NLKAWzV28MFGTfpD9lRam_yZ1orByayqF5RvhtzvK64APuYpfdMaJfGigtmg_XAgeJK6Pb1gG03Y1tvaPA5NHeTz4OUGQIAo7DMKVA2xR6MZoGjykX-2bQozhtzC4fjGc6U/s72-c/ISS.jpg" height="72" width="72"/><georss:featurename>Nea Smyrni 17341, Greece</georss:featurename><georss:point>37.932334407314961 23.715662956237793</georss:point><georss:box>37.930768907314963 23.713195456237791 37.933899907314959 23.718130456237795</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-7605919069011404968</id><published>2011-06-14T15:38:00.000+03:00</published><updated>2011-06-14T15:38:51.177+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="online"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Translating an online PDF document with Google Translate</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hey,&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTtywhg-9P6xuJp-H1z7IIYv9zwuKM8rPMcneidyNhfvvVVoeV_c-uzMoNDuWtdoVVLexIWSBw8sibZiFK0Bs2nthDMnPRBN6ePOutRWE8yE66enRPAArDzLDYAU_YED7G5_t4CZ_IVh0/s1600/googleTranslate.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTtywhg-9P6xuJp-H1z7IIYv9zwuKM8rPMcneidyNhfvvVVoeV_c-uzMoNDuWtdoVVLexIWSBw8sibZiFK0Bs2nthDMnPRBN6ePOutRWE8yE66enRPAArDzLDYAU_YED7G5_t4CZ_IVh0/s1600/googleTranslate.png&quot; /&gt;&lt;/a&gt;If you pass the link of the online PDF document to the &lt;a href=&quot;http://translate.google.com/&quot;&gt;Google Translate&lt;/a&gt; service then Google will extract the text from the PDF and translate it in the language that you selected. &amp;nbsp;It doesn&#39;t keep the&lt;b&gt; exact same&lt;/b&gt; page formatting but the PDF is now &lt;b&gt;very&lt;/b&gt; readable. &amp;nbsp;Much more readable than it was before... :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I didn&#39;t know that!&lt;/div&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/7605919069011404968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/7605919069011404968'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/06/translating-online-pdf-document-with.html' title='Translating an online PDF document with Google Translate'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTtywhg-9P6xuJp-H1z7IIYv9zwuKM8rPMcneidyNhfvvVVoeV_c-uzMoNDuWtdoVVLexIWSBw8sibZiFK0Bs2nthDMnPRBN6ePOutRWE8yE66enRPAArDzLDYAU_YED7G5_t4CZ_IVh0/s72-c/googleTranslate.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-3017385754788501920</id><published>2011-06-04T02:04:00.005+03:00</published><updated>2011-06-04T15:26:32.338+03:00</updated><title type='text'>stratos?ear.com word play</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;It&#39;s funny how many of the following domain names are actually working (and how many of the letter combinations &lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fcffa3;&quot;&gt;actually make sense&lt;/span&gt;):&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;5&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;a&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;b&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;c&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;d&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;e&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.stratosfear.com/&quot; style=&quot;background-color: #fcffa3;&quot;&gt;www.stratosfear.com&lt;/a&gt; works!&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.stratosgear.com/&quot; style=&quot;background-color: #fcffa3;&quot;&gt;www.stratosgear.com&lt;/a&gt; obviously!&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.stratoshear.com/&quot; style=&quot;background-color: #fcffa3;&quot;&gt;www.stratoshear.com&lt;/a&gt; works!&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;i&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;j&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;k&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.stratoslear.com/&quot;&gt;www.stratoslear.com&lt;/a&gt; works!&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;www.stratos&lt;b&gt;m&lt;/b&gt;ear.com&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;n&lt;/b&gt;ear.com&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;www.stratos&lt;b&gt;o&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;p&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;www.stratos&lt;b&gt;q&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;r&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;s&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;t&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;www.stratos&lt;b&gt;u&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;www.stratos&lt;b&gt;v&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.stratoswear.com/&quot; style=&quot;background-color: #fcffa3;&quot;&gt;www.stratoswear.com&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt; works!&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;www.stratos&lt;b&gt;x&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-color: #fcffa3;&quot;&gt;www.stratos&lt;b&gt;y&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;&quot;&gt;www.stratos&lt;b&gt;z&lt;/b&gt;ear.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3017385754788501920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3017385754788501920'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/06/stratosearcom-word-play.html' title='stratos?ear.com word play'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-4462977620230667797</id><published>2011-05-28T22:27:00.001+03:00</published><updated>2011-09-30T22:29:41.837+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="greek"/><category scheme="http://www.blogger.com/atom/ns#" term="gripes"/><title type='text'>Απατεωνιές στην τιμολόγηση internet της Cosmote</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirZ635OSeMX4FeAO0xIt1XFijRS7UO9538lWySvM5ZlS6LRCOnja1RY6X6GRI_qAvtY_3htwFPxqHKhyphenhyphenBtR4yxnb_K8l13eZ3VurSTaWL6RPxmSuR6lPaLSxROdGFXZybYaqLQwQ4u-ZI/s1600/cosmote_more4us.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirZ635OSeMX4FeAO0xIt1XFijRS7UO9538lWySvM5ZlS6LRCOnja1RY6X6GRI_qAvtY_3htwFPxqHKhyphenhyphenBtR4yxnb_K8l13eZ3VurSTaWL6RPxmSuR6lPaLSxROdGFXZybYaqLQwQ4u-ZI/s1600/cosmote_more4us.jpg&quot; /&gt;&lt;/a&gt;Ξαφνικά άρχισαν να μου έρχονται κάποια SMS στο καρτοκινητό μου ότι:&lt;br /&gt;
&lt;blockquote&gt;
ΜΟΛΙΣ ΣΥΝΔΕΘΗΚΕΣ ΣΤΟ INTERNET ΜΕ ΧΡΕΩΣΗ 1Ε ΓΙΑ 24 ΩΡΕΣ. ΜΠΟΡΕΙΣ ΝΑ ΣΕΡΦΑΡΕΙΣ ΑΠΕΡΙΟΡΙΣΤΑ ΑΠΟ ΤΟ ΚΙΝΗΤΟ ΣΟΥ ΜΕΧΡΙ ΤΙΣ 22/05/11 11:45 ΧΩΡΙΣ ΕΠΙΠΛΕΟΝ ΧΡΕΩΣΗ.&lt;/blockquote&gt;
Στην αρχή νόμιζα ότι έκανα εγώ κάποιο λάθος, αλλά σήμερα διασταύρωσα με την αδερφή μου ότι γίνεται και σε εκείνην το ίδιο. &amp;nbsp;Σε αυτήν είχαν ήδη χρεώσει περίπου 20 ευρώ και όταν πήρε τηλέφωνο την εξυπηρέτηση πελατών της είπαν ότι είναι μια καινούρια υπηρεσία της Cosmote και αν δεν την θέλει μπορεί να την απενεργοποιήσει.&lt;br /&gt;
&lt;br /&gt;
Συγνώμη!!! Με ρώτησε κανείς εμένα αν θέλω αυτήν την &quot;καινούρια υπηρεσία&quot; πριν αρχίσουν να μου την χρεώνουν; Έστειλα εγώ κανένα SMS ενεργοποίησης πουθενά;&lt;br /&gt;
&lt;br /&gt;
Ποιός ξέρει πόσα παράνομα τέτοια ευρώ έχει μαζέψει η Cosmote με αυτήν την απάτη.&lt;br /&gt;
&lt;br /&gt;
Έλεος...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[Update 1η Ιουνίου 2011]:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Μετά από λίγο googling βρήκα τα εξής:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Αυτή η υπηρεσία λέγεται &lt;a href=&quot;http://goo.gl/zkcFS&quot;&gt;Cosmote Internet Day Pass&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Σύμφωνα με τα λεγόμενα τους:&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #252525; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;&quot;&gt;&quot;Η υπηρεσία COSMOTE Internet Day Pass είναι προενεργοποιημένη σε όλους τους συνδρομητές Συμβολαίου, ΚαρτοΣυμβολαίου και Καρτοκινητής που δεν έχουν ενεργοποιημένο κάποιο πρόγραμμα ή πρόσθετη υπηρεσία που να παρέχει πρόσβαση στο Internet.&quot;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Και πάλι, επιμένω, κανείς δεν με ρώτησε αν θέλω την αυτόματη ενεργοποίηση.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;Τέλος, για να απαλαγείς από τις χρεώσεις &lt;i&gt;(κάτι που θα έπρεπε να αναφέρεται και στα SMS που στέλνουν)&lt;/i&gt; απλά στείλε δωρεάν SMS με τις λέξεις &lt;b&gt;END DAY&lt;/b&gt; στο &lt;b&gt;1333&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;[Update 30 Σεπτεμβρίου 2011]:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Το μύνημα ξαναεπέστρεψε (μαζί με την χρέωση). &amp;nbsp;Τώρα, και καλά, το έχουν &quot;φτιάξει λίγο&quot; γιατί μερικά δευτερόλεπτα μετά το πρώτο μύνημα (με το&amp;nbsp;ΜΟΛΙΣ ΣΥΝΔΕΘΗΚΕΣ ΣΤΟ INTERNET κτλ κτλ) σου στέλνουν κι&#39; άλλο μύνημα που λέει:&lt;br /&gt;
&lt;blockquote&gt;
ΑΝ ΕΧΕΙΣ SMARTPHONE ΣΥΣΚΕΥΗ Η ΠΡΟΣΒΑΣΗ ΣΤΟ INTERNET ΙΣΩΣ ΟΦΕΙΛΕΤΑΙ ΣΕ ΕΦΑΡΜΟΓΕΣ (ΚΑΙΡΟΣ-ΝΕΑ-Ε-MAIL) ΠΟΥ ΣΥΝΔΕΟΝΤΑΙ ΑΥΤΟΜΑΤΑ. ΓΙΑ ΠΛΗΡΟΦΟΡΙΕΣ ΚΑΛΕΣΕ ΤΟ 13838&lt;/blockquote&gt;
Βασικά, δηλαδή, φταίει η συσκευή σου που είναι smartphone και έχει την απαίτηση να συνδεθεί στο internet. &amp;nbsp;Δεν φταίμε εμείς, η Cosmote, που ξεδιάντροπα αποφασίσαμε για σένα ότι θέλεις να χρεώνεσαι κάθε μέρα ένα ευρώ χωρίς να έχεις ερωτηθεί πρώτα! Όχι, μάλλον φταίνε οι εφαρμογές του τηλεφώνου σου.&lt;br /&gt;
&lt;br /&gt;
Επίσης στο μύνημα που σου στέλνουμε ΔΕΝ σου λέμε πως να το απενεργοποιήσεις, αλλά πάρε μας τηλέφωνο να σε χρεώσουμε και γι&#39;αυτό. &amp;nbsp;Άσε που μερικοί μπορεί και να μην το κάνουνε, οπότε θα συνεχίσουμε να τους χρεώνουμε τα ευρώ.&lt;br /&gt;
&lt;br /&gt;
Πήρα πάλι τηλέφωνο για να δώ πως τελικά απενεργοποιήται αυτό το πράγμα. &amp;nbsp;Για να σας γλυτώσω και τα άλλα 0.135€ που σε χρεώνουν στο 13838 (οι ρεζίληδες) οι οδηγίες είναι οι εξής:&lt;br /&gt;
&lt;br /&gt;
(όπως είχα αναφέρει και πριν) Στέλνεις END DAY στο 1333.&lt;br /&gt;
&lt;br /&gt;
Απαντάνε με:&lt;br /&gt;
&lt;blockquote&gt;
ΤΟ ΑΙΤΗΜΑ ΣΑΣ ΕΙΝΑΙ ΥΠΟ ΕΠΕΞΕΡΓΑΣΙΑ&lt;/blockquote&gt;
και μετά από λίγο:&lt;br /&gt;
&lt;blockquote&gt;
ΤΟ ΑΙΤΗΜΑ ΣΑΣ ΓΙΑ ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ ΤΗΣ ΥΠΗΡΕΣΙΑΣ COSMOTE INTERNET DAY PASS ΟΛΟΚΛΗΡΩΘΗΚΕ.&lt;/blockquote&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/4462977620230667797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/4462977620230667797'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/05/internet-cosmote.html' title='Απατεωνιές στην τιμολόγηση internet της Cosmote'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirZ635OSeMX4FeAO0xIt1XFijRS7UO9538lWySvM5ZlS6LRCOnja1RY6X6GRI_qAvtY_3htwFPxqHKhyphenhyphenBtR4yxnb_K8l13eZ3VurSTaWL6RPxmSuR6lPaLSxROdGFXZybYaqLQwQ4u-ZI/s72-c/cosmote_more4us.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-4154990779166098632</id><published>2011-05-21T19:17:00.000+03:00</published><updated>2011-05-21T19:17:43.903+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>Javascript PC Emulator - Technical Notes</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div&gt;It&#39;s amazing what you can do if you put your mind to it.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Just visit: &lt;a href=&quot;http://bellard.org/jslinux/&quot;&gt;http://bellard.org/jslinux/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Quoting from his technical notes:&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;a href=&quot;http://bellard.org/jslinux/tech.html&quot;&gt;Javascript PC Emulator - Technical Notes&lt;/a&gt;: &quot;What&#39;s the use ?&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;I did it for fun, just because newer Javascript Engines are fast enough to do complicated things. Real use could be: Benchmarking of Javascript engines (how much time takes your Javascript engine to boot Linux ?). For this particular application, efficient handling of 32 bit signed and unsigned integers and of typed arrays is important.&lt;/li&gt;
&lt;li&gt;Learning to use command line Unix tools without leaving the browser.&lt;/li&gt;
&lt;li&gt;Client side processing using an x86 library, for example for cryptographic purposes. For such application, the x86 emulator can be modified to provide an API to load x86 dynamic libraries and to provide a js-ctypes like API to call the C/C++ functions from javascript.&lt;/li&gt;
&lt;li&gt;A more advanced version would allow to use old DOS PC software such as games.&quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/4154990779166098632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/4154990779166098632'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/05/javascript-pc-emulator-technical-notes.html' title='Javascript PC Emulator - Technical Notes'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-6431534499687146901</id><published>2011-05-11T21:28:00.000+03:00</published><updated>2011-10-11T19:00:56.627+03:00</updated><title type='text'>Adding Syntax hilighting to Blogger posts</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Add the following code right before the close of the &amp;lt;/head&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/964236.js&quot;&gt;
 
&lt;/script&gt;

&lt;b&gt;[Update]&lt;/b&gt;&lt;br /&gt;
Scrap the above.  I switched to Google&#39;s code prettify.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/6431534499687146901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/6431534499687146901'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/05/adding-syntax-hilighting-to-blogger.html' title='Adding Syntax hilighting to Blogger posts'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-3154756195277309306</id><published>2011-04-25T12:38:00.004+03:00</published><updated>2011-10-11T19:07:04.769+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="audio"/><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Recording streaming audio workflow</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
My choice of Ubuntu tools for recording, splitting and tagging streaming audio.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Recording&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://streamripper.sourceforge.net/&quot;&gt;streamripper&lt;/a&gt;: Command line tool.  Excellent choice since it makes it so easy to schedule recordings with it.&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-sh&quot;&gt;
&lt;bash&gt;$ streamripper URL -d /home/stratos/outRec -l 7800 -d /dir/to/save -t --xs-none&lt;/bash&gt;
&lt;/pre&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;-l 7800&lt;/b&gt;: The duration of the recording (in seconds)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;-d /dir/to/save&lt;/b&gt;: Directory where to save the stream.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;-t&lt;/b&gt;: Do not overwrite files in recording folder.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;--xs-none&lt;/b&gt;: Do not try to find silent parts in the recording&lt;/li&gt;
&lt;/ul&gt;
Of course adding to cron is quite easy:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-sh&quot;&gt;
$ crontab -e&lt;br /&gt;
0 6 * * 1 streamripper URL -options
&lt;/pre&gt;
for recording every Monday morning at 6.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Splitting&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://audacious-media-player.org/&quot;&gt;audacious&lt;/a&gt;: Audio player that has a nice Left-Right cursor key playback to easily find the places in the stream recording that you want to split/cut.  Mark the &lt;b&gt;Start&lt;/b&gt;&amp;nbsp;and &lt;b&gt;End Time&lt;/b&gt;&amp;nbsp;from the recording that you made.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://mp3splt.sourceforge.net/mp3splt_page/home.php&quot;&gt;mp3splt&lt;/a&gt;:  Using the &lt;b&gt;Start&lt;/b&gt; and &lt;b&gt;End Times&lt;/b&gt;&amp;nbsp;from above, use them to split the recording. &lt;b&gt;Don&#39;t&lt;/b&gt;&amp;nbsp;bother with the `mp3splt-gtk` gui app.&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-sh&quot;&gt;
$ mp3splt recording.mp3 65.36 124.33 -a -o finalRecording
&lt;/pre&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;65.36&lt;/b&gt;: The start time from the original recording that the split will start&lt;/li&gt;
&lt;li&gt;&lt;b&gt;124.33:&amp;nbsp;&lt;/b&gt;The end time from the original recording that the split will end.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;-a&lt;/b&gt;: This option will slightly adjust the start and end time to fall on a silent period.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;-o finalRecording&lt;/b&gt;: The final splitted file.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Tagging&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://easytag.sourceforge.net/&quot;&gt;easyTag&lt;/a&gt;: Use it to put mp3 tags in the final recording. Actually, any tagger would do. This is a, well, easy one!&lt;br /&gt;
&lt;br /&gt;
Happy recordings!&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3154756195277309306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3154756195277309306'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/04/recording-streaming-audio-workflow.html' title='Recording streaming audio workflow'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-8955746388895413450</id><published>2011-04-06T08:46:00.003+03:00</published><updated>2011-05-10T17:15:56.376+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gmail"/><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Configure Ubuntu server to send email through Gmail</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Edit the `/etc/postfix/main.cf` file and set the follow values:&lt;br /&gt;
&lt;blockquote&gt;smtpd_tls_key_file =&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
relayhost = [smtp.gmail.com]:587&lt;br /&gt;
transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
smtp_sasl_auth_enable = yes&lt;br /&gt;
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd&lt;br /&gt;
smtp_sasl_security_options = noanonymous&lt;/blockquote&gt;Create/edit the `/etc/postfix/transport` file with:&lt;br /&gt;
&lt;blockquote&gt;gmail.com smtp:[smtp.gmail.com]:587&lt;/blockquote&gt;Create/edit the `/etc/postfix/sasl_passwd` file with:&lt;br /&gt;
&lt;blockquote&gt;[smtp.gmail.com]:587            username@gmail.com:password&lt;/blockquote&gt;Obviously, change the `username` and `password` values.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: If you use Google&#39;s 2-step verification you should &lt;b&gt;not&lt;/b&gt; use your traditional password, but rather visit the https://www.google.com/accounts/b/0/IssuedAuthSubTokens page and generate a new password for postfix.&lt;br /&gt;
&lt;br /&gt;
Finally, issue:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo postmap /etc/postfix/transport
sudo postmap /etc/postfix/sasl_passwd
sudo postfix stop
sudo postfix start
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Profit.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8955746388895413450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8955746388895413450'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/04/configure-ubuntu-server-to-send-email.html' title='Configure Ubuntu server to send email through Gmail'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-5652627499355135446</id><published>2011-03-28T11:24:00.003+03:00</published><updated>2011-10-11T18:49:48.095+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Create and mount xfs filesystem</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Couldn&#39;t be easier:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-sh&quot;&gt;$ sudo apt-get install xfsprogs
$ sudo mkfs.xfs /dev/sdf
&lt;/pre&gt;
Add to fstab:&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-sh&quot;&gt;/dev/sdf   /my/location   xfs  defaults,nobootwait,noatime    0    0
&lt;/pre&gt;
This was tested on Amazon EC2 with EBS volumes.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/5652627499355135446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/5652627499355135446'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/03/create-and-mount-xfs-filesystem.html' title='Create and mount xfs filesystem'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-1538371293608263836</id><published>2011-03-20T14:42:00.002+02:00</published><updated>2011-05-10T17:16:53.033+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Installing MySQL module in Django virtualenv</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;In order to correctly install mysql bindings in a Django virtualenv you need:&lt;br /&gt;
&lt;br /&gt;
First install some Ubuntu dependencies:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
$ sudo aptitude install build-essential python-mysqldb libmysqlclient-dev
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Then create the virtual env and install the python packages:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
$ virtualenv --no-site-packages --distribute myVirtualEnv
$ pip install -E myVirtualEnv Django
$ pip install -E myVirtualEnv mysql-python
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
I was missing the &lt;b&gt;`libmysqlclient-dev`&lt;/b&gt; package and I was getting a &lt;b&gt;`EnvironmentError: mysql_config not found`&lt;/b&gt; when running the &lt;b&gt;`pip install mysql-python`&lt;/b&gt;.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/1538371293608263836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/1538371293608263836'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/03/installing-mysql-module-in-django.html' title='Installing MySQL module in Django virtualenv'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-4982823350472050111</id><published>2011-02-21T11:28:00.002+02:00</published><updated>2011-05-10T17:08:36.520+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Change codepage on windows console</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;If find this essential when administrating ORACLE databases from the command line and the locale of the database is set to Greek.  I prefer to read the output in Greek rather in gibberish:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;chcp 1253&lt;/b&gt;&lt;/blockquote&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/4982823350472050111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/4982823350472050111'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/02/change-codepage-on-windows-console.html' title='Change codepage on windows console'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-8847895975634409573</id><published>2011-01-06T12:18:00.000+02:00</published><updated>2011-10-14T12:19:55.313+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="reading"/><category scheme="http://www.blogger.com/atom/ns#" term="sci-fi"/><title type='text'>Dune</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;float: right;&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=EEEEEE&amp;amp;IS2=1&amp;amp;bg1=EEEEEE&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=gt0ca-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0441013597&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
I was looking to print a nice&amp;nbsp;&lt;b&gt;PnP&lt;/b&gt;&amp;nbsp;(Print and Play) game and I came across&amp;nbsp;&lt;a href=&quot;http://boardgamegeek.com/boardgame/121/dune&quot;&gt;Dune&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The game is&amp;nbsp;&lt;a href=&quot;http://boardgamegeek.com/thread/531160/scotts-dune-build-project/page/1&quot;&gt;nicely redone&lt;/a&gt;, from it&#39;s original 1979 publishing,&amp;nbsp;&lt;b&gt;so&lt;/b&gt;&amp;nbsp;thick with theme from the book, that really made me wanna read the book again. First time I read it was while a was a freshman in university (back in &#39;89).&lt;br /&gt;
&lt;br /&gt;
And in case you didn&#39;t know, this book is often quoted as&amp;nbsp;&lt;b&gt;THE best science fiction novel&lt;/b&gt;&amp;nbsp;with&amp;nbsp;&lt;b&gt;more&lt;/b&gt;&amp;nbsp;than 12 million copies sold worldwide.&lt;br /&gt;
&lt;br /&gt;
The wikipedia article is&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dune_(novel)&quot;&gt;very informative&lt;/a&gt;, too.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8847895975634409573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8847895975634409573'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/01/i-was-looking-to-print-nice-pnp-and.html' title='Dune'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-2122960204504821478</id><published>2011-01-05T00:27:00.006+02:00</published><updated>2011-05-11T10:31:56.317+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="pdf"/><category scheme="http://www.blogger.com/atom/ns#" term="print"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Convert an A4 sized .pdf file to A5 size</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I was working on a LyX document based on the Tufte layout and unfortunately the page layout was available at A4 page sizes only (ok, US letter, too, but that doesn&#39;t count :)&lt;br /&gt;
&lt;br /&gt;
I could try and learn Latex and create my own page size but the task looked monumental.  I am sure the solution might be easy enough, but I just couldn&#39;t do it myself.  Googling for A5 sized tufte layouts didn&#39;t help either.&lt;br /&gt;
&lt;br /&gt;
So to the command line it is.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
From LyX export you final document to postscript format, let&#39;s say &lt;b&gt;myBook.ps&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
psresize -Pa4 -pa5 myBook.ps myBook.A5.ps
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
This will convert the original .ps to another sized at A5. Unfortunately it will need further tweaking.&lt;br /&gt;
&lt;br /&gt;
Open the &lt;b&gt;myBook.A5.ps&lt;/b&gt;&amp;nbsp;postscript file and delete the `%%DocumentMedia` line (if one exists).&lt;br /&gt;
&lt;br /&gt;
Also change the existing `%%BoundingBox:` line to:&lt;br /&gt;
&lt;blockquote&gt;%%BoundingBox: 0 0 421 595&lt;br /&gt;
%%DocumentPaperSizes: a5&lt;br /&gt;
%%BeginPaperSize: a5&lt;/blockquote&gt;&lt;b&gt;Note:&lt;/b&gt; On a couple of documents I could not locate the `%%BoundingBox:` line and the structure of the .ps file was a little weird.  As a workaround try to edit the:&lt;br /&gt;
&lt;blockquote&gt;%%BeginPaperSize: a5&lt;br /&gt;
/setpagedevice where&lt;br /&gt;
{ pop &amp;lt;&amp;lt; /PageSize [420 595] &amp;gt;&amp;gt; setpagedevice }&lt;br /&gt;
{ /a5 where { pop a5 } if }&lt;br /&gt;
ifelse&lt;br /&gt;
%%EndPaperSize&lt;/blockquote&gt;section.  In it&#39;s original format it will contain &lt;b&gt;A4&lt;/b&gt;&amp;nbsp;references and the dimensions would be &lt;b&gt;[595 842]&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Finally create your PDF file:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-sPAPERSIZE=a5 -dPDFSETTINGS=/printer \
-dCompatibilityLevel=1.4 -dMaxSubsetPct=100 \
-dSubsetFonts=true -dEmbedAllFonts=true \
-sOutputFile=myBook.pdf myBook.A5.ps
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Open &lt;b&gt;myBook.pdf&lt;/b&gt; and marvel at your handiwork... :)&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/2122960204504821478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/2122960204504821478'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2011/01/convert-a4-sized-pdf-file-to-a5-size.html' title='Convert an A4 sized .pdf file to A5 size'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-3418500648242459389</id><published>2010-11-04T12:23:00.000+02:00</published><updated>2011-10-14T12:24:03.145+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="reading"/><category scheme="http://www.blogger.com/atom/ns#" term="sci-fi"/><title type='text'>Forever War</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;float: right;&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=EEEEEE&amp;amp;IS2=1&amp;amp;bg1=EEEEEE&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=gt0ca-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0312536631&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=gt0ca-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0312536631&quot; style=&quot;border-bottom-style: none !important; border-color: initial !important; border-left-style: none !important; border-right-style: none !important; border-top-style: none !important; border-width: initial !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important;&quot; width=&quot;1&quot; /&gt;Private William Mandella is a reluctant hero in an interstellar war against an unknowable and unconquerable alien enemy. But his greatest test will be when he returns home. Relativity means that for every few months&#39; tour of duty centuries have passed on Earth, isolating the combatants ever more from the world for whose future they are fighting.&lt;/blockquote&gt;
&lt;i&gt;(From the book&#39;s back cover)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Wow, this was a very nice read. I never thought of that particular aspect of time dilation, when travelling at the speed of light. Talking about a meaningless war that drags it&#39;s feet...!&lt;br /&gt;
&lt;br /&gt;
Two thumbs up for &quot;The Forever War&quot;, On to &quot;Forever Peace&quot; now...&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3418500648242459389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3418500648242459389'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/11/forever-war.html' title='Forever War'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-8132840678302035908</id><published>2010-10-22T10:50:00.005+03:00</published><updated>2011-05-10T17:18:50.504+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualbox"/><title type='text'>Installing Virtualbox on Ubuntu Server 10.04</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Wanna install Virtualbox on a headless Ubuntu server?&lt;br /&gt;
&lt;br /&gt;
First do a:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo aptitude install libcurl3 libgl1-mesa-glx libqt4-network libqt4-opengl libxcursor1 libxinerama1 libxmu6 libsdl1.2debian
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Then download the appropriate .deb for your architecture from http://www.virtualbox.org/wiki/Linux_Downloads&lt;br /&gt;
&lt;br /&gt;
Finally, install with:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo dpkg -i virtualbox-3.2_3.2.10-66523~Ubuntu~lucid_amd64.deb
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
(Ok, I installed virtualbox 3.2 on a 64 bit server, yours might vary)&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Extra credit&lt;/span&gt;&lt;br /&gt;
If you want to make your life REAAALY easy you should also install &lt;a href=&quot;http://code.google.com/p/phpvirtualbox/&quot;&gt;phpvirtualbox&lt;/a&gt;&amp;nbsp;on the host Ubuntu server and get a shiny web based GUI administration screen that looks almost exactly like the native GUI Virtualbox application.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8132840678302035908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8132840678302035908'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/installing-virtualbox-on-ubuntu-server.html' title='Installing Virtualbox on Ubuntu Server 10.04'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-8131851960284192885</id><published>2010-10-20T22:32:00.000+03:00</published><updated>2011-10-14T12:29:10.754+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="reading"/><category scheme="http://www.blogger.com/atom/ns#" term="sci-fi"/><title type='text'>The Left Hand of Darkness</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;float: right;&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=EEEEEE&amp;amp;IS2=1&amp;amp;nou=1&amp;amp;bg1=EEEEEE&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=gt0ca-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0441007317&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;blockquote&gt;
Winter is an Earth-like planet with two major differences: conditions are semi artic even at the warmest time of the year, and the inhabitants are all of the same sex. Tucked away in a remote corner of the universe, they have no knowledge of space travel or of life beyond their own world. And when a strange envoy from space brings news of a vast coalition of planets which they are invited to join, he is met with fear, mistrust and disbelief.&lt;/blockquote&gt;
&lt;i&gt;(From the book&#39;s back cover)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I barely had enough patience to finish this book. I wonder how come it got&amp;nbsp;&lt;b&gt;both&lt;/b&gt;&amp;nbsp;the&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nebula_Award&quot;&gt;Nebula&lt;/a&gt;&amp;nbsp;&lt;b&gt;and&lt;/b&gt;&amp;nbsp;the&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hugo_Award&quot;&gt;Hugo&lt;/a&gt;&amp;nbsp;awards.&lt;br /&gt;
&lt;br /&gt;
What was so special about the a single man trying to convince a newly discovered planet to join the&amp;nbsp;&lt;i&gt;Ekoumen&lt;/i&gt;&amp;nbsp;(from the Greek word&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Oikoumene&quot;&gt;&quot;οικουμένη&quot;&lt;/a&gt;)?. It could have been vastly more interesting, but the pace and the subject matter of the character conversations were a complete turn off for me. I couldn&#39;t wait for the book to finish. Good thing it was a short one.&lt;br /&gt;
&lt;br /&gt;
If you want a nice Ursulla Le Guin book, you&#39;re better off with the &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Earthsea&quot;&gt;Earthsea Trilogy&lt;/a&gt;&quot;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8131851960284192885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/8131851960284192885'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/left-hand-of-darkness.html' title='The Left Hand of Darkness'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-3439640158253403689</id><published>2010-10-20T11:21:00.002+03:00</published><updated>2011-05-10T17:50:10.351+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="raid"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Summary</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;So to sum it all up:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Create sandbox&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
cd ~
cd sandbox/
dd if=/dev/zero of=raid1 bs=10240 count=10240
cp raid1 raid2
cp raid1 raid3
sudo losetup /dev/loop1 raid1
sudo losetup /dev/loop2 raid2
sudo losetup /dev/loop3 raid3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Create RAID5 array&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo mdadm --create --verbose /dev/md3 -l5 -n3 /dev/loop1 /dev/loop2 /dev/loop3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Create LVM2 volumes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo pvcreate /dev/md3
sudo vgcreate lvm-group /dev/md3
sudo lvcreate -l 20 lvm-group -n myVolume     # you can use any PE you want
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Format / Mount the volume&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo mkfs.ext4 /dev/lvm-group/myVolume
mkdir myVolume
sudo mount /dev/lvm-group/myVolume myVolume
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Extend an LVM2 Logical Volume&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo lvextend -l+10 /dev/lvm-group/myVolume   # add any PE you want
sudo umount myVolume
sudo e2fsck -f /dev/lvm-group/myVolume
sudo resize2fs /dev/lvm-group/myVolume
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Remove an LVM2 Logical Volume&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo lvremove /dev/lvm-group/myVolume2
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Replace a failed RAID disk&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo mdadm --fail /dev/md3 /dev/loop3          # This is part of our simulation
sudo mdadm --remove /dev/md3 /dev/loop3
sudo losetup -d /dev/loop3
rm raid3
dd if=/dev/zero of=raid3 bs=10240 count=10240  # This creates a new fake disk
sudo losetup /dev/loop3 raid3
sudo mdadm /dev/md3 --add /dev/loop3           # Do this under normal circumstances
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Add new disks to RAID5 array&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
dd if=/dev/zero of=raid4 bs=10240 count=10240  # This is part of our simulation
sudo losetup /dev/loop4 raid4
sudo mdadm --grow /dev/md3 --raid-devices=4    # Do this under normal circumstances
sudo pvresize /dev/md3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Increase size of RAID disks&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo mdadm --fail /dev/md3 /dev/loop1          # First remove old disk
sudo mdadm --remove /dev/md3 /dev/loop1
sudo losetup -d /dev/loop1                     # This is part of our simulation
rm raid1
dd if=/dev/zero of=raid1 bs=10240 count=15360  # This creates a new fake disk
sudo losetup /dev/loop1 raid1
sudo mdadm /dev/md3 --add /dev/loop1           # Do this under normal circumstances
... Repeat for all disks...                    # Replace all disks
sudo mdadm /dev/md3 --grow --size=max
sudo pvresize /dev/md3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Recover lost RAID array&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
sudo mdadm --examine --scan                   # append output to /etc/mdadm/mdadm.conf
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
And that&#39;s how it&#39;s done.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3439640158253403689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3439640158253403689'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/summary.html' title='Summary'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-1121218229236215255</id><published>2010-10-20T11:18:00.004+03:00</published><updated>2011-05-10T23:31:32.205+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="raid"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>RAID Manipulation</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Playing with LVM2 is nice because you can manipulate and assign the available space you have &lt;b&gt;any&lt;/b&gt;&amp;nbsp;way you want.  The actual &lt;b&gt;unseen hero&lt;/b&gt;&amp;nbsp;is the RAID5 volume that we have created because it provides a guarantee that even if one disk fails we will not lose our data.  Let&#39;s play with the RAID disks now.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;b&gt;Fail a RAID disk and recover&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Hopefully you will never have to face a failed disk, but it is quite important to know what to do if a disk fails.  For now, in our comfortable sandbox we will imitate a failed disk and we will check if we&#39;ll lose any data.&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --fail /dev/md3 /dev/loop3
mdadm: set /dev/loop3 faulty in /dev/md3

stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sat Oct  2 00:09:30 2010
     Raid Level : raid5
     Array Size : 204672 (199.91 MiB 209.58 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sat Oct  2 23:48:23 2010
          State : clean, degraded
 Active Devices : 2
Working Devices : 2
 Failed Devices : 1
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 710c3b37:15563004:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.19

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       0        0        2      removed

       3       7        3        -      faulty spare   /dev/loop3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Notice that the state is &lt;b&gt;clean, degraded&lt;/b&gt;&amp;nbsp;meaning that the files are OK but the state of the array is, well, degraded.  &lt;br /&gt;
&lt;br /&gt;
Do we still have our files?&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ cd myVolume

stratos@yoda:~/sandbox/myVolume$ ls -al
total 18
drwxr-xr-x 3 root    root     1024 2010-10-02 00:42 .
drwxr-xr-x 4 stratos stratos  4096 2010-10-02 11:39 ..
drwx------ 2 root    root    12288 2010-10-02 00:30 lost+found
-rw-r--r-- 1 root    root       26 2010-10-02 00:42 test.txt

stratos@yoda:~/sandbox/myVolume$ cat test.txt
Hello LVM2 logical volume
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Yep, still here.  Now, let&#39;s remove the failed disk (as if you are opening the computer case and removing the failed disk)&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[

stratos@yoda:~/sandbox/myVolume$ sudo mdadm --remove /dev/md3 /dev/loop3
mdadm: hot removed /dev/loop3

stratos@yoda:~/sandbox/myVolume$ sudo losetup -d /dev/loop3

stratos@yoda:~/sandbox/myVolume$ sudo rm raid3

stratos@yoda:~/sandbox/myVolume$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sat Oct  2 00:09:30 2010
     Raid Level : raid5
     Array Size : 204672 (199.91 MiB 209.58 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 3
  Total Devices : 2
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sat Oct  2 23:53:58 2010
          State : clean, degraded
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 710c3b37:15563004:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.22

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       0        0        2      removed
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Ok the disk is removed. Now let&#39;s assume that you replace the failed hard drive, that you have recreated a similar partition as the one originally used and you are ready to fix the degraded RAID array.&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox/myVolume$ cd ..

stratos@yoda:~/sandbox$ dd if=/dev/zero of=raid3 bs=10240 count=10240
10240+0 records in
10240+0 records out
104857600 bytes (105 MB) copied, 0.430725 s, 243 MB/s

stratos@yoda:~/sandbox$ sudo losetup /dev/loop3 raid3

stratos@yoda:~/sandbox$ sudo mdadm --add /dev/md3 /dev/loop3
mdadm: added /dev/loop3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Now, immediately after adding the disk the array will start reconstructing itself.  It should look something like:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sat Oct  2 00:09:30 2010
     Raid Level : raid5
     Array Size : 204672 (199.91 MiB 209.58 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sat Oct  2 23:58:58 2010
          State : clean, degraded, recovering
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 32% complete

           UUID : 710c3b37:15563004:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.34

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       3       7        3        2      spare rebuilding   /dev/loop3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Notice how the state is &lt;b&gt;clean, degraded, recovering&lt;/b&gt;&amp;nbsp;and that the &lt;b&gt;Rebuild Status&lt;/b&gt;&amp;nbsp;process is at &lt;b&gt;32% percent&lt;/b&gt;.  Depending on the size of your array the process might take from some minutes (I doubt it) up to some hours or days.  You can always check the process with the above command.  The array should be still usable and accesible even while it is getting reconstructed, but I really wouldn&#39;t like to push my luck, so I wouldn&#39;t suggest doing any work in the array until the reconstruction is done.&lt;br /&gt;
&lt;br /&gt;
In our case the reconstruction, for a tiny 120MB array, takes merely seconds and if we check the state again we see:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sat Oct  2 00:09:30 2010
     Raid Level : raid5
     Array Size : 204672 (199.91 MiB 209.58 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sat Oct  2 23:59:02 2010
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 710c3b37:15563004:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.48

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       7        3        2      active sync   /dev/loop3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Nice and clean.  Let&#39;s hope you never have to go through a procedure like this, EVER.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Increase the RAID array size&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Up until now we were playing with LVM2 volumes and the allocated space that was assigned to the LVM2 Physical Volume. But, what should we do if we want to create a Logical Volume larger than the 49 PE that the Volume Group contains?  Well, not much unless we increase the number of PE.&lt;br /&gt;
&lt;br /&gt;
This can be done in two ways:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Increase the number of disks in the RAID5 array or&lt;/li&gt;
&lt;li&gt;Increase the size of the disks already in the array.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Add new disks to the RAID array&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Adding a new disk in the array is easy (assuming you still have free SATA ports in your motherboard).&lt;br /&gt;
&lt;br /&gt;
Let&#39;s run an example:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ dd if=/dev/zero of=raid4 bs=10240 count=10240
15360+0 records in
15360+0 records out
157286400 bytes (157 MB) copied, 0.675796 s, 233 MB/s

stratos@yoda:~/sandbox$ sudo losetup /dev/loop4 loop4

stratos@yoda:~/sandbox$ sudo mdadm --add /dev/md3 /dev/loop4
mdadm: added /dev/loop4

stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sat Oct  2 00:09:30 2010
     Raid Level : raid5
     Array Size : 204672 (199.91 MiB 209.58 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 3
  Total Devices : 4
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sun Oct  3 00:37:16 2010
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 710c3b37:15563004:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.49

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       7        3        2      active sync   /dev/loop3

       3       7        4        -      spare   /dev/loop4
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
So we added the newly created disk to the array and mdadm considers the new disk a &lt;b&gt;&quot;spare&quot;&lt;/b&gt;&amp;nbsp;disk.  A spare disk is considered a disk that is in standby mode ready to substitute a failed disk (automatically, I think; needs investigation).  The spare disks capacity does not participate in the total capacity of the array, as it is in standby mode.  Let&#39;s make it a part of the array:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --grow /dev/md3 --raid-devices=4
mdadm: Need to backup 384K of critical section..
mdadm: ... critical section passed.

stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.91
  Creation Time : Sat Oct  2 00:09:30 2010
     Raid Level : raid5
     Array Size : 204672 (199.91 MiB 209.58 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sun Oct  3 00:38:09 2010
          State : clean, recovering
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

 Reshape Status : 19% complete
  Delta Devices : 1, (3-&gt;4)

           UUID : 710c3b37:15563004:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.68

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       7        3        2      active sync   /dev/loop3
       3       7        4        3      active sync   /dev/loop4
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Immediately after the new disk is added to the array, mdadm starts reconstructing the array. Here we see a 19% complete status and the upgrade notification of 3-&amp;gt;4 disks.  Again, depending on your disks sizes this might take some time, and probably longer than adding a failed disk to the original disk array size because all the data will have to be re-written and spread across the new disk.&lt;br /&gt;
&lt;br /&gt;
The array should still be functional and up and running during the whole procedure.  Once it&#39;s done we have to allocate the extra space to the LVM2 Physical Volume and resize the &lt;b&gt;lvm-group&lt;/b&gt;&amp;nbsp;LVM2 Volume Group.&lt;br /&gt;
&lt;br /&gt;
First let&#39;s see how much space the Physical Volume has:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo pvdisplay /dev/md3
  --- Physical volume ---
  PV Name               /dev/md3
  VG Name               lvm-group
  PV Size               199.88 MB / not usable 3.88 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              49
  Free PE               19
  Allocated PE          30
  PV UUID               a00wd1-tPYt-zeuf-dybg-WbOX-3KDb-JYWlU6
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
So, although we have added a fourth disk in the RAID array the LVM2 Physical Volume is still at 200MB.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s increase it:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo pvresize /dev/md3
  Physical volume &quot;/dev/md3&quot; changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

stratos@yoda:~/sandbox$ sudo pvdisplay /dev/md3
  --- Physical volume ---
  PV Name               /dev/md3
  VG Name               lvm-group
  PV Size               299.62 MB / not usable 3.62 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              74
  Free PE               44
  Allocated PE          30
  PV UUID               a00wd1-tPYt-zeuf-dybg-WbOX-3KDb-JYWlU6

stratos@yoda:~/sandbox$ sudo vgdisplay lvm-group
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               296.00 MB
  PE Size               4.00 MB
  Total PE              74
  Alloc PE / Size       30 / 120.00 MB
  Free  PE / Size       44 / 176.00 MB
  VG UUID               D6c2DE-YS5R-MM8M-rle5-J117-uF11-KORUYB
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
As you see the Physical Volume now is 300MB.  A nice side-effect is that the &lt;b&gt;lvm-group&lt;/b&gt;&amp;nbsp;Volume Group was also automatically resized, because when we initially created we used &lt;b&gt;all&lt;/b&gt;&amp;nbsp;the available space of the Physical Volume, so it kept using all the available PE.  So now we have a total of &lt;b&gt;74 PE&lt;/b&gt;&amp;nbsp;to play with.  If you want to increase the size of your Logical Volumes you can now easily do it (see the&amp;nbsp;&lt;b&gt;&#39;Resize Volumes&#39;&lt;/b&gt;&amp;nbsp;above).&lt;br /&gt;
&lt;br /&gt;
But do we still have our data?&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ cd myVolume

stratos@yoda:~/sandbox/myVolume$ cat test.txt
Hello LVM2 logical volume
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Yep, still here.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Increase the size of the RAID disks&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In reality (as in my personal case) you will end up increasing the initial RAID size because you want to substitute the original disks with larger ones.  The prices keep dropping and the amount of SATA ports in a motherboard are finite.  So, sooner or later you will need to replace the disks, with larger ones.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, you cannot do the upgrade at your leisure.  That is, you just can&#39;t drop a 1TB disk together with a couple of 640GB disks and expect to create a RAID5 array larger than the original (3-1) x 640GB = 1280GB RAID5 array.  You will have to upgrade all the disks at the same time, if you want to expand your RAID5 array.  You can always, upgrade just one disk, though, and use the extra space of the larger disk as another partition.&lt;br /&gt;
&lt;br /&gt;
So, for now, we have a 4 disk array with 100MB capacity each. Let&#39;s substitute each disk with a 150MB one (one at a time).&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --fail /dev/md3 /dev/loop1
mdadm: set /dev/loop1 faulty in /dev/md3

stratos@yoda:~/sandbox$ sudo mdadm --remove /dev/md3 /dev/loop1
mdadm: hot removed /dev/loop1

stratos@yoda:~/sandbox$ sudo losetup -d /dev/loop1

stratos@yoda:~/sandbox$ rm raid1

stratos@yoda:~/sandbox$ dd if=/dev/zero of=raid1 bs=10240 count=15360
15360+0 records in
15360+0 records out
157286400 bytes (157 MB) copied, 0.498492 s, 316 MB/s

stratos@yoda:~/sandbox$ sudo losetup /dev/loop1 raid1

stratos@yoda:~/sandbox$ sudo mdadm /dev/md3 --add /dev/loop1
mdadm: added /dev/loop1
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
What we did was to fail, remove and substitute one disk with another, bigger one.  As always the procedure is not instantaneous and the &lt;b&gt;&quot;adding&quot;&lt;/b&gt;&amp;nbsp;of the larger disk into the array should take some time.&lt;br /&gt;
&lt;br /&gt;
When the array has finished restructuring, from the last &lt;b&gt;add&lt;/b&gt;&amp;nbsp;we did, lather-rinse-repeat for the remaining disks (loop2, loop3 and loop4 in our case).  When you are done with all disks:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sun Oct  3 15:16:01 2010
     Raid Level : raid5
     Array Size : 307008 (299.86 MiB 314.38 MB)
  Used Dev Size : 102336 (99.95 MiB 104.79 MB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sun Oct  3 15:18:28 2010
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : ec2bf06b:20f11352:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.28

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       7        3        2      active sync   /dev/loop3
       3       7        4        3      active sync   /dev/loop4
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
The array is still 300MB (4 - 1) * 100MB = 300 MB!  What happens is that during the introduction of the larger disks into the already existing array, mdadm is using a partition as large as the existing partitions that already are part of the array.  So basically although we are adding a 150MB disk, the array is using only 100MB, just as the already existing older 100MB disks.&lt;br /&gt;
&lt;br /&gt;
When we substitute all four disks, we can resize the array and use the remaining 50MB from each disk.  Let&#39;s do it:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm /dev/md3 --grow --size=max

stratos@yoda:~/sandbox$ sudo mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90
  Creation Time : Sun Oct  3 15:16:01 2010
     Raid Level : raid5
     Array Size : 460608 (449.89 MiB 471.66 MB)
  Used Dev Size : 153536 (149.96 MiB 157.22 MB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sun Oct  3 15:59:13 2010
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : ec2bf06b:20f11352:a1dba4fa:bb34958c (local to host yoda)
         Events : 0.137

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       7        3        2      active sync   /dev/loop3
       3       7        4        3      active sync   /dev/loop4
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Finally done. The array is now 450MB (4-1) * 150MB = 450 MB.  But how about the Volume Groups we had?&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo vgdisplay lvm-group
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               296.00 MB
  PE Size               4.00 MB
  Total PE              74
  Alloc PE / Size       30 / 120.00 MB
  Free  PE / Size       44 / 176.00 MB
  VG UUID               0F0ahV-9wdw-piAN-RQGt-sA4E-ttR3-c0ClSd

stratos@yoda:~/sandbox$ sudo pvresize /dev/md3
  Physical volume &quot;/dev/md3&quot; changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

stratos@yoda:~/sandbox$ sudo vgdisplay lvm-group
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               448.00 MB
  PE Size               4.00 MB
  Total PE              112
  Alloc PE / Size       30 / 120.00 MB
  Free  PE / Size       82 / 328.00 MB
  VG UUID               0F0ahV-9wdw-piAN-RQGt-sA4E-ttR3-c0ClSd
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
As you see we went from 74 PE to 112 PE.  Now we can go back to normal LVM2 volume manipulation to take advantage of the gained space.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Recover RAID array&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
OK, but what happens when something happens and you lose your RAID array? &lt;br /&gt;
&lt;br /&gt;
Let&#39;s just say that you whole motherboard just fails and you have to take your disks and set the machine again.  Or, when you re-install the OS and you want to remount your RAID array.&lt;br /&gt;
&lt;br /&gt;
The actual neccessary file, to identify and mount the RAID array lives in &lt;b&gt;/etc/mdadm/mdadm.conf&lt;/b&gt; and it looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[

stratos@yoda:~/sandbox$ cat /etc/mdadm/mdadm.conf 
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST &lt;system&gt;

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid0 num-devices=3 UUID=1ecc61f7:ab95b8b0:b6150be0:b4ec82ed
ARRAY /dev/md1 level=raid5 num-devices=3 UUID=0e065f5e:b0bc71b3:b6150be0:b4ec82ed

# This file was auto-generated on Wed, 22 Sep 2010 13:21:48 +0300
# by mkconf $Id$
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Note the &lt;b&gt;ARRAY&lt;/b&gt;&amp;nbsp;definitions that tell mdadm what arrays you are currently using.&lt;br /&gt;
&lt;br /&gt;
On a newly created system this file will be probably missing and you will have to recreate it.&lt;br /&gt;
&lt;br /&gt;
If you already have an /etc/mdadm/mdadm.conf file in your system, but you are missing the ARRAY definitions you can &lt;b&gt;force&lt;/b&gt;&amp;nbsp;mdadm to create these definitions for you:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --examine --scan 

ARRAY /dev/md0 level=raid0 num-devices=3 UUID=1ecc61f7:ab95b8b0:b6150be0:b4ec82ed
ARRAY /dev/md1 level=raid5 num-devices=3 UUID=0e065f5e:b0bc71b3:b6150be0:b4ec82ed
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
All you have to do is append these lines at the end of the&lt;b&gt; /etc/mdadm/mdadm.conf&lt;/b&gt; file.&lt;br /&gt;
&lt;br /&gt;
If you don&#39;t have an mdadm.conf file at all you can quickly produce one:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ echo &#39;DEVICE partitions&#39; &gt; mdadm.conf
stratos@yoda:~/sandbox$ sudo mdadm --examine --scan &gt;&gt; mdadm.conf
stratos@yoda:~/sandbox$ sudo cp mdadm.conf /etc/mdadm/mdadm.conf
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Now, if you reboot you should have you array back.  Well, done!&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/1121218229236215255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/1121218229236215255'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/raid-manipulation.html' title='RAID Manipulation'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-3455817845577823504</id><published>2010-10-20T11:14:00.002+03:00</published><updated>2011-05-10T23:32:11.264+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="raid"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>LVM2 Setup</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
At this point we could format the /dev/md3 partition with some filesystem and start using it.  But that&#39;s the old way of doing it.  What we want to do is run LVM2 on top of the RAID5 partition so we can better utilize the space provided by the /dev/md3 partition, allowing us to dynamically create, resize and remove volumes in the space provided.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Create the LVM2 partitions&lt;/span&gt;&lt;br /&gt;
In order to use LVM2 we first have to create a LVM2 Physical Volume:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo pvcreate /dev/md3
  Physical volume &quot;/dev/md3&quot; successfully created

stratos@yoda:~/sandbox$ sudo pvdisplay
  &quot;/dev/md3&quot; is a new physical volume of &quot;199.88 MB&quot;
  --- NEW Physical volume ---
  PV Name               /dev/md3
  VG Name
  PV Size               199.88 MB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               a00wd1-tPYt-zeuf-dybg-WbOX-3KDb-JYWlU6
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
So, we see here that the three 100MB loopback files have been combined to a 200MB RAID5 LVM2 Physical Volume (3 disks - 1 parity = 2 disks * 100 MB = 200MB usable space)&lt;br /&gt;
&lt;br /&gt;
Next we will create a LVM2 Volume Group:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo vgcreate lvm-group /dev/md3
  Volume group &quot;lvm-group&quot; successfully created

stratos@yoda:~/sandbox$ sudo vgdisplay
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               196.00 MB
  PE Size               4.00 MB
  Total PE              49
  Alloc PE / Size       0 / 0
  Free  PE / Size       49 / 196.00 MB
  VG UUID               D6c2DE-YS5R-MM8M-rle5-J117-uF11-KORUYB
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
From the &lt;b&gt;vgdisplay&lt;/b&gt;&amp;nbsp;command we should note the &lt;b&gt;Free PE size&lt;/b&gt;&amp;nbsp;value. PE stands for &lt;b&gt;Physical Extends&lt;/b&gt;&amp;nbsp;and it the minimum amount of storage unit that we can use to create our final LVM2 volumes.  Basically we have 49 PE to allocate as we wish for LVM2 volumes. Each PE is 196MB / 49 = 4MB of size.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s create a LVM2 Logical Volume with 20 PE (20 * 4MBs = 80MB):&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo lvcreate -l 20 lvm-group -n myVolume
  Logical volume &quot;myVolume&quot; created

stratos@yoda:~/sandbox$ sudo lvdisplay
  --- Logical volume ---
  LV Name                /dev/lvm-group/myVolume
  VG Name                lvm-group
  LV UUID                qtWGgg-NIgm-l3qz-YYLP-tCG2-FApD-oVd8il
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                80.00 MB
  Current LE             20
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:5
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the LVM2 volume has been created.  Let&#39;s see what&#39;s left from the lvm-group Volume Group:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo vgdisplay
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               196.00 MB
  PE Size               4.00 MB
  Total PE              49
  Alloc PE / Size       20 / 80.00 MB
  Free  PE / Size       29 / 116.00 MB
  VG UUID               D6c2DE-YS5R-MM8M-rle5-J117-uF11-KORUYB
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
OK.  The allocated PE are 20 and we have another 29 unallocated.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Create the mountable volume&lt;/span&gt;&lt;br /&gt;
The newly created LVM2 volume is unformatted:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mkfs.ext4 /dev/lvm-group/myVolume
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
20480 inodes, 81920 blocks
4096 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
10 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#39;s mount it:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ mkdir myVolume

stratos@yoda:~/sandbox$ sudo mount /dev/lvm-group/myVolume myVolume

stratos@yoda:~/sandbox$ ls -al
total 307217
drwxr-xr-x  3 stratos stratos      4096 2010-10-02 00:31 .
drwxr-xr-x 10 stratos stratos      4096 2010-10-02 00:06 ..
drwxr-xr-x  3 root    root         1024 2010-10-02 00:30 myVolume
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid1
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid2
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid3

stratos@yoda:~/sandbox$ cd myVolume/

stratos@yoda:~/sandbox/myVolume$ ls -al
total 17
drwxr-xr-x 3 root    root     1024 2010-10-02 00:30 .
drwxr-xr-x 3 stratos stratos  4096 2010-10-02 00:31 ..
drwx------ 2 root    root    12288 2010-10-02 00:30 lost+found
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
So, now we finally have a 80MB volume that is sitting atop a RAID5 partition.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s put some files in the this volume so we can test if the tests we will run later on will make us lose our data.&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox/myVolume$ sudo sh -c &quot;echo &#39;Hello LVM2 logical volume&#39; &gt; test.txt&quot;

stratos@yoda:~/sandbox/myVolume$ cat test.txt
Hello LVM2 logical volume
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
As long as the **test.txt** file is there through all our following tests, then our data is safe.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;LVM2 Manipulation&lt;/span&gt;&lt;br /&gt;
Let&#39;s play with the 49 available PE given to us from the lvm-group Volume Group.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Add more volumes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Create another LVM2 Logical volume:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ &lt;b&gt;sudo lvcreate -l 10 lvm-group -n myVolume2&lt;/b&gt;
  Logical volume &quot;myVolume2&quot; created

stratos@yoda:~/sandbox$ sudo mkfs.ext4 /dev/lvm-group/myVolume2
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
10240 inodes, 40960 blocks
2048 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=41943040
5 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

stratos@yoda:~/sandbox$ mkdir myVolume2

stratos@yoda:~/sandbox$ sudo mount /dev/lvm-group/myVolume2 myVolume2

stratos@yoda:~/sandbox$ ls -al
total 307218
drwxr-xr-x  4 stratos stratos      4096 2010-10-02 11:39 .
drwxr-xr-x 10 stratos stratos      4096 2010-10-02 00:06 ..
drwxr-xr-x  3 root    root         1024 2010-10-02 00:42 myVolume
drwxr-xr-x  3 root    root         1024 2010-10-02 11:39 myVolume2
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid1
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid2
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid3
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Now we have another volume with 10 PE (40MB).  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Resize volumes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We have &lt;b&gt;myVolume&lt;/b&gt;&amp;nbsp;with 20 PE and &lt;b&gt;myVolume2&lt;/b&gt;&amp;nbsp;with 10 PE.  We should have 19 PE still unallocated.&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo vgdisplay
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               196.00 MB
  PE Size               4.00 MB
  Total PE              49
  Alloc PE / Size       30 / 120.00 MB
  Free  PE / Size       19 / 76.00 MB
  VG UUID               D6c2DE-YS5R-MM8M-rle5-J117-uF11-KORUYB
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Let&#39;s increase the size of &lt;b&gt;myVolume&lt;/b&gt;&amp;nbsp;by 10 PE:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo lvextend -l+10 /dev/lvm-group/myVolume
  Extending logical volume myVolume to 120.00 MB
  Logical volume myVolume successfully resized

stratos@yoda:~/sandbox$ sudo umount myVolume

stratos@yoda:~/sandbox$ sudo e2fsck -f /dev/lvm-group/myVolume
e2fsck 1.41.9 (22-Aug-2009)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/lvm-group/myVolume: 12/20480 files (8.3% non-contiguous), 8240/81920 blocks

stratos@yoda:~/sandbox$ sudo resize2fs /dev/lvm-group/myVolume
resize2fs 1.41.9 (22-Aug-2009)
Resizing the filesystem on /dev/lvm-group/myVolume to 122880 (1k) blocks.
The filesystem on /dev/lvm-group/myVolume is now 122880 blocks long.
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Do we still have our files?&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mount /dev/lvm-group/myVolume myVolume

stratos@yoda:~/sandbox$ cd myVolume

\stratos@yoda:~/sandbox/myVolume$ ls -al
total 18
drwxr-xr-x 3 root    root     1024 2010-10-02 00:42 .
drwxr-xr-x 4 stratos stratos  4096 2010-10-02 11:39 ..
drwx------ 2 root    root    12288 2010-10-02 00:30 lost+found
-rw-r--r-- 1 root    root       26 2010-10-02 00:42 test.txt

stratos@yoda:~/sandbox/myVolume$ cat test.txt
Hello LVM2 logical volume
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
So far so good.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Remove volumes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We have another volume, &lt;b&gt;myVolume2&lt;/b&gt;&amp;nbsp;that we created for fun for 10 PE (40 MB). Let&#39;s remove it and reclaim the space:&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: bash; toolbar: false;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
stratos@yoda:~/sandbox/myVolume$ cd ..

stratos@yoda:~/sandbox$ sudo umount myVolume2

stratos@yoda:~/sandbox$ sudo lvremove /dev/lvm-group/myVolume2
Do you really want to remove active logical volume &quot;myVolume2&quot;? [y/n]: y
  Logical volume &quot;myVolume2&quot; successfully removed

stratos@yoda:~/sandbox$ sudo vgdisplay
  --- Volume group ---
  VG Name               lvm-group
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               196.00 MB
  PE Size               4.00 MB
  Total PE              49
  Alloc PE / Size       30 / 120.00 MB
  Free  PE / Size       19 / 76.00 MB
  VG UUID               D6c2DE-YS5R-MM8M-rle5-J117-uF11-KORUYB
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
So, now we have 19 free PE.  The allocated 30 are from &lt;b&gt;myVolume&lt;/b&gt; (20 initial + 10 after the resize)&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3455817845577823504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3455817845577823504'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/lvm2-setup.html' title='LVM2 Setup'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-9018712229530180311</id><published>2010-10-20T11:10:00.001+03:00</published><updated>2011-05-10T17:34:32.459+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="raid"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Initial Setup of RAID Array</title><content type='html'>Now we have three partitions /dev/loop1, /dev/loop2 and /dev/loop3 that will imitate some actual /dev/sdXX, /dev/sdXX and /dev/sdXX partitions.&lt;br /&gt;
&lt;br /&gt;
Now, let&#39;s combined them to create our RAID5 array:&lt;br /&gt;
&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: bash; toolbar: false;&quot;&gt;&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo mdadm --create --verbose /dev/md3 -l5 -n3 /dev/loop1 /dev/loop2 /dev/loop3
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 102336K
mdadm: array /dev/md3 started.
]]&gt;&lt;/script&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/9018712229530180311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/9018712229530180311'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/initial-setup-of-raid-array.html' title='Initial Setup of RAID Array'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-3434419658268383984</id><published>2010-10-20T11:05:00.001+03:00</published><updated>2011-05-10T17:33:18.814+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="raid"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Creating the RAID sandbox</title><content type='html'>The sandbox will consist of some loopback files that will simulate disk partitions.  We will use these &quot;fake&quot; partitions to create our array.  That way there will be no harm on your actual disks.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s imitate the creation of the RAID5 partition.  First we will create three loopback files of 100MB each:&lt;br /&gt;
&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: bash; toolbar: false;&quot;&gt;&lt;![CDATA[
stratos@yoda:/tmp$ cd ~

stratos@yoda:~$ cd sandbox/

stratos@yoda:~/sandbox$ dd if=/dev/zero of=raid1 bs=10240 count=10240
10240+0 records in
10240+0 records out
104857600 bytes (105 MB) copied, 0.315455 s, 332 MB/s

stratos@yoda:~/sandbox$ cp raid1 raid2

stratos@yoda:~/sandbox$ cp raid1 raid3

stratos@yoda:~/sandbox$ ls -al
total 307216
drwxr-xr-x  2 stratos stratos      4096 2010-10-01 23:56 .
drwxr-xr-x 11 stratos stratos      4096 2010-10-01 23:55 ..
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid1
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid2
-rw-r--r--  1 stratos stratos 104857600 2010-10-01 23:56 raid3
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
With the loopback files created we can mount them as partitions:&lt;br /&gt;
&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: bash; toolbar: false;&quot;&gt;&lt;![CDATA[
stratos@yoda:~/sandbox$ sudo losetup /dev/loop1 raid1
stratos@yoda:~/sandbox$ sudo losetup /dev/loop2 raid2
stratos@yoda:~/sandbox$ sudo losetup /dev/loop3 raid3
]]&gt;&lt;/script&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3434419658268383984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/3434419658268383984'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/creating-raid-sandbox.html' title='Creating the RAID sandbox'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7583029690072483259.post-6616257208452121865</id><published>2010-10-05T23:37:00.000+03:00</published><updated>2011-12-13T22:32:32.103+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="reading"/><category scheme="http://www.blogger.com/atom/ns#" term="sci-fi"/><title type='text'>The Demon Princes</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;float: right;&quot;&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=gt0ca-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0312853025&amp;amp;nou=1&amp;amp;ref=qf_sp_asin_til&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=EEEEEE&amp;amp;bg1=EEEEEE&amp;amp;f=ifr&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;blockquote&gt;
Kirth Gersen carries in his pocket a slip of paper with a list of five names written on it. Theses are the names of the five Demon Princes who led the historic Mount Pleasant Massacre, which destroyed not only Kirth&#39;s family but his entrire world as well. He roams the universe, searching the endless galaxies of space, hunting down the Demon Princes and exacting his revenge. Three princes will fall before Kirth&#39;s work is done, and two more await their doom...&lt;/blockquote&gt;
&lt;i&gt;(from the book&#39;s back cover)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is Volume One that includes the first three books of the series:&amp;nbsp;&lt;b&gt;The Star King&lt;/b&gt;,&amp;nbsp;&lt;b&gt;The Killing Machine&lt;/b&gt;&amp;nbsp;and&amp;nbsp;&lt;b&gt;The Palace of Love.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;The Star King&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Gesrhen is against&amp;nbsp;&lt;b&gt;Attel Malagate&lt;/b&gt;. Attel is not human, but rather a type of species, later called Star Kings, that can quickly mutate (through&amp;nbsp;&lt;b&gt;not so&lt;/b&gt;&amp;nbsp;many generations) and approximate the best qualities of similar species that surrounds them. When humans colonized their planet, Star Kings quickly became a species that rivaled even human themselves.&lt;br /&gt;
&lt;br /&gt;
An&amp;nbsp;&lt;b&gt;interesting concept&lt;/b&gt;&amp;nbsp;in the book (apart from the detective work that Gershen has to go through to locate Attel) is&amp;nbsp;&lt;b&gt;Smade&#39;s Planet&lt;/b&gt;&amp;nbsp;and&amp;nbsp;&lt;b&gt;Smade&#39;s Tavern&lt;/b&gt;. Smade, apparently fed up with society, took his family and set up a tavern, appropriately named&amp;nbsp;&lt;i&gt;Smade&#39;s Tavern&lt;/i&gt;, on a remote uninhabited planet. The only inhabitants of the planet is Smade and his family running the tavern. The planet is locate&amp;nbsp;&lt;b&gt;Beyond&lt;/b&gt;&amp;nbsp;(beyond the limits of what is considered explored civilized galaxy) and the tavern is patroned with fugitives and outlaws looking to relax a little.&lt;br /&gt;
&lt;br /&gt;
Smade runs a quite civil establishment and although his clientele is of doubtful morality, they must obey his rules or face his wrath.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;The Killing Machine&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Killing Machine&lt;/b&gt;&amp;nbsp;contains&amp;nbsp;&lt;b&gt;THE BEST&lt;/b&gt;&amp;nbsp;villain name I have ever read:&amp;nbsp;&lt;b&gt;Kokkor Hekkus&lt;/b&gt;. It sounds so mean, that I do not even have to read a description of the vile things Mr.Hekkus has performed in his life. The fact that he is a&amp;nbsp;&lt;b&gt;&quot;hormagaunt&quot;&lt;/b&gt;, extending his life by stealing children and kind of &quot;distilling&quot; them (it doesn&#39;t even&amp;nbsp;&lt;i&gt;sound&lt;/i&gt;&amp;nbsp;nice), in order to extend his lifespan, doesn&#39;t make him any more likable, either.&lt;br /&gt;
&lt;br /&gt;
The concept of the&amp;nbsp;&lt;b&gt;&quot;Interchange&quot;&lt;/b&gt;&amp;nbsp;is the&amp;nbsp;&lt;i&gt;interesting fact&lt;/i&gt;&amp;nbsp;of this book. Basically the Interchange, located in a secure planet, acts as an intermediary between kidnappers and ransomers. They safely keep the kidnapped victims and accept payments from their family that they forward to the kidnappers. Their motto is that everything is civilized and they offer the assurance and the much needed&amp;nbsp;&lt;i&gt;good faith&lt;/i&gt;&amp;nbsp;that the whole procedure will be as smooth as possible with no surprises from either party. They take a cut of the ransom and try to be as civilized and humane to the kidnap victims. Since they guarantee such efficiency, it is to the best interest of everyone involved that they continue providing their services as is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;The Palace of Love&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Gershen is after&amp;nbsp;&lt;b&gt;Viole Falush&lt;/b&gt;&amp;nbsp;on this one.&lt;br /&gt;
&lt;br /&gt;
With all due respect to Mr.Vance, this book hurt my head. Having to read through so much rumble from the mad poet&amp;nbsp;&lt;b&gt;Navarth&lt;/b&gt;&amp;nbsp;(oh, he was quite mad, alright) was making me skip a page every so often just to get to the conclusion of it all. I had no interest at all on either Viole Falush, the plot as it was unfolding, or their dialogs, that were disjointed and led to no plausible or understandable conclusions.&lt;br /&gt;
&lt;br /&gt;
My guess is, that even if you&amp;nbsp;&lt;b&gt;skip this book&lt;/b&gt;, in the&amp;nbsp;&lt;b&gt;Demon Princes&lt;/b&gt;&amp;nbsp;pentalogy, you wont miss much.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/6616257208452121865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7583029690072483259/posts/default/6616257208452121865'/><link rel='alternate' type='text/html' href='http://stratosgear.blogspot.com/2010/10/demon-princes.html' title='The Demon Princes'/><author><name>stratosgear</name><uri>http://www.blogger.com/profile/00420795588364704973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>