<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3030740889499952565</id><updated>2011-12-31T03:30:10.236-08:00</updated><title type='text'>DIY is the way</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-9060943304835280739</id><published>2011-12-31T03:22:00.000-08:00</published><updated>2011-12-31T03:30:10.247-08:00</updated><title type='text'>WPA-WPS cracked!</title><content type='html'>Yep... you heard the news.. WiFi networks with WPA2 and WPS enabled can be cracked...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I read the &lt;a href="http://sviehb.files.wordpress.com/2011/12/viehboeck_wps.pdf"&gt;PDF/paper&lt;/a&gt; and tried &lt;a href="http://code.google.com/p/reaver-wps/"&gt;the tool&lt;/a&gt; released a few days ago.. AND IT WORKED.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At about 7 seconds per attempt, my Devolo router was cracked open in 9.7 hours...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, beware... long passphrases do not work anymore. You have to DISABLE WPS until it's fixed by a firmware upgrade! Plain WPA2 is still pretty secure with a big &amp;amp; hard-to-guess key.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-9060943304835280739?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/9060943304835280739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=9060943304835280739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/9060943304835280739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/9060943304835280739'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/12/wpa-wps-cracked.html' title='WPA-WPS cracked!'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-3752149414286951159</id><published>2011-11-09T04:22:00.000-08:00</published><updated>2011-11-09T04:34:33.603-08:00</updated><title type='text'>Monitor temperatures in linux</title><content type='html'>&lt;div style="text-align: left;"&gt;I usually don't want to know the temperature of my CPU etc, so I don't want an indicator applet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But once a month (when I do video editing or calculate how much fuel my rocket will need to reach Mars) I would like to be able to see vital system temperatures.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following simple command will do just that, provided that you have package "lm-sensors" installed:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;watch "sensors | grep °C | grep -v '+0.0°C' "&lt;/b&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reading the command from left to right:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;first we start "watch", which issues a command over and over again every two seconds&lt;/li&gt;&lt;li&gt;the command to run is "sensors"&lt;/li&gt;&lt;li&gt;we filter the command's output so that only temperatures are displayed (celcius for me ;) )&lt;/li&gt;&lt;li&gt;we filter out sensors that just show 0.0 degrees (grep -v option)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and it looks like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-FBeYiySnOHk/TrpyUOKi6DI/AAAAAAAADN4/eSxYleK1o1c/s1600/Screenshot%2Bat%2B2011-11-09%2B14%253A21%253A37.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://3.bp.blogspot.com/-FBeYiySnOHk/TrpyUOKi6DI/AAAAAAAADN4/eSxYleK1o1c/s400/Screenshot%2Bat%2B2011-11-09%2B14%253A21%253A37.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5672972372351838258" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 92px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Neat, huh?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The thing is one of my sensors was appearing twice, so I had to &lt;b&gt;add a final part to the command&lt;/b&gt;, just to take out one line:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; "sensors | grep °C | grep -v '+0.0°C'&lt;b&gt; | grep -v '(crit = +100.0°C)'&lt;/b&gt;"&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-3752149414286951159?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/3752149414286951159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=3752149414286951159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/3752149414286951159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/3752149414286951159'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/11/monitor-temperatures-in-linux.html' title='Monitor temperatures in linux'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-FBeYiySnOHk/TrpyUOKi6DI/AAAAAAAADN4/eSxYleK1o1c/s72-c/Screenshot%2Bat%2B2011-11-09%2B14%253A21%253A37.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-542741554248058111</id><published>2011-11-03T04:30:00.000-07:00</published><updated>2011-11-03T04:35:24.421-07:00</updated><title type='text'>Easy screencasting in Ubuntu 11.10</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" &gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I will use the tool called &lt;a href="https://wiki.ubuntu.com/ScreenCasts/RecordMyDesktop"&gt;recordMyDesktop&lt;/a&gt;. Install it along with volume controller app:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;#sudo  apt-get install recordmydesktop gtk-recordmydesktop pavucontrol&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now run recordMyDesktop and start recording. &lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/-z220SOLVaas/TrJ8SHldwLI/AAAAAAAADNA/jYMMKjUPaMg/s1600/Screenshot%2Bat%2B2011-11-03%2B13%253A32%253A55.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://2.bp.blogspot.com/-z220SOLVaas/TrJ8SHldwLI/AAAAAAAADNA/jYMMKjUPaMg/s320/Screenshot%2Bat%2B2011-11-03%2B13%253A32%253A55.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5670731531528552626" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 192px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Also run pavucontrol, go to Recording tab, click the button and choose "Monitor of ..." (as shown above).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can switch it back to "Internal Audio Analog Stereo" or whatever it was to record your microphone's input during recording..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Easy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-542741554248058111?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/542741554248058111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=542741554248058111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/542741554248058111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/542741554248058111'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/11/easy-screencasting-in-ubuntu-1110.html' title='Easy screencasting in Ubuntu 11.10'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-z220SOLVaas/TrJ8SHldwLI/AAAAAAAADNA/jYMMKjUPaMg/s72-c/Screenshot%2Bat%2B2011-11-03%2B13%253A32%253A55.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-1354868695243340803</id><published>2011-10-03T13:27:00.001-07:00</published><updated>2011-10-03T13:36:55.460-07:00</updated><title type='text'>Dual USB cable</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Quickie DIY: USB cable to connect two devices: Micro-USB and/or Mini-USB. Compact to carry with me, yet compatible with most cell phones and other small devices!&lt;br /&gt;&lt;div style="text-align: center; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/-0CCbchOsMX0/Toobq3JVzjI/AAAAAAAADJY/4GoTNcFQw7U/s1600/IMAG0935.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/-0CCbchOsMX0/Toobq3JVzjI/AAAAAAAADJY/4GoTNcFQw7U/s320/IMAG0935.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5659366304916033074" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 192px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;Simple as hell, just cut a USB-mini-USB and a USB-micro-USB cable and connect the 4 little wires in each one of them with the corresponding wires from the others.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/-UBmVMSYc8KM/ToobrG-9VGI/AAAAAAAADJg/II0Jm_aPX44/s320/IMAG0936.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5659366309167453282" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 192px; " /&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Offcourse both end connectors should not be used at the same time if the main device (USB plug) is providing more than power... &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S.: Yep, new blog design!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-1354868695243340803?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/1354868695243340803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=1354868695243340803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1354868695243340803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1354868695243340803'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/10/dual-usb-cable.html' title='Dual USB cable'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-0CCbchOsMX0/Toobq3JVzjI/AAAAAAAADJY/4GoTNcFQw7U/s72-c/IMAG0935.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-86337704722259633</id><published>2011-06-13T12:08:00.000-07:00</published><updated>2011-06-13T12:22:03.760-07:00</updated><title type='text'>Ubuntu 11.04 is simply a failure...</title><content type='html'>&lt;div&gt;Why is Ubuntu 11.04 so buggy? I am experiencing various severe bugs daily!&lt;div&gt;The following sample log is disappointing:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-ud-1LXuPAWI/TfZio2NwtOI/AAAAAAAAC9s/ZUNW8DwNLR0/s1600/110600%2Bbugs2" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-ndOXUSpe85s/TfZioTwJscI/AAAAAAAAC9k/ABT9Bo4k4Sg/s1600/110600%2Bbugs1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 196px; height: 200px;" src="http://3.bp.blogspot.com/-ndOXUSpe85s/TfZioTwJscI/AAAAAAAAC9k/ABT9Bo4k4Sg/s200/110600%2Bbugs1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5617786029827797442" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-ud-1LXuPAWI/TfZio2NwtOI/AAAAAAAAC9s/ZUNW8DwNLR0/s1600/110600%2Bbugs2" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/-ud-1LXuPAWI/TfZio2NwtOI/AAAAAAAAC9s/ZUNW8DwNLR0/s200/110600%2Bbugs2" border="0" alt="" id="BLOGGER_PHOTO_ID_5617786039078794466" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 186px; height: 200px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" &gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&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;After a few days I just stopped logging.. I hope they get fixed soon... or I'll be looking for a new OS (maybe Ubuntu 10.10?). &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-86337704722259633?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/86337704722259633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=86337704722259633' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/86337704722259633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/86337704722259633'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/06/ubuntu-1104-is-simply-failure.html' title='Ubuntu 11.04 is simply a failure...'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ndOXUSpe85s/TfZioTwJscI/AAAAAAAAC9k/ABT9Bo4k4Sg/s72-c/110600%2Bbugs1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-8890599268132685466</id><published>2011-04-09T03:01:00.000-07:00</published><updated>2011-04-09T03:25:39.028-07:00</updated><title type='text'>E4rat on SSDs: Useless?</title><content type='html'>After reading &lt;a href="http://lifehacker.com/#%215790311/e4rat-cuts-your-linux-pcs-boot-time-in-half-with-a-few-simple-commands"&gt;Lifehacker's post on e4rat&lt;/a&gt; (an app that's supposed to "seriously cut down on Linux Boot time" according to Lifehacker) I have a few notes to make:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. It INCREASED my boot-time by 2-5 seconds! Yes, instead of decreasing it, it increased it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The most probable reason is that I'm testing it on an SSD. Also, although some programs' startup times have decreased (OpenOffice.org), it did not affect Firefox/Chrome/Pidgin, so my overall "startup+start programs" time is actually longer than before!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Disabling e4rat (by removing the option at grub, undoing step3 in Lifehacker's guide) fortunately brings back original startup times, while OpenOffice.org still loads pretty fast.&lt;br /&gt;&lt;br /&gt;2. there is no 64-bit deb available officially. &lt;a href="http://rapidshare.com/files/456584838/e4rat-0.1.5-x86_64-release.deb"&gt;Here's one&lt;/a&gt; I compiled. It works..&lt;br /&gt;&lt;br /&gt;3. You should not edit /boot/grub/grub.cfg as the article proposes (It says so in the beginning of grub.cfg, Da!). Instead change /etc/default/grub and then do # update-grub.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Conclusions:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;E4rat: nice concept, but probably useless for SSD users&lt;/li&gt;&lt;li&gt;Lifehacker almost deceived us by stating that it "Cuts Down on Linux Boot Time"&lt;/li&gt;&lt;li&gt;E4rat developer's claim "Improving Startup Times" is valid but does not guarantee System Startup Times Improvement!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-8890599268132685466?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/8890599268132685466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=8890599268132685466' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/8890599268132685466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/8890599268132685466'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/04/e4rat-on-ssds-useless.html' title='E4rat on SSDs: Useless?'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-3866058773231003396</id><published>2011-03-28T10:56:00.000-07:00</published><updated>2011-03-28T11:02:38.616-07:00</updated><title type='text'>Toggle start/stop chat programs!</title><content type='html'>While trying to increase my productivity and intensify my focus, I figured I need to disconnect completely when trying to work (write, program, even plan big projects).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the things I do is close all chat programs, so that I'm anavailable to chat. I mainly use two programs: skype and empathy. The latter includes my Gtalk, SIP, MSN, Facebook accounts...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I wrote a little script to start/stop these programs easily. Then I mapped it to a keyboard shortcut. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If the programs are running, they're quit. If not, they're started. &lt;b&gt;So it's pretty much a toggle switch for chat!&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the script:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;div&gt;skyperunning=$(echo `ps -e |grep skype | awk '{print $1}'` )&lt;/div&gt;&lt;div&gt;empathyrunning=$(echo `ps -e |grep empathy | awk '{print $1}'` )&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;if [[ $skyperunning == "" &amp;amp;&amp;amp; $empathyrunning == "" ]]; then&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;echo "Chats not running. Starting them..."&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;skype &amp;amp;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;empathy &amp;amp;&lt;/div&gt;&lt;div&gt;else&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;echo "Some or all chats running. Quitting them all..."&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if [[ $skyperunning != "" ]]; then &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;kill $skyperunning&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;fi&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if [[ $empathyrunning != "" ]]; then &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;kill $empathyrunning&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;fi&lt;/div&gt;&lt;div&gt;fi&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;I guess it can work with pretty much any program on Linux&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Future features: close/open Gmail and Calendar browser tabs, send command to silence Android phone... &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-3866058773231003396?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/3866058773231003396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=3866058773231003396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/3866058773231003396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/3866058773231003396'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/03/toggle-startstop-chat-programs.html' title='Toggle start/stop chat programs!'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-4041420781989482811</id><published>2011-02-25T10:16:00.000-08:00</published><updated>2011-02-25T10:21:04.693-08:00</updated><title type='text'>Android app: Ski Record</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-VaeUq2M3NFo/TWfy-eFj8-I/AAAAAAAACaQ/R5UEoU58Ii8/s1600/512.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/-VaeUq2M3NFo/TWfy-eFj8-I/AAAAAAAACaQ/R5UEoU58Ii8/s200/512.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5577693818563851234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-fCW7DpXeWeM/TWfyp3f_OVI/AAAAAAAACaI/M18H2l73J9c/s1600/market_link_QR.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/-fCW7DpXeWeM/TWfyp3f_OVI/AAAAAAAACaI/M18H2l73J9c/s200/market_link_QR.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5577693464608323922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Although it's not a DIY mod, I'd like to post a little ad for my Android application "Ski Record" which allows a skier, snowboarder etc to record and listen to their speed while skiing. &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;More info &amp;amp; download &lt;a href="http://skirecord.cmavrakis.com/"&gt;here&lt;/a&gt; or just use the QR...&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-4041420781989482811?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/4041420781989482811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=4041420781989482811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/4041420781989482811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/4041420781989482811'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2011/02/android-app-ski-record.html' title='Android app: Ski Record'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-VaeUq2M3NFo/TWfy-eFj8-I/AAAAAAAACaQ/R5UEoU58Ii8/s72-c/512.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-2937086143065702859</id><published>2010-11-25T03:52:00.000-08:00</published><updated>2010-11-25T04:03:17.634-08:00</updated><title type='text'>Swashplate leveler fix</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/TO5QNnVOchI/AAAAAAAAB0s/JXoBNp8KllM/s1600/DSC04491.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_sesF2ta3tOA/TO5OkwvvmOI/AAAAAAAAB0M/j6RR8fROkk4/s1600/scDSC04557.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 153px; height: 320px;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/TO5OkwvvmOI/AAAAAAAAB0M/j6RR8fROkk4/s320/scDSC04557.JPG" alt="" id="BLOGGER_PHOTO_ID_5543454584807069922" border="0" /&gt;&lt;/a&gt;I've been building my new CopterX 450 Pro R/C helicopter, and needed to do some mod to a swashplate leveler I bought.&lt;span style=";font-family:arial;font-size:100%;"  &gt; Its "feet" were too short&lt;/span&gt;&lt;span style="font-size:100%;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_sesF2ta3tOA/TO5QNnVOchI/AAAAAAAAB0s/JXoBNp8KllM/s1600/DSC04491.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/TO5QNnVOchI/AAAAAAAAB0s/JXoBNp8KllM/s320/DSC04491.JPG" alt="" id="BLOGGER_PHOTO_ID_5543456386166190610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's my fix:&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZwEZgCbn07w?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ZwEZgCbn07w?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="385" width="640"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Some pics of the heli (cablework not final):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/TO5Ol7GmEeI/AAAAAAAAB0c/ADJ6rRvRjiA/s1600/sDSC04539.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/TO5OlBEavOI/AAAAAAAAB0U/IiyHuMwA2RA/s1600/sDSC04520.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 180px;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/TO5OlBEavOI/AAAAAAAAB0U/IiyHuMwA2RA/s320/sDSC04520.JPG" alt="" id="BLOGGER_PHOTO_ID_5543454589188750562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sesF2ta3tOA/TO5Ol7GmEeI/AAAAAAAAB0c/ADJ6rRvRjiA/s1600/sDSC04539.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 180px;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/TO5Ol7GmEeI/AAAAAAAAB0c/ADJ6rRvRjiA/s320/sDSC04539.JPG" alt="" id="BLOGGER_PHOTO_ID_5543454604767138274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/TO5OkwvvmOI/AAAAAAAAB0M/j6RR8fROkk4/s1600/scDSC04557.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/TO5OP59ZnVI/AAAAAAAABz8/mNN-6htSUlM/s1600/eclass%2Bdb.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-2937086143065702859?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/2937086143065702859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=2937086143065702859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/2937086143065702859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/2937086143065702859'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2010/11/ive-been-building-my-new-copterx-450.html' title='Swashplate leveler fix'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sesF2ta3tOA/TO5OkwvvmOI/AAAAAAAAB0M/j6RR8fROkk4/s72-c/scDSC04557.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-7721023863623155857</id><published>2010-05-30T21:08:00.000-07:00</published><updated>2010-05-30T21:29:27.857-07:00</updated><title type='text'>Talks that will change your life - #1</title><content type='html'>&lt;div&gt;I watched this one live, in Palo Alto Research Center (PARC) during my visit in Stanford University. Chris Messina is the "inventor" of hashtags in twitter ("#") and a board member of the OpenID Foundation. He currently works at Google and seems pretty concerned with privacy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He talks about how users of various "simple" internet enabled devices are experiencing a simplified version of the web, and how this simplicity and lack of control can harm the new generation of coders. He then connects the trend above with the social web and problems emerge... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you have one hour watch the full video. If you only want the bare minimum watch from 26:51 to 38:45:&lt;/div&gt;&lt;div&gt;http://www.parc.com/event/1121/future-of-the-social-web.html&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-7721023863623155857?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/7721023863623155857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=7721023863623155857' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/7721023863623155857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/7721023863623155857'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2010/05/talks-that-will-change-your-life-1.html' title='Talks that will change your life - #1'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-6444453832323196037</id><published>2010-03-16T14:28:00.000-07:00</published><updated>2010-03-19T03:34:13.295-07:00</updated><title type='text'>Linux: Restoring Grub v2</title><content type='html'>&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;b&gt;I needed to restore Grub on a friend's pc, but couldn't get it done using &lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;b&gt;&lt;a href="http://diyistheway.blogspot.com/2009/05/linux-restoring-grub.html"&gt;my previous guide&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;b&gt;... So I found the official grub2 steps, proposed in Ubuntu's wiki and I'm copying them here, more like a follow-up than an original post:&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" line-height: 20px; font-family:Arial, 'Lucida Grande', sans-serif;"&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;First, grab a copy of the latest &lt;a class="http" href="http://www.ubuntu.com/getubuntu/download" style="color: black; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "&gt;Ubuntu LiveCD&lt;/a&gt; and boot it.&lt;span class="anchor" id="line-433"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Open a terminal and type&lt;span class="anchor" id="line-434"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$&lt;b&gt; sudo fdisk -l&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-435"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Now, you need to remember which device listed is your linux distribution, for reference, /dev/sda1 will be used. Now we need to mount the filesystem to /mnt&lt;span class="anchor" id="line-436"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;sudo mount /dev/sda1 /mnt&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-437"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If you have /boot on a separate partition, that need's to be mounted aswell. For reference, /dev/sda2 will be used.&lt;span class="anchor" id="line-438"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$&lt;b&gt; sudo mount /dev/sda2 /mnt/boot&lt;/b&gt;&lt;/tt&gt; &lt;span class="anchor" id="line-439"&gt;&lt;/span&gt;&lt;em&gt;Make sure you don't mix these up, pay attention to the output of FDISK&lt;/em&gt;&lt;span class="anchor" id="line-440"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li style="list-style-type: none; "&gt;Now mount the rest of your devices&lt;span class="anchor" id="line-441"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;sudo mount --bind /dev /mnt/dev&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-442"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Now chroot into your system&lt;span class="anchor" id="line-443"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;sudo chroot /mnt&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-444"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-445"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="line874"&gt;You should be chroot'd into your system as root, you can now run commands as root, without the need for sudo.&lt;span class="anchor" id="line-446"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-447"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;Now you &lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;ΜΑΥ&lt;/span&gt; need to edit the &lt;strong&gt;/etc/default/grub&lt;/strong&gt; file to fit your system&lt;span class="anchor" id="line-448"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ nano /etc/default/grub&lt;/tt&gt;&lt;span class="anchor" id="line-449"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;When that is done you need to run &lt;strong&gt;update-grub&lt;/strong&gt; to create the configuration file.&lt;span class="anchor" id="line-450"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;update-grub&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-451"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;To install GRUB 2 to the MBR, next you need to run &lt;strong&gt;grub-install /dev/sda&lt;/strong&gt;&lt;span class="anchor" id="line-452"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;grub-install /dev/sda&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-453"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;If you encounter any errors, try &lt;strong&gt;grub-install --recheck /dev/sda&lt;/strong&gt;&lt;span class="anchor" id="line-454"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ grub-install --recheck /dev/sda&lt;/tt&gt;&lt;span class="anchor" id="line-455"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Press Ctrl+D to exit out of the chroot.&lt;span class="anchor" id="line-456"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Once you exit back to your regular console, undo all the mounting, first the /dev&lt;span class="anchor" id="line-457"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;sudo umount /mnt/dev&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-458"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Now you can unmount the root system. (But if you have a separate boot partition which you mounted earlier, you have to unmount this first, or you will get a "device busy" error message.)&lt;span class="anchor" id="line-459"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt;&lt;tt&gt;$ &lt;b&gt;sudo umount /mnt&lt;/b&gt;&lt;/tt&gt;&lt;span class="anchor" id="line-460"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;And you should be &lt;b&gt;free to restart&lt;/b&gt; your system right into GRUB 2 and then into your system installation.&lt;span class="anchor" id="line-461"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line862"&gt;If you had alternate OS entries, &lt;tt&gt;update-grub&lt;/tt&gt; might say "Cannot find list of partitions!". Ignore it and continue - once you can boot into your linux installation, do so and then rerun&lt;tt&gt;update-grub&lt;/tt&gt; and &lt;tt&gt;grub-install /dev/sda&lt;/tt&gt; as root.&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-6444453832323196037?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/6444453832323196037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=6444453832323196037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/6444453832323196037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/6444453832323196037'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2010/03/linux-restoring-grub-v2.html' title='Linux: Restoring Grub v2'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-5428140690615571990</id><published>2010-03-15T14:27:00.000-07:00</published><updated>2010-03-16T16:17:53.562-07:00</updated><title type='text'>The more SSDs the better!</title><content type='html'>&lt;span class="Apple-style-span"  style="color:#009900;"&gt;I finally got to buy an SSD for my desktop, and I'm now trying to optimize it under Ubuntu 9.10 (next to Windows 7).&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;The most important part (due to the fact that it cannot be easily changed after installation) is alignment. I will not explain this in depth, let's just say you need to let the OS know how big the drive's chunks (sectors) are.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;Using the &lt;/span&gt;&lt;a href="http://www.ocztechnologyforum.com/forum/showthread.php?54379-Linux-Tips-tweaks-and-alignment&amp;amp;p=373226"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;instructions from the OCZ forum&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;, info from the Ubuntu forums and some experience I had, I followed these steps:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;install windows 7 normally (it needed to create an additional 100mb partition in the beginning of the drive :( )&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;boot ubuntu live cd, use fdisk (in a terminal) with the special options: "$ sudo fdisk -H 32 -S 32 /dev/sda" (if sda is the SSD. Change accordingly if not)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;create a partition using the "n" option, leaving  a few GB of space in the end for swap (usually equal to your ram). Note that if the windows partition does not end exactly on a cylinder (fdisk will complain about that) you should leave one or two "units" after it.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;create the swap partition using the same option&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;"$ sudo fdisk -lu /dev/sda" and divide every partition's start with 512. If the result is integer you're fine! My windows partitions seemed aligned, too!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;Install Ubuntu using the default installation wizard, but without changing the partition table!&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;Next, we got some boot options that need to be changed. &lt;span class="Apple-style-span"  style="color:#990000;"&gt;Based on estimations many review-site people did, and modern SSDs' TRIM capabilities, &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;and &lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt; my high hopes for this technology, I don't consider wear to be a problem, so I don't disable hibernation, logging, I don't use ramdisk etc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;What I did was what I got  from &lt;/span&gt;&lt;a href="http://starcubetech.blogspot.com/2008/10/ssd-optimization-on-ubuntu.html"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;1. enable noatime in grub (kernel booting option) ($ &lt;/span&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px; font-family:Verdana, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;sudo gedit /etc/fstab and change the the option “relatime” to “noatime” (or change "errors=remount-ro" to "noatime,errors=remount-ro")&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px; font-family:Verdana, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"   style=" line-height: normal;  font-family:Georgia, serif;font-size:16px;"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px; font-family:Verdana, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;2. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" line-height: normal;  font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;use the noop scheduler&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;Now, the way to do this changed in Grub2, so here it is:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;$ sudo gedit /etc/default/grub&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;find the line `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"` and add `elevator=noop` inside the double quotes (without &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;my&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt; single quotes, and along with a space, so that it becomes: `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"`)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;$ sudo update-grub&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;Lastly, I installed the &lt;/span&gt;&lt;a href="http://disktrim.sourceforge.net/"&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;diskTRIM&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt; tool, which monitors disk writes and TRIMs the SSD accordingly.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#009900;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;Turned out to be not as easy as it sounds:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;$ sudo  apt-get install gawk&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;download disktrim&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;download the latest wiper.sh and hdparm from &lt;a href="http://sourceforge.net/projects/hdparm/files/"&gt;here&lt;/a&gt; and place wiper.sh in the directory shown by /etc/disktrim/wiper-location (if you have an intel SSD look for the patched wiper.sh (aka wiper-intel.sh)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;untar the hdparm tools, open terminal, cd to the directory, type "make" then "sudo make install"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;open disktrim, set up a new drive, and try manual trim. if it seems ok, use the commit option to do it for real... be sure to backup first!&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-5428140690615571990?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/5428140690615571990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=5428140690615571990' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/5428140690615571990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/5428140690615571990'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2010/03/more-ssds-better.html' title='The more SSDs the better!'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-1067489521410326800</id><published>2010-02-11T16:32:00.000-08:00</published><updated>2010-02-11T17:21:59.501-08:00</updated><title type='text'>Thinklight equivalent</title><content type='html'>&lt;div&gt;So, over the years I've been staring at the Thinkpad's thinklights and wondering why my Lenovo 3000 V100 doesn't have one.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While waiting for the x200s (Thinkpad that is) to get cheaper and within my price range, I added some of the missing functionality to my laptop.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After opening up the bezel, I'm looking at the webcam's usb connector and trying to solder a wire to it... No success. I can't get power from here.&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/S3SiSL0RUlI/AAAAAAAAAUg/DiZG3d4RbmY/s1600-h/DSC02731.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_sesF2ta3tOA/S3SiSL0RUlI/AAAAAAAAAUg/DiZG3d4RbmY/s320/DSC02731.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437149083436405330" style="cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The LCD's inverter is my next victim. I locate a 3.3V high connector and solder a wire to it:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/S3SiSVRb5JI/AAAAAAAAAUo/9LI-K8kMQG0/s1600-h/DSC02735.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_sesF2ta3tOA/S3SiSVRb5JI/AAAAAAAAAUo/9LI-K8kMQG0/s320/DSC02735.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437149085974652050" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ok, now pick up a switch:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/S3SiS9qmchI/AAAAAAAAAUw/3-bhV8wjuVk/s1600-h/DSC02737.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_sesF2ta3tOA/S3SiS9qmchI/AAAAAAAAAUw/3-bhV8wjuVk/s320/DSC02737.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437149096817619474" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and solder it to a resistor (after calculating the correct value offcourse!):&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SiTNlPAwI/AAAAAAAAAU4/HXpt2MpV5dI/s1600-h/DSC02738.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SiTNlPAwI/AAAAAAAAAU4/HXpt2MpV5dI/s320/DSC02738.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437149101090079490" style="cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apply some isolation measures, route the cables and solder the power (+3.3V) to the resistor and switch:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/S3Skpv8_6YI/AAAAAAAAAVg/pyBXU8NQu6c/s1600-h/DSC02741.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_sesF2ta3tOA/S3Skpv8_6YI/AAAAAAAAAVg/pyBXU8NQu6c/s320/DSC02741.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437151687296936322" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, the switch's interface. I first made a big hole so that the blue part of the switch would be accessible, but that turned out to be stupid.&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SqIgjZiGI/AAAAAAAAAWA/hQHgeswbVDw/s1600-h/DSC02739.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SqIgjZiGI/AAAAAAAAAWA/hQHgeswbVDw/s320/DSC02739.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437157713297115234" style="cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Adding a hot peace of metal did the job for the switch. I also set the led so that it glows towards the keyboard. &lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SkpBJHfbI/AAAAAAAAAVY/Zi29APO4M3I/s1600-h/DSC02742.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SkpBJHfbI/AAAAAAAAAVY/Zi29APO4M3I/s320/DSC02742.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437151674731298226" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The led's ground is -almost- soldered to one of the boltholes which is grounded.&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/S3SkorJi0zI/AAAAAAAAAVQ/ujPaPPI2O3k/s1600-h/DSC02743.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_sesF2ta3tOA/S3SkorJi0zI/AAAAAAAAAVQ/ujPaPPI2O3k/s320/DSC02743.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437151668827509554" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And voila, all these black pieces of tape are my achievement...&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SkoKkGNGI/AAAAAAAAAVA/HK-dcWtGzXQ/s1600-h/DSC02752.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SkoKkGNGI/AAAAAAAAAVA/HK-dcWtGzXQ/s320/DSC02752.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437151660080510050" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Finished product (almost; missing black tape over led):&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SkoTiKVOI/AAAAAAAAAVI/TxkvKScLojc/s1600-h/DSC02744.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_sesF2ta3tOA/S3SkoTiKVOI/AAAAAAAAAVI/TxkvKScLojc/s320/DSC02744.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437151662488311010" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SnxOSKBdI/AAAAAAAAAV4/v3PRWnMIRVY/s1600-h/DSC02773.JPG"&gt;&lt;/a&gt;This is after some black tape has been applied, so that light only goes towards keyboards and not the user's eyes.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/S3Snw6vj46I/AAAAAAAAAVw/cwTpwJ3Ob2E/s1600-h/DSC02767.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/S3Snw6vj46I/AAAAAAAAAVw/cwTpwJ3Ob2E/s320/DSC02767.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437155108987331490" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/S3Snw6vj46I/AAAAAAAAAVw/cwTpwJ3Ob2E/s1600-h/DSC02767.JPG"&gt;&lt;/a&gt;And during the night:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SnwsskElI/AAAAAAAAAVo/5HIgxV2pRg8/s1600-h/DSC02762.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SnwsskElI/AAAAAAAAAVo/5HIgxV2pRg8/s320/DSC02762.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437155105216664146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Led &amp;amp; switch detail:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SnxOSKBdI/AAAAAAAAAV4/v3PRWnMIRVY/s1600-h/DSC02773.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_sesF2ta3tOA/S3SnxOSKBdI/AAAAAAAAAV4/v3PRWnMIRVY/s320/DSC02773.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5437155114232710610" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-1067489521410326800?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/1067489521410326800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=1067489521410326800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1067489521410326800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1067489521410326800'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2010/02/thinklight-equivalent.html' title='Thinklight equivalent'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sesF2ta3tOA/S3SiSL0RUlI/AAAAAAAAAUg/DiZG3d4RbmY/s72-c/DSC02731.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-1610375849628645903</id><published>2009-05-01T19:27:00.000-07:00</published><updated>2010-03-21T07:55:13.987-07:00</updated><title type='text'>Linux: Restoring Grub</title><content type='html'>&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;EDIT: Read my most recent post &lt;/span&gt;&lt;a href="http://diyistheway.blogspot.com/2010/03/linux-restoring-grub-v2.html"&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt; if you have Grub2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;I bought an SSD disk for my laptop, and copied all of my files over from the old HDD. I just used the cp command, along with some options to copy the whole partition. I made some changes in Grub's menu and fstab, reinstalled Grub and Voila! My old configuration booted right away from the SSD! Boot time cut in half..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(guide for to-SSD transfer and tweaks will be posted later on..)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;This is a guide/walkthrough I made by copying and pasting instructions intended to help you restore GRUB bootloader in case it became corrupted/deleted.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;First try the easy method:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;In terminal type:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo grub&lt;/span&gt;&lt;br /&gt;then&lt;br /&gt;&lt;span style="font-style: italic;"&gt;find /boot/grub/stage1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;According to the output, type:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;root (hd0,0)&lt;/span&gt;&lt;br /&gt;then:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;setup (hd0)&lt;/span&gt;&lt;br /&gt;or maybe (hd0,0)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;If that failed, do this:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;(&lt;a href="http://www.linuxselfhelp.com/gnu/grub/html_chapter/grub_3.html"&gt;source&lt;/a&gt;)&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt; &lt;pre&gt;sudo &lt;kbd&gt;grub-install --root-directory=/media/disk/ /dev/sda&lt;/kbd&gt;&lt;/pre&gt; (if the file system to-repair is mounted on "disk", and the disk to boot is "sda")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;If it fails too (grub can't find stage1 or hd0), try:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;(&lt;a href="http://ubuntuforums.org/showthread.php?t=224351" target="_blank"&gt;source&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;You have to mount your root partition using the livecd:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;sudo mkdir /mnt/root&lt;/pre&gt; &lt;/div&gt; &lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;sudo mount -t ext3 /dev/sda6 /mnt/root&lt;/pre&gt; &lt;/div&gt;Then you have to mount the proc subsystem and udev inside /mnt/root also:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;sudo mount -t proc none /mnt/root/proc&lt;/pre&gt; &lt;/div&gt; &lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;sudo mount -o bind /dev /mnt/root/dev&lt;/pre&gt; &lt;/div&gt;Doing this allows grub to discover your drives. Next you have to chroot:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;sudo chroot /mnt/root /bin/bash&lt;/pre&gt; &lt;/div&gt;Now that you're chrooted into your drive as root everything should work.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;sudo grub&lt;/pre&gt; &lt;/div&gt;   &lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;grub&gt; find /boot/grub/stage1&lt;/pre&gt; &lt;/div&gt;It found mine on (hd0,0). &lt;span style="color: rgb(255, 0, 0);"&gt;Your configuration may vary. Alter the following command according to your system!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;grub&gt; root (hd0,0)&lt;/pre&gt; &lt;/div&gt;It successfully scanned the partition and recognized the filesystem-type&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px 20px 20px;"&gt;  &lt;div style="margin-bottom: 2px;"&gt;Code:&lt;/div&gt;  &lt;pre dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;"&gt;grub&gt; setup (hd0)&lt;/pre&gt; &lt;/div&gt;That was it. It installed and on reboot I was thrown back into Ubuntu.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Finally, if the previous didn't work, either, try installing Ubuntu in a new partition (as small as possible, 4GB) Hopefully the newly installed GRUB will work and recognize the old installation.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;If you want to keep this config you might be able to do so by deleting all files in the secondary installation, except the /boot directory. Then shrink the partition to minimum and edit /boot/grub/menu.lst to only list valid kernels. I haven't tried this but it might work as a last resort solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-1610375849628645903?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/1610375849628645903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=1610375849628645903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1610375849628645903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1610375849628645903'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2009/05/linux-restoring-grub.html' title='Linux: Restoring Grub'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-6325607046501914462</id><published>2009-04-26T04:00:00.000-07:00</published><updated>2009-04-26T04:00:01.271-07:00</updated><title type='text'></title><content type='html'>Ok, here are some mini DIYs I did over the past months, in order to provide solutions to common everyday problems.&lt;br /&gt;&lt;br /&gt;1. Extended life for an MP3 player:&lt;br /&gt;Needed the Creative MuVo (256mb) to be able to record the full 2 hour broadcast of mine (there's actually three of use, doing a radio show in Greek: &lt;a href="http://69tigers.wordpress.com/"&gt;69tigers.wordpress.com&lt;/a&gt;) but an alkaline AAA bat wasn't enough.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/Sez9LBn_wRI/AAAAAAAAAQ8/G68M6S5LPp0/s1600-h/IMG_7335.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/Sez9LBn_wRI/AAAAAAAAAQ8/G68M6S5LPp0/s320/IMG_7335.JPG" alt="" id="BLOGGER_PHOTO_ID_5326910825129034002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, add two AA NiMh batteries (2600mAh) and it lasts forever!&lt;br /&gt;(charging on-board, with a nice charger)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/Sez9LIHIYoI/AAAAAAAAAQ0/1ZNvNZXzYbo/s1600-h/IMG_7334.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/Sez9LIHIYoI/AAAAAAAAAQ0/1ZNvNZXzYbo/s320/IMG_7334.JPG" alt="" id="BLOGGER_PHOTO_ID_5326910826870235778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Funny looking air humidifier:&lt;br /&gt;Really draft constraction... Needed something cheap and fast (couldn't wait for HongKong post).&lt;br /&gt;So, one bowl with water, one fan to blow air towards it (the big, horizontal one) and another fan with a metal attached to disturb the water.&lt;br /&gt;&lt;br /&gt;It works OK but makes the surrounding space really wet...&lt;br /&gt;I'll try again next winter. (hot-air-conditioning dries the air up)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/Sez9JXNthGI/AAAAAAAAAQs/86i1sAm0RLs/s1600-h/IMG_7327.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/Sez9JXNthGI/AAAAAAAAAQs/86i1sAm0RLs/s320/IMG_7327.JPG" alt="" id="BLOGGER_PHOTO_ID_5326910796564628578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Modding my previous &lt;a href="http://diyistheway.blogspot.com/2008/09/usb-controlled-power-strip.html"&gt;USB Controlled Power Strip&lt;/a&gt; project: My laptop computer supplies 1.2V even when powered off. This caused the strip to not work properly. (the relay's minimum OFF voltage is above that)&lt;br /&gt;&lt;br /&gt;I added a Diode on one end of the relay's coil, so that voltage drops by 0.7V, allowing the strip to switch off when computer enters stand-by!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/Sez9LXVJzhI/AAAAAAAAARE/SyDccOefp48/s1600-h/IMG_7401.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/Sez9LXVJzhI/AAAAAAAAARE/SyDccOefp48/s320/IMG_7401.JPG" alt="" id="BLOGGER_PHOTO_ID_5326910830955580946" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-6325607046501914462?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/6325607046501914462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=6325607046501914462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/6325607046501914462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/6325607046501914462'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2009/04/ok-here-are-some-mini-diys-i-did-over.html' title=''/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sesF2ta3tOA/Sez9LBn_wRI/AAAAAAAAAQ8/G68M6S5LPp0/s72-c/IMG_7335.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-5215756595298556393</id><published>2009-04-22T03:49:00.000-07:00</published><updated>2009-04-21T17:51:18.186-07:00</updated><title type='text'>Rooting a German T-mobile G1</title><content type='html'>Today someone pm'ed me and said they had a German G1 that couldn't be rooted. With the phone in hand, I searched for 30' and found out that the activation process was a little different from &lt;a href="http://diyistheway.blogspot.com/2008/12/american-dream-vol2.html"&gt;what I was familiar with.&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;It took me another 2.5 hours to get it done, so I gathered all the knowledge in a log/guide, which I'm posting here. &lt;span style="color: rgb(102, 0, 0);"&gt;I used another G1 for the first 3 steps, but it should be the same on a linux computer with card reader. (although some people report that card readers supply false codes in step 3)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 153);"&gt;If you only have Windows installed on your pc, you may want to &lt;/span&gt;&lt;a style="color: rgb(0, 0, 153);" href="http://www.ubuntu.com/getubuntu/download"&gt;download&lt;/a&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; and boot &lt;/span&gt;&lt;a style="color: rgb(0, 0, 153);" href="http://www.ubuntu.com/"&gt;Ubuntu linux&lt;/a&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; without installing it. (although I strongly encourage you to)&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.seattletimes.nwsource.com/brierdudley/T-Mobile%20G1%20White%20Open.jpg"&gt;&lt;img style="cursor: pointer; width: 348px; height: 279px;" src="http://blog.seattletimes.nwsource.com/brierdudley/T-Mobile%20G1%20White%20Open.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;Side note: I really didn't like the backlight of the keyboard in this white G1. It made seeing the keys impossible under normal light conditions. I don't think I would be able to live like this. Thank god mine's black :P&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;insert Transcend 8GB sd card into G1 (sandisk may not work.  Lower capacities will work and may even be better. Other makes will also work)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;download Terminal Emulator from the market and open it on G1&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;type “cat /sys/class/mmc_host/mmc1/mmc1:*/cid” (without  the quotes), and keep the code given (something like  &lt;span style="font-weight: bold;"&gt;1c5356555344202010041c71f0008c5e&lt;/span&gt;)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;Reverse the code byte-wise ( my &lt;span style="font-weight: bold;"&gt;1c 53 56 55 53 44 20 20 10 04  1c 71 f0 00 8c 5e&lt;/span&gt; became &lt;span style="font-weight: bold;"&gt;5e8c00f0711c0410202044535556531c&lt;/span&gt;)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;Overwrite first two digits with&lt;span style="font-weight: bold;"&gt; 00&lt;/span&gt;s:  &lt;span style="font-weight: bold;"&gt;008c00f0711c0410202044535556531c&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;On your pc browser, go to  &lt;a href="http://revskills.de/pages/goldcard.html"&gt;http://revskills.de/pages/goldcard.html&lt;/a&gt;, paste your code and email address and hit continue (while thinking  “thank you viperbjk” or donating some money)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.7dayshop.com/catalog/images/products/prod_104986.jpg"&gt;&lt;img style="cursor: pointer; width: 199px; height: 155px;" src="http://www.7dayshop.com/catalog/images/products/prod_104986.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;format sd card to fat32 (may be good to rewrite partition  table)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;download RC7 from  &lt;a href="http://koushikdutta.blurryfox.com/G1/DREAMIMG-RC7.zip"&gt;http://koushikdutta.blurryfox.com/G1/DREAMIMG-RC7.zip&lt;/a&gt;  and extract&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;download goldcard from your email address (goldcard.img, less  than 440 bytes)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;copy DREAIMG.nbh  to SD card (CASE sensitive! Filename very  important)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;unmount /dev/sdb1&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;type in terminal: “sudo dd if=goldcard.img of=/dev/sdd”  (result: 0+1 records in, 0+1 records out, 384 bytes (384 B) copied)  (assuming your sd is in /dev/sdd)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;pull out sd card (now goldcard!) and insert into g1&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;hold camera button and press power button once&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;wait until the bootloader finds the rom and push power button  when prompted. (if you do not see this instruction, you have done  something wrong)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Continue with flashing recovery, HardSPL, RC8 &lt;a href="http://forum.xda-developers.com/showthread.php?t=442480"&gt;etc...&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:78%;"&gt;Sources:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://forum.xda-developers.com/showthread.php?t=442480"&gt;http://forum.xda-developers.com/showthread.php?t=442480&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://forum.xda-developers.com/showthread.php?t=485364"&gt;http://forum.xda-developers.com/showthread.php?t=485364&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://android-dls.com/wiki/index.php?title=Root_for_RC8"&gt;http://android-dls.com/wiki/index.php?title=Root_for_RC8&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-5215756595298556393?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/5215756595298556393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=5215756595298556393' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/5215756595298556393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/5215756595298556393'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2009/04/rooting-german-t-mobile-g1.html' title='Rooting a German T-mobile G1'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-4595671966879302085</id><published>2009-04-21T02:11:00.000-07:00</published><updated>2009-04-20T16:11:30.715-07:00</updated><title type='text'>Electronically controlled coffee machine</title><content type='html'>So, I needed to control my filter coffee machine with the Arduino for a new project of mine (will be posted later on. Coffee-making/carrying robot/alarm clock etc...).&lt;br /&gt;&lt;br /&gt;The installation is pretty simple, it's just a relay connected parallel to the coffee machine's on/off switch.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SeUTokb-8II/AAAAAAAAAQc/wKB_fmkIx5Q/s1600-h/1233105838622.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SeUTokb-8II/AAAAAAAAAQc/wKB_fmkIx5Q/s320/1233105838622.jpg" alt="" id="BLOGGER_PHOTO_ID_5324683722132222082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When 5V is applied to the relay's coil the coffee machine operates. If the (human) user switches the machine on manually (via the traditional switch) it operates normally.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/SeUToZQppPI/AAAAAAAAAQU/rykLL4SYtPM/s1600-h/1233104260397.jpg"&gt;&lt;img style="cursor: pointer; width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/SeUToZQppPI/AAAAAAAAAQU/rykLL4SYtPM/s320/1233104260397.jpg" alt="" id="BLOGGER_PHOTO_ID_5324683719131899122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Maybe I should add some fuses on the cable arriving to the coil, though.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SeUToDggwAI/AAAAAAAAAQM/T7wM6Xi0Kec/s1600-h/1233102860377.jpg"&gt;&lt;img style="cursor: pointer; width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SeUToDggwAI/AAAAAAAAAQM/T7wM6Xi0Kec/s320/1233102860377.jpg" alt="" id="BLOGGER_PHOTO_ID_5324683713292845058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finished product, the cyber-coffee machine:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SeUTny1ZS4I/AAAAAAAAAQE/kzBn_TEAgBo/s1600-h/1233106197671.jpg"&gt;&lt;img style="cursor: pointer; width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SeUTny1ZS4I/AAAAAAAAAQE/kzBn_TEAgBo/s320/1233106197671.jpg" alt="" id="BLOGGER_PHOTO_ID_5324683708817034114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Blue cable is relay-coil control.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-4595671966879302085?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/4595671966879302085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=4595671966879302085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/4595671966879302085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/4595671966879302085'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2009/04/electronically-controlled-coffee.html' title='Electronically controlled coffee machine'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sesF2ta3tOA/SeUTokb-8II/AAAAAAAAAQc/wKB_fmkIx5Q/s72-c/1233105838622.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-5449863166250510073</id><published>2009-03-09T15:10:00.000-07:00</published><updated>2010-06-08T06:20:33.833-07:00</updated><title type='text'>Thermosmart (Smart Thermostat)</title><content type='html'>So, this is a little project I did almost in the middle of my exam period, which finished a week ago. It is basically a substitution of a thermostat, regulating heating appliances in an apartment. It is web controlled and monitored, and works in auto and manual mode.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWagszHaoI/AAAAAAAAANg/bEOVDE3mhvY/s1600-h/IMG_7394.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWagszHaoI/AAAAAAAAANg/bEOVDE3mhvY/s320/IMG_7394.JPG" alt="" id="BLOGGER_PHOTO_ID_5311321222125415042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It consists of an Arduino (Duemilanove), an Arduino Ethernet Shield, a temperature sensor, a relay and a few other electronic components. (transistor, resistors, diodes etc)&lt;br /&gt;&lt;br /&gt;Via the web "interface" (pretty draft actually) one can be informed over local network or internet, of the current temperature, heating status and threshold levels. Heating can be remotely set to ON(1), OFF(0) or AUTO(0) mode, and the min and max thresholds for AUTO mode can also be set.&lt;br /&gt;&lt;br /&gt;Here's the live status of my house right now:&lt;br /&gt;&lt;iframe src="http://p46.dnsalias.com:82/" frameborder="0" height="250" width="350"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;"&gt;Technical Description&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SbWahbC74YI/AAAAAAAAANw/iC-kPQys060/s1600-h/IMG_7343.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SbWahbC74YI/AAAAAAAAANw/iC-kPQys060/s320/IMG_7343.JPG" alt="" id="BLOGGER_PHOTO_ID_5311321234539798914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I started with interfacing the existing thermostat. I didn't substitute it, I just bypassed it.&lt;br /&gt;A JS-1 relay was used to close the appropriate connections in order to get the heating started. When 5V is applied to the relay's coil, heating is on. Also added a LED and the LM35 temperature sensor so that it can get accurate readings.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/SbWahjotNhI/AAAAAAAAAN4/bhKinFB1zvA/s1600-h/IMG_7352.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/SbWahjotNhI/AAAAAAAAAN4/bhKinFB1zvA/s320/IMG_7352.JPG" alt="" id="BLOGGER_PHOTO_ID_5311321236845704722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These go through a UTP cable to the arduino. The relay &lt;a href="http://www.glacialwanderer.com/_blog/blog2008/04_April/hb_relay5.jpg"&gt;needs a 2N2222 transistor and a 1N4004 diode to be controlled&lt;/a&gt;, and the LED needs a resistor in series.&lt;br /&gt;&lt;br /&gt;The LM35 sensor outputs mV according to temperature in its middle foot. The problem is I needed more precision (something like 22.3, not 22) so I used an alternative way of connection, utilizing two diodes and a 18K resistor to get my decimals.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWd3DstO5I/AAAAAAAAAOQ/rQgoVAkulNk/s1600-h/IMG_7374.JPG"&gt;&lt;img style="cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWd3DstO5I/AAAAAAAAAOQ/rQgoVAkulNk/s320/IMG_7374.JPG" alt="" id="BLOGGER_PHOTO_ID_5311324904764554130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Because of the strange way of connection of the temperature sensor, I needed to get both (+) and (-) of its reading to the Arduino, so that it can subtract them.&lt;br /&gt;&lt;br /&gt;Testing the installation (the lovely Linksys WRT54G is serving as a network bridge to reach the rest of the internet-enabled network):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWaiA2t_HI/AAAAAAAAAOA/XyAYWgYw168/s1600-h/IMG_7371.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWaiA2t_HI/AAAAAAAAAOA/XyAYWgYw168/s320/IMG_7371.JPG" alt="" id="BLOGGER_PHOTO_ID_5311321244689103986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the final version, with the RJ-45 outlet mounted and connected:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWZxiMLSKI/AAAAAAAAANY/vA9UK1Wax3A/s1600-h/IMG_7385.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWZxiMLSKI/AAAAAAAAANY/vA9UK1Wax3A/s320/IMG_7385.JPG" alt="" id="BLOGGER_PHOTO_ID_5311320411823884450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the project at its current state, hidden in a closet along with other electronics:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWag31OO5I/AAAAAAAAANo/XsR_R_jrzRg/s1600-h/IMG_7390.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SbWag31OO5I/AAAAAAAAANo/XsR_R_jrzRg/s320/IMG_7390.JPG" alt="" id="BLOGGER_PHOTO_ID_5311321225087040402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://cmavr8.googlepages.com/Thermostat_1_0.pde"&gt;code&lt;/a&gt; is very messy and uses up every bit of the 14kB of Arduino's memory but can easily be corrected and works pretty good. I'm not proud of it, it's not in a final state, and I'll get back to it when I install one of these in friends' houses.&lt;br /&gt;&lt;br /&gt;Possible future improvements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Code&lt;/li&gt;&lt;li&gt;RJ-45 outlet on connection with original thermostat&lt;/li&gt;&lt;li&gt;Alternative way of communication (GPRS over GSM or just an XBee with a server PC)&lt;/li&gt;&lt;li&gt;Power-persistent memory (when power goes down, saved min/max thresholds are lost. Easily fixed if saved to EEPROM)&lt;/li&gt;&lt;li&gt;Beeper to indicate heater ON/OFF or just changes in MODE&lt;/li&gt;&lt;li&gt;Making the thermostat smart is all that counts. With a nicely written algorithm and patterns (no heating at night) one can save lots of money in heating. To get the heating even smarter one could use motion sensors, bluetooth of phones, or even a gps enabled Android phone to determine if heating is needed or not.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;If you have any questions or suggestions please email me.&lt;br /&gt;&lt;br /&gt;Special thanks to Miltos Allamanis and &lt;a href="http://oharilaos.blogspot.com/"&gt;Harilaos Volanis&lt;/a&gt; for their help and support throughout this project.&lt;br /&gt;&lt;br /&gt;Thanks for reading!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EDIT: &lt;a href="http://hackaday.com/2009/03/12/thermosmart-arduino-thermostat/"&gt;Posted on hackaday&lt;/a&gt;!&lt;br /&gt;Thanks for the comments guys, both here and there..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LM-35 temperature sensor wiring:&lt;/span&gt;&lt;br /&gt;To get full precision of the sensor, one should connect it like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/Sbr8w2raixI/AAAAAAAAAOY/EysPl2K_Dio/s1600-h/lm35a.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 209px;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/Sbr8w2raixI/AAAAAAAAAOY/EysPl2K_Dio/s320/lm35a.png" alt="" id="BLOGGER_PHOTO_ID_5312836626678450962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The problem for me was to find the -Vs voltage, so I tried the alternative way:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/Sbr8xffA8xI/AAAAAAAAAOg/1Uq_KUDxGuI/s1600-h/lm35b.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 206px;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/Sbr8xffA8xI/AAAAAAAAAOg/1Uq_KUDxGuI/s320/lm35b.png" alt="" id="BLOGGER_PHOTO_ID_5312836637632295698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am not quite sure it is working correctly. It does give out decimals, but very rarely.&lt;br /&gt;&lt;br /&gt;Anyway, I've found out that to get a temperature of 21 degrees, I have to set the thresholds 20.5 and 21.5 and it works just fine. More research is required to be sure and make this more scientific. I will get back to it at some point.. (probably on October, when heating is needed again)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-5449863166250510073?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/5449863166250510073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=5449863166250510073' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/5449863166250510073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/5449863166250510073'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2009/03/thermosmart.html' title='Thermosmart (Smart Thermostat)'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sesF2ta3tOA/SbWagszHaoI/AAAAAAAAANg/bEOVDE3mhvY/s72-c/IMG_7394.JPG' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-2448918726251821769</id><published>2009-02-02T07:45:00.000-08:00</published><updated>2009-02-02T07:48:54.493-08:00</updated><title type='text'>Extreme Synergy - Multiple screens (6)</title><content type='html'>This is a very simple application of the program called &lt;a href="http://synergy2.sourceforge.net/"&gt;Synergy&lt;/a&gt; (and the &lt;a href="http://quicksynergy.sourceforge.net/"&gt;Quicksynergy&lt;/a&gt; interface).&lt;br /&gt;&lt;br /&gt;&lt;span&gt;While a few friends were visiting my house, we set up a draft synergy connection just for the fun...&lt;br /&gt;&lt;br /&gt;Just one wireless keyboard and mouse controls all computers.&lt;br /&gt;(3 laptops+one monitor, 1 desktop PC, 1 tablet PC, all running Ubuntu Linux)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/VE4skHpxbTc&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/VE4skHpxbTc&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-2448918726251821769?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/2448918726251821769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=2448918726251821769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/2448918726251821769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/2448918726251821769'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2009/02/extreme-synergy-multiple-screens-6.html' title='Extreme Synergy - Multiple screens (6)'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-8938289632498472179</id><published>2008-12-05T14:24:00.000-08:00</published><updated>2009-05-03T03:42:24.047-07:00</updated><title type='text'>American Dream Vol.2</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Activating the G1, without a sim card or a valid GPRS connection.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Ok, after unlocking it, you need to activate it. That is, connect it to your google account (or create one if you don't already have one). This step is nessecairy and cannot be skipped.&lt;br /&gt;&lt;br /&gt;If you have a valid GPRS connection (with correct APN settings) this should be no problem.&lt;br /&gt;But if, for any reason, you can't establish a connection (of if you have your phone still locked), you can do it over WiFi.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3234/2989507790_452e0dfdaa.jpg?v=0"&gt;&lt;img style="cursor: pointer; width: 407px; height: 305px;" src="http://farm4.static.flickr.com/3234/2989507790_452e0dfdaa.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;So, I inserted the "blank", unactivated T-mobile card that came with the phone (no unlock needed) and:&lt;br /&gt;&lt;/span&gt;&lt;strong  style="font-weight: normal;font-family:arial;"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;1. &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="font-weight: normal; color: rgb(102, 102, 102);" face="arial"&gt;&lt;/strong&gt;&lt;strong style="font-weight: normal; color: rgb(102, 102, 102);" face="arial"&gt;&lt;/strong&gt;&lt;strong  style="font-weight: normal; color: rgb(102, 102, 102);font-family:arial;"&gt;&lt;span style=""&gt;Downloaded and extracted&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;a href="http://code.google.com/android/intro/installing.html"&gt;Android's SDK&lt;/a&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;2. (optional) Fixed the tools directory as shown here (copied from link above):&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look           for a line that sets the PATH environment variable and add the           full path to the &lt;code&gt;tools/&lt;/code&gt; directory to it. If you don't            see a line setting the path, you can add one:&lt;/li&gt;&lt;ul&gt;&lt;code&gt;export PATH=${PATH}:&lt;em&gt;&lt;your_sdk_dir&gt;&lt;/your_sdk_dir&gt;&lt;/em&gt;/tools&lt;/code&gt;&lt;/ul&gt;&lt;li&gt;On a Mac, look in your home directory for .bash_profile and           proceed as for Linux. You can create the .bash_profile, if            you haven't already set one up on your machine. &lt;/li&gt;&lt;li&gt;On Windows, right click on My Computer, and select Properties.           Under the Advanced tab, hit the Environment Variables button, and in the         dialog that comes up, double-click on Path under System Variables. Add  the full path to the &lt;code&gt;tools/&lt;/code&gt; directory to the path.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;3a. Windows: Installed the &lt;a href="http://www.blogger.com/dl.google.com/android/android_usb_windows.zip"&gt;correct driver&lt;/a&gt;&lt;br /&gt;3b. MacOS: it just works (as always?)&lt;br /&gt;3c. Ubuntu Linux:&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;In terminal, enter &lt;code&gt;(without the quotes): &lt;/code&gt;"&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:lucida grande;"&gt;sudo gedit &lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="font-family:lucida grande;"&gt;/etc/udev/rules.d/50-android.rules&lt;/span&gt;" &lt;/code&gt;             &lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Paste this in the file:&lt;/span&gt;&lt;br /&gt;          &lt;code&gt;SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Close gedit&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now execute in terminal:&lt;br /&gt;          &lt;code&gt;"sudo chmod a+rx /etc/udev/rules.d/50-android.rules"&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;(&lt;a href="http://code.google.com/android/intro/develop-and-debug.html"&gt;source&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4. If you skipped 2, in a terminal navigate to the folder "tools" inside the SDK's folder.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;5. Connect the phone to the USB cable and turn it on (blank sim card, or unlocked sim card inside)&lt;br /&gt;&lt;br /&gt;6. &lt;strong style="font-weight: normal;"&gt;&lt;span style=""&gt;While “touch here to begin” is displayed, type on cell's keyboard (no quotes): &lt;/span&gt;&lt;/strong&gt; "  &lt;strong style="font-weight: normal;"&gt;&lt;span style=""&gt;setprop persist.service.adb.enable 1" and hit enter (you won't see anything, just type it in and hit ENTER)&lt;br /&gt;&lt;br /&gt;7. In your computer's terminal, type "adb devices" (or "./adb devices" for linux) and your device should appear there. If it says "no devices found"&lt;span style="color: rgb(255, 0, 0);"&gt; try running the command as root&lt;/span&gt; (add "sudo" before the "adb devices" command). If it doesn't work either, you've done something wrong. Turn off the device and go again from step 4.&lt;br /&gt;&lt;br /&gt;8. Assuming your computer can see your device, type (in your terminal): "adb shell" (or "./adb shell") and ENTER&lt;br /&gt;&lt;br /&gt;9. Now type: "&lt;/span&gt;&lt;/strong&gt;    &lt;strong style="font-weight: normal;"&gt;&lt;span style=""&gt;am start -a android.intent.action.MAIN -n com.android.settings/.Settings" and ENTER&lt;br /&gt;&lt;br /&gt;10. The settings should pop up in your devices screen! Set up your WiFi's info and go back. Now you can complete the activation through wifi!&lt;br /&gt;&lt;br /&gt;(My guide was &lt;a href="http://forum.xda-developers.com/showthread.php?t=452316"&gt;this one&lt;/a&gt;, in which you will find more info and support. You'll also find instructions on how to do this without even a sim card!)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Warning! Now that you've started using your G1, there is the chance that a new update will be offered. This update (RC30) removes the "superuser flaw" or security hole. If you apply the updated, you won't be able to issue commands as a superuser any more.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order to block your G1 from getting updates you might not want to, you'll have to reflash it with a modified RC30 rom. See &lt;a href="http://http//forum.xda-developers.com/showthread.php?t=443713"&gt;here&lt;/a&gt; for more. (we've heard stories like "my wife pressed YES on the update question and now my phone's root access is gone!". You can't revert this, once you have officila RC30 installed. (yet))&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-8938289632498472179?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/8938289632498472179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=8938289632498472179' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/8938289632498472179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/8938289632498472179'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2008/12/american-dream-vol2.html' title='American Dream Vol.2'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-3365675429771640612</id><published>2008-12-01T11:36:00.000-08:00</published><updated>2008-12-01T12:16:44.591-08:00</updated><title type='text'>American Dream Vol.1</title><content type='html'>So I finally moved out of windows, completely.&lt;br /&gt;That is, I tossed my Windows mobile phone.&lt;br /&gt;&lt;br /&gt;I got a &lt;a href="http://www.t-mobile.com/"&gt;T-mobile&lt;/a&gt; &lt;a href="http://www.t-mobileg1.com/"&gt;G1&lt;/a&gt;, running Google's android. (AKA: &lt;a href="http://www.htc.com/www/"&gt;HTC&lt;/a&gt; &lt;a href="http://www.htc.com/www/product/g1/overview.html"&gt;Dream&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3208/2807929105_835da37a43.jpg"&gt;&lt;img style="cursor: pointer; width: 368px; height: 272px;" src="http://farm4.static.flickr.com/3208/2807929105_835da37a43.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;(mine's black)&lt;br /&gt;&lt;br /&gt;I'll post a few tricks/guides here...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Volume 1 - The Unlocking&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Intro:&lt;/span&gt;&lt;br /&gt;So, I live in Greece. At the time there is no T-mobile here. Also, the G1 phone is not available in Europe.&lt;br /&gt;&lt;br /&gt;A friend of mine, Christine was visiting the &lt;a href="http://en.wikipedia.org/wiki/United_States"&gt;States&lt;/a&gt;, and brought the phone back for me.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;It was locked&lt;/span&gt;. (This means it does not accept any non-T-Mobile sim card).&lt;br /&gt;&lt;br /&gt;In order to unlock it, you need to be T-Mobile's customer for at least 3 months. It doesn't matter if you use your G1 or even if you have a G1, you just need to be their customer for that long.&lt;br /&gt;&lt;br /&gt;A secondary method is to pay a website (there are plenty of them, I think the &lt;a href="http://www.htccode.com/"&gt;htccode.com&lt;/a&gt; but I haven't tried it) to unlock it for you. It costs something between 13 and 40 euros. It can take from 2 minutes to 8 days to email you the unlock code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Actual Proccess:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Anyway, my &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:100%;" &gt;favorite&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; option is the free one. If you're a customer it's no problem. If not, there is a proccess you have to follow:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;You need to have the retail receipt (mine was from BestBuy) proving that you paid full price for your product.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;You need to fax this receipt to 1-813-353-6557 (add "00" in the beginning if faxing from Greece) along with some text explaining your situation, including your phone's IMEI code and your email address.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;(you can find your IMEI code written under the G1's pack or by typing *#06# in your phone's dialer)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;I received an email ~25 hours later (Saturday mornin in the US) that contained the magic code!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Thanks T-mobile!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;That's about it. I'll post about my activation-without-sim-card experience later on.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;(Activation is the proccess that connects your g-phone to your google account. It is normally done after unlocking the phone (if needed) and you cannot use the G1 AT ALL before activating it. By default, the gprs connection is used, but it can be bypassed. In the post to come!)&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-3365675429771640612?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/3365675429771640612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=3365675429771640612' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/3365675429771640612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/3365675429771640612'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2008/12/american-dream-vol1.html' title='American Dream Vol.1'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3208/2807929105_835da37a43_t.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-2593809461875553281</id><published>2008-09-17T08:32:00.000-07:00</published><updated>2008-09-19T10:00:38.549-07:00</updated><title type='text'>USB controlled power strip</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SNPYv0mT2AI/AAAAAAAAAKE/aiOu5klVYW4/s1600-h/IMG_5935.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SNPYv0mT2AI/AAAAAAAAAKE/aiOu5klVYW4/s320/IMG_5935.jpg" alt="" id="BLOGGER_PHOTO_ID_5247776306901538818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So, basically it's a normal 230V power strip, but it's controlled by a computer.&lt;/span&gt; No fancy usb interface and software, just a simple relay, keeps the outlets powered when computer is ON.&lt;br /&gt;&lt;br /&gt;That's all. &lt;span style="font-weight: bold;"&gt;If you shut down the computer, peripherials shut down too, saving you from "stand-by power consumption".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The procedure:&lt;br /&gt;I used the new IKEA cheap strip:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/SNE1zs41l7I/AAAAAAAAAIo/YOqLg1ON3X0/s1600-h/IMAGE_140.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/SNE1zs41l7I/AAAAAAAAAIo/YOqLg1ON3X0/s320/IMAGE_140.jpg" alt="" id="BLOGGER_PHOTO_ID_5247034203202492338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since it uses special screws, I had to file down one of my screwdriver tips:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SNE1z0lZXbI/AAAAAAAAAIw/a4pY--j7L-Q/s1600-h/IMAGE_141.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SNE1z0lZXbI/AAAAAAAAAIw/a4pY--j7L-Q/s320/IMAGE_141.jpg" alt="" id="BLOGGER_PHOTO_ID_5247034205268434354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Inside the strip: Cut usb cable is inserted, along with main power cable. 5-volt relay used can be seen too (orange one. 2 euros at local electronics shop).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sesF2ta3tOA/SNPYd6cf7tI/AAAAAAAAAJU/CftyqAsfR-Y/s1600-h/IMG_5926.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_sesF2ta3tOA/SNPYd6cf7tI/AAAAAAAAAJU/CftyqAsfR-Y/s320/IMG_5926.jpg" alt="" id="BLOGGER_PHOTO_ID_5247775999233355474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fuses to make sure that 230V isn't going to fry my computer's motherboard via USB, if anything goes wrong.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/SNPYeFphSnI/AAAAAAAAAJc/LVoIkwoeaUY/s1600-h/IMG_5927.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/SNPYeFphSnI/AAAAAAAAAJc/LVoIkwoeaUY/s320/IMG_5927.jpg" alt="" id="BLOGGER_PHOTO_ID_5247776002240760434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Soldering the relay...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/SNPYeVhrssI/AAAAAAAAAJk/TfSQlLoEJ04/s1600-h/IMG_5928.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/SNPYeVhrssI/AAAAAAAAAJk/TfSQlLoEJ04/s320/IMG_5928.jpg" alt="" id="BLOGGER_PHOTO_ID_5247776006502855362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Whole assembly out of the strip.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/SNPYesWTUiI/AAAAAAAAAJs/xkC6Cpf1cYA/s1600-h/IMG_5929.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/SNPYesWTUiI/AAAAAAAAAJs/xkC6Cpf1cYA/s320/IMG_5929.jpg" alt="" id="BLOGGER_PHOTO_ID_5247776012629135906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Assembly fitted in the power strip.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sesF2ta3tOA/SNPYe2-iV5I/AAAAAAAAAJ0/jsVfwfx250I/s1600-h/IMG_5930.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_sesF2ta3tOA/SNPYe2-iV5I/AAAAAAAAAJ0/jsVfwfx250I/s320/IMG_5930.jpg" alt="" id="BLOGGER_PHOTO_ID_5247776015482247058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finished product:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/SNPYvqFGl4I/AAAAAAAAAJ8/3yezEuwTHZ4/s1600-h/IMG_5933.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/SNPYvqFGl4I/AAAAAAAAAJ8/3yezEuwTHZ4/s320/IMG_5933.jpg" alt="" id="BLOGGER_PHOTO_ID_5247776304077903746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Works as expected!&lt;br /&gt;Only problem is that the relay can't hold more than 120 Watts, so it's useless for my Laser printer.&lt;br /&gt;I'll make a new one with a better relay.&lt;br /&gt;&lt;br /&gt;Thanks for reading!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-2593809461875553281?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/2593809461875553281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=2593809461875553281' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/2593809461875553281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/2593809461875553281'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2008/09/usb-controlled-power-strip.html' title='USB controlled power strip'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sesF2ta3tOA/SNPYv0mT2AI/AAAAAAAAAKE/aiOu5klVYW4/s72-c/IMG_5935.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-7573473091453128345</id><published>2008-09-07T00:06:00.000-07:00</published><updated>2008-09-07T00:28:47.010-07:00</updated><title type='text'>Lenovo V100 Webcam replaced</title><content type='html'>Ok, so I have this nice Lenovo laptop for two years, running Ubuntu Linux on it. Many devices where not supported, but got drivers in the meantime.&lt;br /&gt;&lt;br /&gt;One of the hardest-to-get-to-work device is the embedded USB Webcam. It is a BisonCam (chipset: ALi M5603C)&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; usb camera.&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;It's recognized as "ID 0402:5602 ALi Corp." (using lsusb command in linux) but there's no driver for it, no support, and no other way to get it to work in Linux. It seems that noone in the world has done it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mediakey.dk/%7Ecc/bisoncam-ali-m5603c-linux-driver-round-up/"&gt;Here's a place &lt;/a&gt;where we talk about it and hopefully wait for a solution.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SMN_lA_HPvI/AAAAAAAAAH4/Es_JfYYblLs/s1600-h/IMG_5947.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SMN_lA_HPvI/AAAAAAAAAH4/Es_JfYYblLs/s320/IMG_5947.jpg" alt="" id="BLOGGER_PHOTO_ID_5243174665085992690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyway, using Lenovo's maintainance manual, I took the camera out of my computer and will try to add a new one, with good Linux support.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sesF2ta3tOA/SMOBUO_oI6I/AAAAAAAAAIg/K9P9umhQ5Ag/s1600-h/IMG_5940.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_sesF2ta3tOA/SMOBUO_oI6I/AAAAAAAAAIg/K9P9umhQ5Ag/s320/IMG_5940.jpg" alt="" id="BLOGGER_PHOTO_ID_5243176575811724194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, first I need to find what this connector is (is it just usb? that would be nice)&lt;br /&gt;Then I need to find a camera that fits the limited space over the lcd panel.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sesF2ta3tOA/SMOBKrJl_0I/AAAAAAAAAIY/ch52w-_hdiI/s1600-h/IMG_5944.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_sesF2ta3tOA/SMOBKrJl_0I/AAAAAAAAAIY/ch52w-_hdiI/s320/IMG_5944.jpg" alt="" id="BLOGGER_PHOTO_ID_5243176411571027778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Any suggestions on possible camera-matches, or additional info about this chip is appreciated.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;More info on the chip:&lt;br /&gt;56.18012.001&lt;br /&gt;BN2WH-1300-48-D&lt;br /&gt;0621K&lt;br /&gt;&lt;br /&gt;The metal part reads:&lt;br /&gt;60.4F823.001 A01&lt;br /&gt;HON-WIN2006/5/18&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-7573473091453128345?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/7573473091453128345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=7573473091453128345' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/7573473091453128345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/7573473091453128345'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2008/09/ok-so-i-have-this-nice-lenovo-laptop.html' title='Lenovo V100 Webcam replaced'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sesF2ta3tOA/SMN_lA_HPvI/AAAAAAAAAH4/Es_JfYYblLs/s72-c/IMG_5947.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3030740889499952565.post-1783259445057948794</id><published>2008-09-06T23:53:00.001-07:00</published><updated>2008-09-07T00:02:01.096-07:00</updated><title type='text'>Why DIY? - Intro</title><content type='html'>DIY (Do-It-Yourself) solutions are usually cheaper, more flexible and of higher quality than commercial ones. The only downside is time needed, but the feeling of creation works pretty good as a payoff.&lt;br /&gt;&lt;br /&gt;I'll use this blog to present and discuss my DIY projects (or the ones of friends of mine) to/with the Greek or/and International community.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DIY is not very popular in Greece, where everybody prefers to just pay for something they could easily make themselves. This is partially a reason for life being so expensive in my country. (Actually it's the attitude and philosophy underlying below this action that's causing the problem)&lt;br /&gt;&lt;br /&gt;Anyway, I'll try to keep descriptions short, add plenty pictures and videos, and stick to the essentials of every project.&lt;br /&gt;&lt;br /&gt;Thanks for reading!&lt;br /&gt;&lt;br /&gt;Chris&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3030740889499952565-1783259445057948794?l=diyistheway.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diyistheway.blogspot.com/feeds/1783259445057948794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3030740889499952565&amp;postID=1783259445057948794' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1783259445057948794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3030740889499952565/posts/default/1783259445057948794'/><link rel='alternate' type='text/html' href='http://diyistheway.blogspot.com/2008/09/why-diy-intro.html' title='Why DIY? - Intro'/><author><name>Chris</name><uri>http://www.blogger.com/profile/07743755733493395586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sesF2ta3tOA/SZ1eJ1DTLiI/AAAAAAAAAMw/iZaD0PgvGg8/S220/justme.jpg'/></author><thr:total>2</thr:total></entry></feed>
