<?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-6597012557877575761</id><updated>2012-02-16T20:51:07.276+05:30</updated><title type='text'>A fixation on zeros and ones !</title><subtitle type='html'>A collection of interesting stuff going on in the field of Computer Science.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4669351947541991884</id><published>2011-07-28T19:21:00.002+05:30</published><updated>2011-07-28T19:21:55.732+05:30</updated><title type='text'>Playing DVDs etc on Ubuntu 11.04</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-weight: bold;"&gt;Step 1.&lt;/span&gt; Open a Terminal Window&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2.&lt;/span&gt; Type sudo apt-get install ubuntu-restricted-extras&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3.&lt;/span&gt; Type sudo /usr/share/doc/libdvdread4/install-css.sh&lt;br /&gt;&lt;br /&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4669351947541991884?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4669351947541991884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4669351947541991884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4669351947541991884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4669351947541991884'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2011/07/playing-dvds-etc-on-ubuntu-1104.html' title='Playing DVDs etc on Ubuntu 11.04'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5185964059606261113</id><published>2010-11-19T02:29:00.002+05:30</published><updated>2011-04-17T11:29:02.850+05:30</updated><title type='text'>Merging / putting together pdf files using ghostscript / gs on linux</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;------------------------- update : 04/16/2011 --------------------&lt;br /&gt;install the pdftk package and use the following command&lt;br /&gt;&lt;code&gt;pdftk *.&lt;span class="il"&gt;pdf&lt;/span&gt; cat output onelargepdfile.&lt;span class="il"&gt;pdf&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------ original ----------------------------- &lt;br /&gt;&lt;br /&gt;Have always needed to stitch pdf files one after the other to make a big pdf file.&lt;br /&gt;&lt;br /&gt;Searched online and came up with this solution which uses ghostscript / gs&lt;br /&gt;&lt;a href="http://www.linux.com/archive/feed/36815"&gt;http://www.linux.com/archive/feed/36815&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To use Ghostscript to combine PDF files, type something like the following:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdf file1.pdf file2.pdf ...&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Unless you're very familiar with Ghostscript, that string of commands won't mean much to you. Here's a quick breakdown:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;gs &lt;/span&gt;-- starts the Ghostscript program&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-dBATCH&lt;/span&gt; -- once Ghostscript processes the PDF files, it should exit. If you don't include this option, Ghostscript will just keep running&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-dNOPAUSE&lt;/span&gt; -- forces Ghostscript to process each page without pausing for user interaction&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-q&lt;/span&gt; -- stops Ghostscript from displaying messages while it works&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-sDEVICE=pdfwrite&lt;/span&gt; -- tells Ghostscript to use its built-in PDF writer to process the files&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-sOutputFile=finished.pdf&lt;/span&gt; -- tells Ghostscript to save the combined PDF file with the name that you specified&lt;br /&gt;&lt;br /&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5185964059606261113?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5185964059606261113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5185964059606261113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5185964059606261113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5185964059606261113'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2010/11/merging-putting-together-pdf-files.html' title='Merging / putting together pdf files using ghostscript / gs on linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4469603033405839868</id><published>2010-08-08T06:36:00.003+05:30</published><updated>2010-08-08T06:47:04.006+05:30</updated><title type='text'>Getting the best of Gnome and Ubuntu Netbook Edition !</title><content type='html'>Buying an Asus EeePC tablet has been on my head for a while. And just recently I ordered one on Amazon, the &lt;a href="http://www.amazon.com/gp/product/B003D1DZBY/"&gt;Asus Eee PC T101MT-EU17-BK 10.1-Inch Convertible Tablet&lt;/a&gt;. And then the big question arises, what software do I use on the tablet?&lt;br /&gt;&lt;br /&gt;The tablet comes with Windows7, and I'm paying Microsoft tax, because there's no government to protect the mavericks and the geeks. But yet, I obviously don't intend to use the windows since it's a bloated piece of useless software. So then, what are my choices?&lt;br /&gt;&lt;br /&gt;I have become an Ubuntu fan by now. But then, there again is the big question whether to use Gnome, or the new Ubuntu Netbook Edition. To answer this question, I did a considerable bit of fooling around with a virtual box vm running the UNE. And finally I decided, I like the netbook launcher which gives a desktop background from which to launch applications, and I also like the start-maximized feature for netbooks. However, the panel on the Netbook remix is substantially crap and I'd rather have my Gnome panels, one on top and one on the bottom so that I won't have accessibility issues with a close button at one of the extreme corners being touch-inaccessible with my finger.&lt;br /&gt;&lt;br /&gt;So, my final verdict. Install the Ubuntu desktop edition. Especially if your netbook supports 64 bit, which I believe the Asus tablet does, then the UNE is a disadvantage because it doesn't yet have a 64bit edition. Once the Desktop edition is installed,&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo apt-get install netbook-launcher&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo apt-get install maximus&lt;/div&gt;The former is the Netbook launcher program, and the latter is the maximus daemon which maximizes and undercorates the windows when opened.&lt;br /&gt;&lt;br /&gt;Once these are installed, they can be added to the system startup via the panels&lt;br /&gt;System-&amp;gt;Preferences-&amp;gt;Startup Applications&lt;br /&gt;&lt;br /&gt;Also if maximus does not undecorate the window when maximising, run&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;gconf-editor&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;apps-&amp;gt;maximus&lt;/div&gt;and then uncheck and then check again, the "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;undecorate&lt;/span&gt;" option again (it should be checked for maximus to undecorate).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;BUG Note&lt;/span&gt;&lt;/b&gt;: When the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;netbook-launcher&lt;/span&gt; is added to the system startup, it behaves strangely; sometimes it just disappears, and I don't know how to get it back, and also, it only appears on workspace1, and not on all workspaces. I don't know a fix to this. If you do, please let me know.&lt;br /&gt;Given this bug, I right now have a toolbar button on my panel to start the netbook-launcher, and haven't added it to the system startup list.&lt;br /&gt;&lt;br /&gt;With the steps above, the 64bit ubuntu desktop edition can be easily enhanced to incorporate all useful features I see from the Ubuntu Netbook Remix.&lt;br /&gt;&lt;br /&gt;And yes, don't forget to check out my post on using Easystroke&lt;br /&gt;&lt;a href="http://varghese85-cs.blogspot.com/2010/08/easystroke-gesture-recognition.html"&gt;http://varghese85-cs.blogspot.com/2010/08/easystroke-gesture-recognition.html&lt;/a&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4469603033405839868?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4469603033405839868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4469603033405839868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4469603033405839868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4469603033405839868'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2010/08/getting-best-of-gnome-and-ubuntu.html' title='Getting the best of Gnome and Ubuntu Netbook Edition !'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5637332800874265174</id><published>2010-08-08T02:32:00.000+05:30</published><updated>2010-08-08T02:32:59.364+05:30</updated><title type='text'>installing all basic packages required for development on Ubuntu</title><content type='html'>It was always a pain figuring out how to install all the basic development packages required for simple stuff like compiling and installing something from source on Ubuntu. But now I realized after searching the web that there's a "build-essential" package (singular, not plural) which can be installed which will fetch and install all of these basic stuff like gcc, autoconfig etc.&lt;br /&gt;&lt;br /&gt;sudo apt-get install build-essential&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5637332800874265174?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5637332800874265174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5637332800874265174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5637332800874265174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5637332800874265174'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2010/08/installing-all-basic-packages-required.html' title='installing all basic packages required for development on Ubuntu'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-1989272430878382867</id><published>2010-08-08T00:00:00.000+05:30</published><updated>2010-08-08T00:00:25.360+05:30</updated><title type='text'>Easystroke Gesture Recognition</title><content type='html'>I just ordered an Asus EEEPC T101MT tablet last day from amazon.com. It hasn't arrived yet, but I was already looking at installing ubuntu on it, and since Apple apparently has patents on the Multitouch gestures, many of the multitouch features are not available on linux yet. I was looking at alternatives and came across &lt;b&gt;Easystroke Gesture Recognition.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Project Page: &lt;a href="http://easystroke.sourceforge.net/"&gt;http://easystroke.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What's better than a couple of demo videos to show you what it's like? So here they are&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.youtube.com/watch?v=sOWXAyOde18"&gt;http://www.youtube.com/watch?v=sOWXAyOde18&lt;/a&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sOWXAyOde18&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/sOWXAyOde18&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.youtube.com/watch?v=FGuKSEKNogQ"&gt;http://www.youtube.com/watch?v=FGuKSEKNogQ&lt;/a&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FGuKSEKNogQ&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/FGuKSEKNogQ&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-1989272430878382867?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/1989272430878382867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=1989272430878382867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1989272430878382867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1989272430878382867'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2010/08/easystroke-gesture-recognition.html' title='Easystroke Gesture Recognition'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3135594587476796494</id><published>2010-05-12T12:33:00.003+05:30</published><updated>2010-11-12T23:57:05.519+05:30</updated><title type='text'>Running Ubuntu/Linux on Asus Eee PC T101MT</title><content type='html'>Ok, this post is like a prologue since I plan to buy this but haven't bought it yet. So this blog post is my research notes on Linux support for the Eee PC T101MT's support with linux.&lt;br /&gt;&lt;br /&gt;As has been my recent inclination, I go for Ubuntu. So this is the netbook version download link for the distro&lt;br /&gt;&lt;a href="http://www.ubuntu.com/getubuntu/download-netbook"&gt;http://www.ubuntu.com/getubuntu/download-netbook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The above page links to this page&lt;br /&gt;&lt;a href="https://help.ubuntu.com/community/Installation/FromUSBStick"&gt;https://help.ubuntu.com/community/Installation/FromUSBStick&lt;/a&gt;&lt;br /&gt;for creating the usb disk. I will probably first try running off the USB before installing.&lt;br /&gt;&lt;br /&gt;And here's a sourceforge page for a USB boot disk creator tool for many platforms including windows.&lt;br /&gt;&lt;a href="http://unetbootin.sourceforge.net/"&gt;http://unetbootin.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's a list of multitouch drivers available presently with linux.&lt;br /&gt;&lt;a href="http://www.lii-enac.fr/en/projects/shareit/multitouch-devices.html"&gt;http://www.lii-enac.fr/en/projects/shareit/multitouch-devices.html&lt;/a&gt;&lt;br /&gt;Scroll down to EEFTI/eGlax, and there's the support for Eee PC T101MT mentioned on there.&lt;br /&gt;&lt;br /&gt;Here's a couple of forum posts discussing the nuances of intalling ubuntu on the T101MT. Some of the info may be dated though.&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=1468376"&gt;http://ubuntuforums.org/showthread.php?t=1468376&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=1442164"&gt;http://ubuntuforums.org/showthread.php?t=1442164&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;2010 11 12 &lt;br /&gt;Subsequently, I found this page which gives all the details..&lt;br /&gt;&lt;a href="https://help.ubuntu.com/community/T101MT"&gt;https://help.ubuntu.com/community/T101MT&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3135594587476796494?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3135594587476796494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3135594587476796494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3135594587476796494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3135594587476796494'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2010/05/running-ubuntulinux-on-asus-eee-pc.html' title='Running Ubuntu/Linux on Asus Eee PC T101MT'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8740346687126035207</id><published>2010-02-28T13:51:00.001+05:30</published><updated>2010-02-28T13:52:45.208+05:30</updated><title type='text'>Metronome for linux</title><content type='html'>Gtick is a simple metronome application for Linux. I was trying to learn to play the Djembe, and some friends suggested using a metronome. However, attempts to look online for one, gave me the impression they were either expensive or riddled with flaws. Heck ! my laptop is my metronome now !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8740346687126035207?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8740346687126035207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8740346687126035207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8740346687126035207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8740346687126035207'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2010/02/metronome-for-linux.html' title='Metronome for linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6345996965360557785</id><published>2009-09-18T13:09:00.002+05:30</published><updated>2009-09-18T13:15:10.872+05:30</updated><title type='text'>jaunty jackalope Ubuntu 9.04 compiz blacklists my video card</title><content type='html'>I have a Dell Vostro 1310, with I believe, the intel 965 chipset. The video card was working fine with Ubuntu 8.04 and 8.10 with compiz, but when I upgraded to Jaunty, the card was blacklisted. Don't know why, this link &lt;a href="https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/363821"&gt;https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/363821&lt;/a&gt; says some crap about video freezes etc.. I've never had any.. But it says to add the line:&lt;br /&gt;&lt;pre&gt;SKIP_CHECKS=yes&lt;/pre&gt;to the compiz-manager file&lt;br /&gt;&lt;pre&gt;~/.config/compiz/compiz-manager&lt;/pre&gt; or &lt;pre&gt;/etc/xdg/compiz/compiz-manager&lt;/pre&gt;This will remove the blacklisting check, and allow the card to render compiz effects..&lt;br /&gt;&lt;br /&gt;Also make sure you have the CompizConfig Settings Manager package installed for tuning your compiz desktop.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6345996965360557785?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6345996965360557785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6345996965360557785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6345996965360557785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6345996965360557785'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2009/09/jaunty-jackalope-ubuntu-904-compiz.html' title='jaunty jackalope Ubuntu 9.04 compiz blacklists my video card'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6518857194684909804</id><published>2009-09-18T12:44:00.002+05:30</published><updated>2009-09-18T12:49:19.912+05:30</updated><title type='text'>jaunty jackalope Ubuntu 9.04 keyboard and trackpad freeze at startup</title><content type='html'>I hit this issue on my Dell Vostro 1310 after an upgrade to Ubuntu 9.04 aka Jaunty Jackalope - amd64. When I boot, most often, the onboard keyboard and mouse are dead. Most people reset and when it comes up again, it works. I had found the workaround in suspend/resume of the system. But honestly, it was a pain.&lt;br /&gt;&lt;br /&gt;Finally found this bug: &lt;a href="https://bugs.launchpad.net/ubuntu/+bug/341094"&gt;https://bugs.launchpad.net/ubuntu/+bug/341094&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The workaround mentioned there viz. adding the options&lt;br /&gt;&lt;pre&gt;i8042.reset i8042.nomux i8042.nopnp i8042.noloop&lt;/pre&gt;&lt;br /&gt;at the end of the list of kernel parameters in &lt;pre&gt;/boot/grub/menu.lst&lt;/pre&gt;&lt;br /&gt;works for me.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6518857194684909804?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6518857194684909804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6518857194684909804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6518857194684909804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6518857194684909804'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2009/09/jaunty-jackalope-ubuntu-904-keyboard.html' title='jaunty jackalope Ubuntu 9.04 keyboard and trackpad freeze at startup'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-2692959863022171479</id><published>2009-07-31T00:12:00.002+05:30</published><updated>2009-07-31T00:17:28.489+05:30</updated><title type='text'>DivX encoding under Linux</title><content type='html'>Well, I am jealous of all those windows folks who have amazingly good GUI apps for video format conversions / transcoding. I've always wanted some good idea of how to do this under linux. How could you rip DVDs and convert them to DivX files so that you can save a copy even if the flaky and trashy optical medium dies out after a while?&lt;br /&gt;&lt;br /&gt;Stumbled across this link while searching online.. Looks good, though a bit dated.&lt;br /&gt;&lt;br /&gt;Title: &lt;span style="font-weight: bold;"&gt;DVD ripping and transcoding with Linux&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.bunkus.org/dvdripping4linux/single/"&gt;http://www.bunkus.org/dvdripping4linux/single/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bunkus.org/dvdripping4linux/"&gt;http://www.bunkus.org/dvdripping4linux/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-2692959863022171479?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/2692959863022171479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=2692959863022171479' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2692959863022171479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2692959863022171479'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2009/07/divx-encoding-under-linux.html' title='DivX encoding under Linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-2497520146648982549</id><published>2009-07-29T22:22:00.002+05:30</published><updated>2009-07-29T22:26:49.465+05:30</updated><title type='text'>How to Rip and extract vob files from a css encrypted DVD</title><content type='html'>Refer to my previous post&lt;br /&gt;&lt;a href="http://varghese85-cs.blogspot.com/2009/07/playing-encrypted-video-dvd-on-linux.html"&gt;Playing encrypted video DVD on linux&lt;/a&gt;&lt;br /&gt;about installing libdvdread&lt;br /&gt;&lt;br /&gt;Once you have libdvdread/CSS installed,&lt;br /&gt;then apt-get install vobcopy, then just running the command &lt;pre&gt;vobcopy -o [outputdirectory]&lt;/pre&gt;Will extract a decrypted version of the vob files into the mentioned output directory !&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;Note: I'm not responsible for your indiscretions / violations of applicable law, if any,&lt;br /&gt;    in using the software mentioned above. Please ensure you have the right to copy&lt;br /&gt;    before ripping a dvd in the above fashion.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-2497520146648982549?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/2497520146648982549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=2497520146648982549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2497520146648982549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2497520146648982549'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2009/07/how-to-rip-and-extract-vob-files-from.html' title='How to Rip and extract vob files from a css encrypted DVD'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-1229730946637843041</id><published>2009-07-28T20:04:00.004+05:30</published><updated>2009-07-29T22:24:37.122+05:30</updated><title type='text'>playing encrypted video dvd on linux</title><content type='html'>I had rented some movies from the College Library at the UW-Madison, and tried playing them on my dell vostro 1310 running ubuntu 9.04. However, none of them would play :(&lt;br /&gt;&lt;br /&gt;I was using gmplayer (www.mplayerhq.hu), and so I always thought it was a problem with my disk drive, like it was not reading the disk properly or something. I couldn't imagine mplayer not having the required codecs, and besides the error I got was something like "seek failed".&lt;br /&gt;&lt;br /&gt;I tried with other linux media players too, but ditto ! So I gave up.. But then, lately somehow this sudden enlightenment flashed in my mind (don't exactly remember the nature of the apple that struck my head), and I realized that the disc could probably be encrypted for copyright protection.&lt;br /&gt;&lt;br /&gt;I searched "play encrypted video dvd on linux" and bingo, this is the link I got..&lt;br /&gt;&lt;a href="http://theos.in/desktop-linux/linux-playing-encrypted-dvd/"&gt;http://theos.in/desktop-linux/linux-playing-encrypted-dvd/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically what it says I should do is, as superuser/root:&lt;br /&gt;&lt;pre&gt;$ cd usr/share/doc/libdvdread[N]&lt;/pre&gt; where [N] is an integer; for me it was 4. And then run the script "install-css.sh" &lt;pre&gt;$ ./install-css.sh&lt;br /&gt;or&lt;br /&gt;$ sh install-css.sh&lt;br /&gt;&lt;/pre&gt;Make sure you are plugged into the internet ;) and the system will fetch and install the necessary packages.. Once that is done, all those dvds which wouldn't play till now would miraculously start playing !! Yeah !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-1229730946637843041?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/1229730946637843041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=1229730946637843041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1229730946637843041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1229730946637843041'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2009/07/playing-encrypted-video-dvd-on-linux.html' title='playing encrypted video dvd on linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8283029056575325305</id><published>2009-01-17T08:39:00.003+05:30</published><updated>2009-01-17T08:42:34.514+05:30</updated><title type='text'>Turn hibernation on or off on windows vista</title><content type='html'>Needed to start using windows vista because iPod need iTunes, and Banshee, etc doesn't seem to work for me. But then, I'd shrunk my windows partition too small and so space is precious.&lt;br /&gt;&lt;br /&gt;To turn off hibernation:&lt;br /&gt;Click start &gt; In the "start search" box, type "&lt;strong&gt;powercfg /hibernate off&lt;/strong&gt;" &gt; press "CTRL+SHIFT+Enter" (this I guess runs the command as administrator.&lt;br /&gt;Now do a disk cleanup to delete the huge hibernate file.&lt;br /&gt;&lt;br /&gt;The command for turning hibernation back on is "&lt;strong&gt;powercfg /hibernate on&lt;/strong&gt;"&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8283029056575325305?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8283029056575325305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8283029056575325305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8283029056575325305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8283029056575325305'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2009/01/turn-hibernation-on-or-off-on-windows.html' title='Turn hibernation on or off on windows vista'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7861280461643272263</id><published>2008-12-29T03:29:00.004+05:30</published><updated>2008-12-29T03:34:39.213+05:30</updated><title type='text'>Adding something to the startup scripts.</title><content type='html'>Just penning this down because I am afraid I'm quite likely to forget !&lt;br /&gt;&lt;br /&gt;First off, create a script in /etc/init.d/ which you want to be executed at startup.&lt;br /&gt;&lt;br /&gt;Next, use the update-rc.d command&lt;br /&gt;&lt;br /&gt;update-rc.d [script-name] &lt;script-name&gt; start [seq-num] [list-of-run-levels]&lt;sequence-num&gt; &lt;list&gt;&lt;br /&gt;&lt;sequence-num&gt; &lt;/sequence-num&gt;&lt;/list&gt;&lt;/sequence-num&gt;&lt;/script-name&gt;[seq-num] &lt;script-name&gt;&lt;sequence-num&gt;&lt;list&gt;&lt;sequence-num&gt;= 0 - 99&lt;br /&gt;&lt;list&gt; &lt;/list&gt;&lt;/sequence-num&gt;&lt;/list&gt;&lt;/sequence-num&gt;&lt;/script-name&gt;[list-of-run-levels] &lt;script-name&gt;&lt;sequence-num&gt;&lt;list&gt;&lt;sequence-num&gt;&lt;list&gt;= separated by space, and terminated by "."&lt;br /&gt;&lt;br /&gt;.&lt;/list&gt;&lt;/sequence-num&gt;&lt;/list&gt;&lt;/sequence-num&gt;&lt;/script-name&gt;&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7861280461643272263?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7861280461643272263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7861280461643272263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7861280461643272263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7861280461643272263'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/12/adding-something-to-startup-scripts.html' title='Adding something to the startup scripts.'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7088013695280614320</id><published>2008-12-27T13:50:00.002+05:30</published><updated>2008-12-27T13:55:22.322+05:30</updated><title type='text'>Installing 32 bit programs on 64 bit machines (.deb packages)</title><content type='html'>Was trying to install adobe reader on my ubuntu 64bit box, and came across issues with 32 bit and 64 bit.  Apparently, there's this program "getlibs" which will download all required libraries that your application needs.  So if you need to install an i386 deb package, first force install it&lt;br /&gt;&lt;br /&gt;dpkg -i --force-all package-name.deb&lt;br /&gt;&lt;br /&gt;Then get all the libraries required by the executable&lt;br /&gt;&lt;br /&gt;getlibs /path/to/executable&lt;br /&gt;&lt;br /&gt;Getlibs can be obtained from &lt;a href="http://www.boundlesssupremacy.com/Cappy/getlibs/getlibs-all.deb"&gt;http://www.boundlesssupremacy.com/Cappy/getlibs/getlibs-all.deb&lt;/a&gt;&lt;br /&gt;I gues, it should also be in the ubuntu repository.  You should be able to do an&lt;br /&gt;&lt;br /&gt;apt-get install getlibs&lt;br /&gt;&lt;br /&gt;For more info, refer to the thread &lt;a href="http://ubuntuforums.org/showthread.php?t=474790"&gt;http://ubuntuforums.org/showthread.php?t=474790&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7088013695280614320?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7088013695280614320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7088013695280614320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7088013695280614320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7088013695280614320'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/12/installing-32-bit-programs-on-64-bit.html' title='Installing 32 bit programs on 64 bit machines (.deb packages)'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6814851803594080058</id><published>2008-12-27T00:50:00.002+05:30</published><updated>2008-12-27T00:56:35.471+05:30</updated><title type='text'>Skype on ubuntu 64 bit</title><content type='html'>Upgraded my laptop to ubuntu 8.10 64 bit today.  The Microphone works finally !!&lt;br /&gt;Decided to install skype but apparently, the skype download page doesn't give a link to skype for 64 bit linux.  The 32 bit version wouldn't install with gdebi !  Searched a bit online, and came across this page:&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=432295"&gt;http://ubuntuforums.org/showthread.php?t=432295&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The gist of the page is&lt;blockquote&gt;&lt;br /&gt;&lt;div style="text-align: left; font-family: courier new;"&gt;sudo apt-get install ia32-libs lib32asound2 libasound2-plugins; wget -N boundlesssupremacy.com/Cappy/getlibs/getlibs-all.deb; wget -O skype-install.deb http://www.skype.com/go/getskype-linux-ubuntu-amd64; sudo dpkg -i skype-install.deb; sudo dpkg -i getlibs-all.deb; sudo getlibs -p libqtcore4 libqtgui4 bluez-alsa&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;NOTE: That is the procedure for 8.10. For others it may be different.&lt;br /&gt;&lt;br /&gt;Also, I'm not sure, but I guess, this link will work:&lt;br /&gt;&lt;a href="http://www.skype.com/go/getskype-linux-ubuntu-amd64"&gt;http://www.skype.com/go/getskype-linux-ubuntu-amd64&lt;/a&gt;&lt;br /&gt;If anyone's trying to install 64 bit skype, please download that from the above link and try installing with gdebi / dpkg.  If it works, that's actually a better option I suppose.  Please post a comment, if did/did-not work for you!&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6814851803594080058?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6814851803594080058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6814851803594080058' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6814851803594080058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6814851803594080058'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/12/skype-on-ubuntu-64-bit.html' title='Skype on ubuntu 64 bit'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-526464147810587671</id><published>2008-11-23T04:34:00.002+05:30</published><updated>2008-11-23T04:47:30.708+05:30</updated><title type='text'>weird bug with ctrl, alt, shift keys going haywire after running vmware on ubuntu</title><content type='html'>If I use ctrl+alt+enter to full-screen a vm in vmware, then when I return to the host, my special keys - ctrl, alt, and shift - will stop working !&lt;br /&gt;&lt;br /&gt;The "xmodmap" command can be used to see the keycodes assigned to the modifiers. When the keys are working fine,&lt;br /&gt;&lt;pre&gt;root@vmathew-laptop:~# xmodmap&lt;br /&gt;xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):&lt;br /&gt;&lt;br /&gt;shift       Shift_L (0x32),  Shift_R (0x3e)&lt;br /&gt;lock        Caps_Lock (0x42)&lt;br /&gt;control     Control_L (0x25),  Control_R (0x6d)&lt;br /&gt;mod1        Alt_L (0x40),  Alt_R (0x71),  Meta_L (0x9c)&lt;br /&gt;mod2        Num_Lock (0x4d)&lt;br /&gt;mod3    &lt;br /&gt;mod4        Super_L (0x7f),  Hyper_L (0x80)&lt;br /&gt;mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)&lt;br /&gt;&lt;/pre&gt;Now, once I run a vm in vmware and use ctrl-alt-enter, to full-screen it, and then come back to the host (ctrl-alt), the output goes.&lt;br /&gt;&lt;pre&gt;root@vmathew-laptop:~# xmodmap&lt;br /&gt;xmodmap:  up to 1 keys per modifier, (keycodes in parentheses):&lt;br /&gt;&lt;br /&gt;shift    &lt;br /&gt;lock     &lt;br /&gt;control  &lt;br /&gt;mod1     &lt;br /&gt;mod2     &lt;br /&gt;mod3     &lt;br /&gt;mod4     &lt;br /&gt;mod5     &lt;br /&gt;&lt;/pre&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;The fix is to use the "&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;setxkbmap&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;" command&lt;/span&gt;. This will restore the keycodes for the modifier keys.&lt;br /&gt;&lt;br /&gt;[Ref]&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=792737"&gt;http://ubuntuforums.org/showthread.php?t=792737&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?p=4990785"&gt;http://ubuntuforums.org/showthread.php?p=4990785&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-526464147810587671?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/526464147810587671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=526464147810587671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/526464147810587671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/526464147810587671'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/11/weird-bug-with-ctrl-alt-shift-keys.html' title='weird bug with ctrl, alt, shift keys going haywire after running vmware on ubuntu'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-581070871867860293</id><published>2008-11-08T02:03:00.004+05:30</published><updated>2008-11-08T02:46:05.898+05:30</updated><title type='text'>Remote procedure calls are SO EASY !! (XMLRPC / Python)</title><content type='html'>I just love python !&lt;br /&gt;And the XMLRPC implementation for python just made me fall in love with it. (Ok, XMLRPC is language independent, but I just loved the python implementation)&lt;br /&gt;&lt;br /&gt;A bit of context; we were discussing the paper "Implementing Remote Procedure calls" (&lt;a href="http://pages.cs.wisc.edu/%7Ecs736-1/blog/2008/10/implementing_remote_procedure.html"&gt;Link&lt;/a&gt;), in our CS736 / Advanced Operating Systems class. I was skeptical of the whole idea since I was wondering why in the world would anyone use this, when the socket api is so neat and clean.&lt;br /&gt;&lt;br /&gt;I was wrong !&lt;br /&gt;&lt;br /&gt;My CS740 / Advanced Networks project mate, Ian Rae, pointed me to XMLRPC within the context of our networks project. And I realized how simple and elegant programming RPC can be.&lt;br /&gt;&lt;br /&gt;The gist of the code is as follows:&lt;br /&gt;Server:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;from SimpleXMLRPCServer import SimpleXMLRPCServer&lt;br /&gt;&lt;br /&gt;def poke(n):&lt;br /&gt;   print "I was poked %d times" % n&lt;br /&gt;   return ("dumb_server", "8000")&lt;br /&gt;&lt;br /&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;SimpleXMLRPCServer&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="s"&gt;"localhost"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;8000&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span class="n"&gt;server&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;register_function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;poke&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"&lt;span style="color: rgb(255, 0, 0);"&gt;poke_the_server&lt;/span&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="n"&gt;server&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;serve_forever&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;Client:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;import xmlrpclib&lt;br /&gt;&lt;br /&gt;proxy = xmlrpclib.ServerProxy("http://localhost:8000/")&lt;br /&gt;reply = &lt;span style="color: rgb(255, 0, 0);"&gt;proxy.poke_the_server(3)&lt;/span&gt;&lt;br /&gt;print "The server %s is listening on port %d" % (reply[0], reply[1])&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;Reference: &lt;a href="http://docs.python.org/library/xmlrpclib.html"&gt;http://docs.python.org/library/xmlrpclib.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-581070871867860293?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/581070871867860293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=581070871867860293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/581070871867860293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/581070871867860293'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/11/remote-procedure-calls-are-so-easy.html' title='Remote procedure calls are SO EASY !! (XMLRPC / Python)'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5271214125676698225</id><published>2008-11-07T05:58:00.002+05:30</published><updated>2008-11-07T06:05:51.899+05:30</updated><title type='text'>Using pipes with python.</title><content type='html'>This lists a bit of code I developed to use pipes with python&lt;br /&gt;&lt;pre&gt;import os&lt;br /&gt;import sys&lt;br /&gt;&lt;br /&gt;def function():&lt;br /&gt; r1,w1 = os.pipe()&lt;br /&gt; r2,w2 = os.pipe()&lt;br /&gt; if (os.fork() == 0):&lt;br /&gt;   # we're the child&lt;br /&gt;   os.close(1)&lt;br /&gt;   os.dup2(w2,1)&lt;br /&gt;   os.close(0)&lt;br /&gt;   os.dup2(r1,0)&lt;br /&gt;   sys.stdin = os.fdopen(0)&lt;br /&gt;   sys.stdout = os.fdopen(1,'w')&lt;br /&gt;   os.execl("/bin/bash")&lt;br /&gt; else:&lt;br /&gt;   # we're the parent&lt;br /&gt;   to_child = os.fdopen(w1,'w')&lt;br /&gt;   from_child = os.fdopen(r2)&lt;br /&gt;   to_child.write("ls\n")&lt;br /&gt;   to_child.flush()&lt;br /&gt;   to_child.write("echo hi\n")&lt;br /&gt;   to_child.flush()&lt;br /&gt;   temp = from_child.readline()&lt;br /&gt;   while temp:&lt;br /&gt;      print temp&lt;br /&gt;      temp = from_child.readline()&lt;br /&gt;&lt;br /&gt;function()&lt;br /&gt;&lt;/pre&gt;The only problem with this code at the moment is, I don't know how to get readline() to return when there's nothing to read. In short, we always end up hanging!&lt;br /&gt;&lt;br /&gt;A much simpler way to achieve the effect of the above would be to use the popen3 function.&lt;br /&gt;&lt;pre&gt;&gt;&gt;&gt; import os&lt;br /&gt;&gt;&gt;&gt; &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;i,o,u = os.popen3("/bin/bash")&lt;/span&gt;&lt;br /&gt;&gt;&gt;&gt; i.write ("ls\n")&lt;br /&gt;&gt;&gt;&gt; i.flush()&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'bin\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'Desktop\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'Documents\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'mounting-vmdk.pdf\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'order-cardbus-to-express.pdf\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'public_html\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;'vmware\n'&lt;br /&gt;&gt;&gt;&gt; o.readline()&lt;br /&gt;# at this point, again we hung !!&lt;br /&gt;&lt;/pre&gt;The problem with readline hanging still exists, but the code's much simpler&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5271214125676698225?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5271214125676698225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5271214125676698225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5271214125676698225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5271214125676698225'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/11/using-pipes-with-python.html' title='Using pipes with python.'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8842569642010883468</id><published>2008-11-07T03:33:00.003+05:30</published><updated>2008-11-07T05:52:21.319+05:30</updated><title type='text'>Mouting partitions with losetup</title><content type='html'>References (previous posts):&lt;br /&gt;&lt;a href="http://varghese85-cs.blogspot.com/2008/02/virtual-drives-on-linux.html"&gt;Virtual Drives on Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://varghese85-cs.blogspot.com/2008/03/playing-with-mount-and-loopback-devices.html"&gt;Playing with mount and loopback devices&lt;/a&gt;&lt;br /&gt;&lt;a href="http://varghese85-cs.blogspot.com/2008/03/encrypted-filesystems.html"&gt;Encrypted Filesystems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One issue I faced with using loopback devices to mount hard disk images was that everything works fine as long as you have the disk image as one single filesystem. But if you use fdisk on the loop back device and created partitions, then I could not quite figure out a way to mount these.&lt;br /&gt;&lt;br /&gt;One intuitive way to do this would be as described in &lt;a href="http://vytautas.jakutis.lt/node/26"&gt;http://vytautas.jakutis.lt/node/26&lt;/a&gt; . In brief, what they do is:&lt;br /&gt;&lt;pre&gt;# rmmod loop&lt;br /&gt;# modprobe loop max_part=63&lt;br /&gt;# losetup -f /path/to/your/disk/image.raw&lt;br /&gt;# mount /dev/loop0p1 /mnt/path&lt;br /&gt;&lt;/pre&gt;Unfortunately, that doesn't work for me. The max_part=63 parameter is rejected by modprobe for me. Guess something else needs to be enabled/compiled-into my kernel for me to support this. (My kernel qualifies by the version info they give there, though)&lt;br /&gt;&lt;br /&gt;But then, there's a simpler option. One can specify an offset in the file where the loop back device should begin. From what I've gathered, the first sector, sector 0 in a disk contains the partition table I guess. And then, the first partition starts at sector 1, and ends at sector n. The next from n+1 to n+m and so on.&lt;br /&gt;&lt;br /&gt;So if we specify the start sector's byte offset (start_sector * 512 normally) as the offset for the loop back device, we can access the particular partition.&lt;br /&gt;Reference: &lt;a href="http://www.docunext.com/blog/2007/07/08/losetup-working-with-raw-disk-images/"&gt;http://www.docunext.com/blog/2007/07/08/losetup-working-with-raw-disk-images/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So say if we have a disk image data.raw, ( say we used qemu_img to create this from a vmware vmdk disk) then we can attach the whole disk to a loop device and run fdisk to get the start sector of the partition&lt;br /&gt;&lt;pre&gt;vmathew:/data/vmathew/vmware/dsl # losetup /dev/loop0 data.raw&lt;br /&gt;vmathew:/data/vmathew/vmware/dsl # fdisk /dev/loop0&lt;br /&gt;&lt;br /&gt;Command (m for help): p&lt;br /&gt;&lt;br /&gt;Disk /dev/loop0: 1073 MB, 1073741824 bytes&lt;br /&gt;255 heads, 63 sectors/track, 130 cylinders&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br /&gt;Disk identifier: 0xb96bb154&lt;br /&gt;&lt;br /&gt;Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/loop0p1               1          63      506016   83  Linux&lt;br /&gt;/dev/loop0p2              64         130      538177+  83  Linux&lt;br /&gt;&lt;br /&gt;Command (m for help):&lt;br /&gt;&lt;/pre&gt;But note here that the units displayed is cylinders. Our second partition starts at cylinder 64, but we don't know the exact sector. To find this information&lt;br /&gt;&lt;pre&gt;Command (m for help): &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;u&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Changing display/entry units to sectors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Command (m for help): p&lt;br /&gt;&lt;br /&gt;Disk /dev/loop0: 1073 MB, 1073741824 bytes&lt;br /&gt;255 heads, 63 sectors/track, 130 cylinders, total 2097152 sectors&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;Units = sectors of 1 * 512 = 512 bytes&lt;/span&gt;&lt;br /&gt;Disk identifier: 0xb96bb154&lt;br /&gt;&lt;br /&gt; Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/loop0p1              63     1012094      506016   83  Linux&lt;br /&gt;/dev/loop0p2         1012095     2088449      538177+  83  Linux&lt;br /&gt;&lt;br /&gt;Command (m for help):&lt;br /&gt;&lt;/pre&gt;Now we quit the fdisk tool. We have our start sector = 1012095. So our start offset = 1012095*512 = 518192640. Thus to mount this file, we first detach the loopback and create it at this offset, and then just mount it.&lt;br /&gt;&lt;pre&gt;Command (m for help): q&lt;br /&gt;&lt;br /&gt;vmathew:/data/vmathew/vmware/dsl # losetup -d /dev/loop0&lt;br /&gt;vmathew:/data/vmathew/vmware/dsl # losetup --offset 518192640 /dev/loop0 data.raw&lt;br /&gt;vmathew:/data/vmathew/vmware/dsl # mount -t ext3 /dev/loop0 temp/&lt;br /&gt;vmathew:/data/vmathew/vmware/dsl # ls temp/&lt;br /&gt;jklh.txt  lost+found&lt;br /&gt;vmathew:/data/vmathew/vmware/dsl #&lt;br /&gt;&lt;/pre&gt;Additionally, checkout the manpage on qemu-img (you need qemu installed) to learn to use this gorgeous converter which can convert between some standard disk image types.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8842569642010883468?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8842569642010883468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8842569642010883468' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8842569642010883468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8842569642010883468'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/11/mouting-partitions-with-losetup.html' title='Mouting partitions with losetup'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6749471365600823561</id><published>2008-11-04T09:42:00.002+05:30</published><updated>2008-11-04T09:45:56.774+05:30</updated><title type='text'>Merging PDF files</title><content type='html'>This was something I used hit a dead end on quite often.&lt;br /&gt;Now that I found it, I'm posting it here..&lt;br /&gt;&lt;br /&gt;It's basically ghostscript to the rescue&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf in1.pdf in2.pdf in3.pdf ...&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;Source (yeah, I'm "plagiarizing" !! )&lt;br /&gt;&lt;a href="http://ansuz.sooke.bc.ca/software/pdf-append.php"&gt;http://ansuz.sooke.bc.ca/software/pdf-append.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6749471365600823561?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6749471365600823561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6749471365600823561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6749471365600823561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6749471365600823561'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/11/merging-pdf-files.html' title='Merging PDF files'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5388651347209349916</id><published>2008-10-16T12:19:00.003+05:30</published><updated>2008-10-16T12:52:51.042+05:30</updated><title type='text'>Damn Small Linux</title><content type='html'>This one's more of a rambling.&lt;br /&gt;For use with &lt;a href="http://www.cs.wisc.edu/condor/"&gt;condor&lt;/a&gt;, I have to setup a small virtual machine with linux on it..&lt;br /&gt;So I'm choosing &lt;a href="http://www.damnsmalllinux.org/"&gt;DSL&lt;/a&gt; and my experiences are being blogged down here.&lt;br /&gt;&lt;br /&gt;The first issue I faced was installing DSL to disk.&lt;br /&gt;To do this&lt;br /&gt;1. right click on the desktop&lt;br /&gt;2. choose Apps &gt; Tools &gt; Install to hard drive.&lt;br /&gt;Note: install to hard drive may fail if your VM doesn't have plenty of memory. So start up the VM with say 320 MB or more of memory, do the hard disk install and then cut back on memory to say 64MB.&lt;br /&gt;&lt;br /&gt;The next issue was setting up the VM so that ssh access is enabled at startup&lt;br /&gt;To do this&lt;blockquote&gt;&lt;pre&gt;update-rc.d ssh defaults 20&lt;/pre&gt;&lt;/blockquote&gt;The third issue was how to install more packages in dsl&lt;br /&gt;This can be done using the MyDSL extensions to DSL&lt;br /&gt;&lt;a href="http://www.ibiblio.org/pub/Linux/distributions/damnsmall/mydsl/"&gt;http://www.ibiblio.org/pub/Linux/distributions/damnsmall/mydsl/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://distro.ibiblio.org/pub/linux/distributions/damnsmall/mydsl/"&gt;http://distro.ibiblio.org/pub/linux/distributions/damnsmall/mydsl/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5388651347209349916?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5388651347209349916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5388651347209349916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5388651347209349916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5388651347209349916'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/10/damn-small-linux.html' title='Damn Small Linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4040359910768023075</id><published>2008-07-24T23:47:00.005+05:30</published><updated>2008-09-13T11:57:09.736+05:30</updated><title type='text'>Free man's recipie (Open source alternatives for common windows programs)</title><content type='html'>Bought an Acer Extensa 4620Z laptop for my mother a few days back. My mom's used to windows, and so I had to get her a genuine copy of Microsoft Windows XP Home Edition. However, that's the only piece of software I bought by paying money. Everything elese, I have freeware alternatives..&lt;br /&gt;&lt;br /&gt;Here's the list&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;ImgBurn:&lt;/span&gt; &lt;a href="http://www.imgburn.com/"&gt;http://www.imgburn.com/&lt;/a&gt;&lt;br /&gt;This's a &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;freeware&lt;/span&gt; (not open source) CD/DVD writing tool that supports all usual features. And guess what, it's &lt;span style="font-style: italic;"&gt;extremely lightweight&lt;span style="font-weight: bold;"&gt;. &lt;/span&gt;&lt;/span&gt;The install file size is just 1.84 MB !!&lt;br /&gt;Advantages:&lt;br /&gt;- supports normal CD/DVD writing, erasing, creating and burning images etc.&lt;br /&gt;- can be used with rewritable discs.&lt;br /&gt;Disadvantages:&lt;br /&gt;- presently does not support multi-session.&lt;br /&gt;&lt;br /&gt;2. &lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;OpenOffice:&lt;/span&gt; &lt;a href="http://www.openoffice.org/"&gt;http://www.openoffice.org/&lt;/a&gt;&lt;br /&gt;A &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free&lt;/span&gt; and &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;opensource&lt;/span&gt; alternative for Microsoft Office and numerous other office suites.&lt;br /&gt;- has feature parity with most of microsoft office. Not yet a match for the latest versions of office, but fits the bill for ALL normal usage one can anticipate.&lt;br /&gt;- supports microsoft office document formats as well as a much more compressed native document format.&lt;br /&gt;- supports exporting documents directly to pdf.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Mplayer:&lt;/span&gt; &lt;a href="http://www.mplayerhq.hu/"&gt;http://www.mplayerhq.hu/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free&lt;/span&gt; and &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;opensource&lt;/span&gt;. The media player that truly plays anything.&lt;br /&gt;I found support for all formats that I could think of ! Even windows proprietary codecs are supported by wrapping over the dlls.&lt;br /&gt;And the best part is the numerous keyboard shortcuts ( &lt;a href="http://www.keyxl.com/aaa2fa5/302/MPlayer-keyboard-shortcuts.htm"&gt;Link&lt;/a&gt; ) The player allows syncing audio and video even when the original file's in error, subtitles, advanced seek capabilities, frame by frame advance, playlists and almost everything you will ever need.&lt;br /&gt;I rate this software &lt;span style="font-weight: bold;"&gt;better than ALL other media players&lt;/span&gt;, whether opensource/free/proprietory.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Firefox:&lt;/span&gt; &lt;a href="http://www.mozilla.com/firefox/"&gt;http://www.mozilla.com/firefox/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free &lt;/span&gt;and &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;opensource&lt;/span&gt;. They call it the fastest browser on earth. I'd say, it's the best browser on earth. It's fast, extremely light weithgt, fully standard compliant, and feature packed. Even windoze internut exploder wouldn't come close to it.. Only, there are moron website administrators who still build websites with windows proprietory widgets which only work with the nut exploder. That aside, you will never need another browser if you have Firefox !&lt;br /&gt;That firefox is the most favored browser among techie community says it all !&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;IZArc:&lt;/span&gt; &lt;a href="http://www.izarc.org/"&gt;http://www.izarc.org/&lt;/a&gt;&lt;br /&gt;A &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free &lt;/span&gt;archiving (.zip, .tar.gz, .rar, .cab etc) software. It supports a much more broad spectrum of formats than winzip and others. And its perfectly free, there's not even an optional registration unlike with winzip. And I'ven't used another archiving software other than this, within a windows environment, for the past 5 years..&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;AVG Antivirus:&lt;/span&gt; &lt;a href="http://free.avg.com/"&gt;http://free.avg.com/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free for personal use&lt;/span&gt;. If you run windows and you're sane enough, then you better have an antivirus. And AVG suits one's normal antivirus requirements.. And it's FREE.&lt;br /&gt;Recently, this free factor has increased AVG's popularity greatly. I know a lot of people who run AVG free edition. And when an antivirus gets to be more popular, it's list of know viruses also becomes more exhaustive :)&lt;br /&gt;&lt;br /&gt;7. &lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;Mozilla Thunderbird:&lt;/span&gt; &lt;a href="http://www.mozilla.com/thunderbird/"&gt;http://www.mozilla.com/thunderbird/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free &lt;/span&gt;and &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;opensource&lt;/span&gt;. Thunderbird is a very good email and usenet client. And with the lightning (&lt;a href="http://www.mozilla.org/projects/calendar/lightning/"&gt;http://www.mozilla.org/projects/calendar/lightning/&lt;/a&gt;)plugin, it supports a calendar too ! Forget outlook and such fancies..&lt;br /&gt;&lt;br /&gt;8. &lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;PDF Creator:&lt;/span&gt; &lt;a href="http://www.pdfforge.org/"&gt;http://www.pdfforge.org/&lt;/a&gt;, &lt;a href="http://sourceforge.net/projects/pdfcreator/"&gt;http://sourceforge.net/projects/pdfcreator/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;free &lt;/span&gt;and &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;opensource&lt;/span&gt;. Adobe PDF (&lt;span style="font-style: italic;"&gt;.pdf&lt;/span&gt; files) is the best portable format for carrying documents. Almost every platform supports it. It's presentation is in a print-format. And once created, it is viewed in a viewer program like acrobat and hence will not be modified accidentally.&lt;br /&gt;But how does one create pdfs?&lt;br /&gt;With PDFCreator, a (simulated) printer gets installed onto your computer, and whatever you print to that printer is saved as a pdf file. So "&lt;span style="color: rgb(0, 0, 153);"&gt;if it can be printed, it can be made into a pdf&lt;/span&gt;" !!&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4040359910768023075?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4040359910768023075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4040359910768023075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4040359910768023075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4040359910768023075'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/07/free-mans-recipie-open-source.html' title='Free man&apos;s recipie (Open source alternatives for common windows programs)'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4952868008425231429</id><published>2008-07-10T18:33:00.004+05:30</published><updated>2008-07-10T18:43:49.981+05:30</updated><title type='text'>And the dictionary talks !</title><content type='html'>By now I have made &lt;a href="http://dictionary.com/"&gt;dictionary.com&lt;/a&gt; my default dictionary. It's good, and gives most information I require.&lt;br /&gt;&lt;br /&gt;Today, I also realized that it includes a recording for the word's pronunciation too.&lt;br /&gt;&lt;br /&gt;I mean, the last I checked the little speaker icon next to the word was when I used to use windoze, and at that time I don't remember it working. (guess it was a premium service)&lt;br /&gt;&lt;br /&gt;But today, I clicked on the speaker icon out of some un-fathomable curiosity, and it worked !!&lt;br /&gt;&lt;br /&gt;Other lovely aspects of the dictionary:&lt;br /&gt;- firefox search engine plugin available.&lt;br /&gt; Hence search is just a CTRL-T + TAB + a few CTRL-arrow_keys away.&lt;br /&gt;- Companion sites: &lt;a href="http://www.reference.com/"&gt;encyclopedia&lt;/a&gt;, &lt;a href="http://thesaurus.com/"&gt;thesaurus&lt;/a&gt; etc.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4952868008425231429?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4952868008425231429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4952868008425231429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4952868008425231429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4952868008425231429'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/07/and-dictionary-talks.html' title='And the dictionary talks !'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3777519377286729119</id><published>2008-06-25T09:36:00.003+05:30</published><updated>2008-07-03T11:12:24.561+05:30</updated><title type='text'>NVIDIA and ATI on openSUSE 11.0</title><content type='html'>Sorry, this one's mostly a rambling bucket of links and a newsgroup post replicated.&lt;br /&gt;&lt;blockquote&gt;&lt;span style=""&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Subject: NVIDIA and ATI on openSUSE 11.0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;From: &lt;a href="http://www.houghi.org/"&gt;houghi &lt;/a&gt;&lt;/span&gt;&lt;a style="color: rgb(102, 102, 102);" href="mailto:houghi@houghi.org.invalid" target="_blank"&gt;&lt;houghi@houghi.org.invalid&gt;&lt;/houghi@houghi.org.invalid&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Date: Wed, 18 Jun 2008 20:34:23 +0530&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Newsgroup: alt.os.linux.suse&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;With the coming of 11.0 juste hours away now, many people will be asking&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;on how to install NVIDEA and ATI.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;This is the posting that explains it all.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;The URL with the information&lt;/span&gt;&lt;br /&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://dev.compiz-fusion.org/%7Ecyberorg/2008/06/13/getting-nvidia-and-ati-drivers-on-opensuse-110/" target="_blank"&gt;http://dev.compiz-fusion.org/&lt;wbr&gt;~cyberorg/2008/06/13/getting&lt;wbr&gt;-nvidia-and-ati-drivers-on&lt;wbr&gt;-opensuse-110/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;The text version:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   ATI drivers 1-click-install : &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://opensuse-community.org/ati.ymp" target="_blank"&gt;http://opensuse-community.org&lt;wbr&gt;/ati.ymp&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;NVIDEA drivers 1-click-install : &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://opensuse-community.org/nvidia.ymp" target="_blank"&gt;http://opensuse-community.org&lt;wbr&gt;/nvidia.ymp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Via the command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;su -c "OCICLI &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://opensuse-community.org/ati.ymp" target="_blank"&gt;http://opensuse-community.org&lt;wbr&gt;/ati.ymp&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;su -c "OCICLI &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://opensuse-community.org/nvidia.ymp" target="_blank"&gt;http://opensuse-community.org&lt;wbr&gt;/nvidia.ymp&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;This also shows on how to use the _OneClickInstall_on_CLI_&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Another via cli:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;zypper sa &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://download.nvidia.com/opensuse/11.0" target="_blank"&gt;http://download.nvidia.com&lt;wbr&gt;/opensuse/11.0&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; nvidia&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;zypper in x11-video-nvidiaG01&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;zypper sa &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://www2.ati.com/suse/11.0" target="_blank"&gt;http://www2.ati.com/suse/11.0&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; ati&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;zypper in  x11-video-fglrxG01&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;No manual configuration of xorg.conf or switching on Xgl required to get&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;compiz goodness, just launch simple-ccsm and enable compiz from there&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;after installing the drivers.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Missing window titles on compiz:&lt;br /&gt;&lt;a href="http://forums.suselinuxsupport.de/index.php?showtopic=61418"&gt;http://forums.suselinuxsupport.de/index.php?showtopic=61418&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;openSUSE XGL page:&lt;br /&gt;&lt;a href="http://en.opensuse.org/Xgl"&gt;http://en.opensuse.org/Xgl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An appeal for open drivers for linux&lt;br /&gt;&lt;a href="http://uk.news.yahoo.com/vdunet/20080623/ttc-linux-developers-push-for-open-drive-6315470.html"&gt;http://uk.news.yahoo.com/vdunet/20080623/ttc-linux-developers-push-for-open-drive-6315470.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My experiments with compiz (failed):&lt;br /&gt;&lt;a href="http://varghese85-cs.blogspot.com/2008/06/compiz-on-thinkpad-t43-using-opensuse.html"&gt;http://varghese85-cs.blogspot.com/2008/06/compiz-on-thinkpad-t43-using-opensuse.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3777519377286729119?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3777519377286729119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3777519377286729119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3777519377286729119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3777519377286729119'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/nvidia-and-ati-on-opensuse-110.html' title='NVIDIA and ATI on openSUSE 11.0'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-841701302270293224</id><published>2008-06-25T00:07:00.002+05:30</published><updated>2008-06-25T00:11:27.670+05:30</updated><title type='text'>Some good way to search</title><content type='html'>Search this string:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;-inurl:(htm|html|php) intitle:"index of" +"last modified" +"parent directory" +description +size +(wma|mp3) "Nirvana"&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;What it basically does is to find file listings of type wma or mp3 for Nirvana songs. One can modify it to search for any particular file one might want to find on ftp servers and that sort.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.employees.org/%7Esmitha/myblog/?q=node/46"&gt;http://www.employees.org/~smitha/myblog/?q=node/46&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-841701302270293224?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/841701302270293224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=841701302270293224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/841701302270293224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/841701302270293224'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/some-good-way-to-search.html' title='Some good way to search'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-1513564686920321386</id><published>2008-06-17T00:26:00.002+05:30</published><updated>2008-06-17T00:37:47.889+05:30</updated><title type='text'>Finally Tuxed</title><content type='html'>This is more on a personal note. If you have been reading this blog, you'd know that I had plans to buy a Compal JFL 92 based laptop and go linux on it and say good bye to windows once and for all, when I go to Wisconsin for my Masters.&lt;br /&gt;&lt;br /&gt;Well, as it turns out, the linux migration got expedited ! Special thanks to my colleague and cab-mate &lt;a href="http://www.employees.org/%7Esmitha/"&gt;Smitha Narayanaswamy&lt;/a&gt; who inspired me to do it right off and guided me a lot with locating complementary tools on linux to fit in with the cisco workflow model which mostly is based on Windows.&lt;br /&gt;&lt;br /&gt;Although there are a few requirements for which I need to resort to windows on virtualbox, I've mostly been successful in extricating myself out of that OS dependency.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-1513564686920321386?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/1513564686920321386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=1513564686920321386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1513564686920321386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1513564686920321386'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/finally-tuxed.html' title='Finally Tuxed'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-228202447520238031</id><published>2008-06-17T00:07:00.004+05:30</published><updated>2008-06-17T00:13:10.991+05:30</updated><title type='text'>VirtualBox on OpenSUSE 10.3</title><content type='html'>This is a good intro to installing and using VirtualBox on OpenSUSE 10.3&lt;br /&gt;&lt;a href="http://linux.derkeiler.com/Mailing-Lists/SuSE/2008-02/msg00889.html"&gt;http://linux.derkeiler.com/Mailing-Lists/SuSE/2008-02/msg00889.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically, the virtualbox which comes bundled with opensuse is the OSS version which doesn't work very well on various fronts. So unintall it..&lt;br /&gt;&lt;br /&gt;Then download the prebuilt binary for OpenSUSE 10.3 available at &lt;a href="http://www.virtualbox.org/"&gt;http://www.virtualbox.org/&lt;/a&gt; and install it.&lt;br /&gt;&lt;br /&gt;Next, add whichever usernames you want to give access to virtual box to the group vboxusers (easiest done through yast2)&lt;br /&gt;&lt;br /&gt;Now run the command "virtualbox" and enjoy !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-228202447520238031?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/228202447520238031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=228202447520238031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/228202447520238031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/228202447520238031'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/virtualbox-on-opensuse-103.html' title='VirtualBox on OpenSUSE 10.3'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3977327762426285831</id><published>2008-06-16T09:21:00.007+05:30</published><updated>2008-06-20T00:49:49.479+05:30</updated><title type='text'>Compiz on thinkpad (T43) using OpenSUSE 10.3</title><content type='html'>Out of the box, OpenSUSE 10.3 detects the graphics card on IBM Thinkpad T43 as ATI Radeon M300 something. That's the default driver bundled with OpenSUSE. And quite expectably, the driver does not support 3D, direct rendering etc. That translates to No Compiz.&lt;br /&gt;&lt;br /&gt;However, there seems to be fixes for the same. In fact, at this writing, I'm halfway through the process (having successfully switched to an ATI furnished driver which detects the card properly and allows 3D and direct rendering.) Keeping this as a record of what I do, so that folks as clueless as I was when I started out can make good use of this and do the work faster :)&lt;br /&gt;&lt;br /&gt;The step 1. is to go to &lt;a href="http://en.opensuse.org/ATI"&gt;http://en.opensuse.org/ATI&lt;/a&gt; and download the version 8.0.* of the ATI drivers available there. The one click install is what I did. (You might need to add the Opensuse OSS repository to your Yast2 &gt; Software &gt; Software Repositories. The repo maybe found at &lt;a href="http://download.opensuse.org/distribution/10.3/repo/oss/"&gt;http://download.opensuse.org/distribution/10.3/repo/oss/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;Next, once the one-click install is over, do &lt;pre&gt;# &lt;span style="color: rgb(204, 0, 0);"&gt;aticonfig --initial&lt;/span&gt;&lt;/pre&gt; as root.&lt;br /&gt;&lt;br /&gt;Now, you can run "sax2 -r" as root and you will see the card detected as ATI Radeon X300. Also, CTRL+ALT+BACKSPACE will restart the X server for you with the updated configuraion.&lt;br /&gt;&lt;br /&gt;Next, in /etc/X11/ open the file xorg.conf, and at the bottom add the following lines&lt;pre&gt;Section "Extensions"&lt;br /&gt;Option       "Composite" "Enable"&lt;br /&gt;Option       "DAMAGE" "Enable"&lt;br /&gt;EndSection&lt;/pre&gt;(The extensions section might already be there, in which case add/update the options there)&lt;br /&gt;These lines take care of the errors&lt;br /&gt;&lt;span style="font-style: italic;"&gt; compiz (core) - Fatal: No composite extension&lt;/span&gt;&lt;br /&gt;and&lt;br /&gt;&lt;span style="font-style: italic;"&gt; compiz (core) - Fatal: No DAMAGE extension&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At this point, 3D works. (Small issues though, like the arcade game "Chromium B.S.U." hangs the system immediately on launch) However, "compiz --replace" still doesn't. Working on fixing this now.&lt;br /&gt;&lt;br /&gt;(For nvidia cards, drivers can similarly be found at &lt;a href="http://en.opensuse.org/Nvidia"&gt;http://en.opensuse.org/Nvidia&lt;/a&gt;.)&lt;br /&gt;========= ========= ========= ========= ========= ========= ========= =========&lt;br /&gt;&lt;br /&gt;I gave up !&lt;br /&gt;&lt;br /&gt;The ATI Driver seems to be buggy. Although the above procedure will get you 3D enabled, with beautiful effects and shadows and all that, it makes the system highly unstable.&lt;br /&gt;&lt;br /&gt;For example, the chromium game crash I mentioned above. And also, once when I locked the computer, I guess some OpenGL screen saver would have started.. And this (!) crashed the comp !&lt;br /&gt;&lt;br /&gt;So I removed the ATI drivers and reverted to the SUSE supplied stable drivers; no 3D but stable as ever.. Hopefully my Compal JFL 92 will work perfect with OpenSUSE 11.0 on that front.. (!)&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://tombuntu.com/index.php/2008/04/28/workaround-for-pink-shadows-with-compiz/"&gt;http://tombuntu.com/index.php/2008/04/28/workaround-for-pink-shadows-with-compiz/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3977327762426285831?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3977327762426285831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3977327762426285831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3977327762426285831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3977327762426285831'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/compiz-on-thinkpad-t43-using-opensuse.html' title='Compiz on thinkpad (T43) using OpenSUSE 10.3'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3765919939004103205</id><published>2008-06-06T10:47:00.003+05:30</published><updated>2008-06-06T14:28:02.494+05:30</updated><title type='text'>Firefox has a 21% global market share.</title><content type='html'>A long long time ago (in computer science terms, that translates to 26 years) the &lt;a href="http://en.wikipedia.org/wiki/Mosaic_%28web_browser%29"&gt;Mosaic web browser&lt;/a&gt; was developed at the National Center for Supercomputing Applications, University of Illinois - Urbana-Champaign.&lt;br /&gt;&lt;br /&gt;Soon mosaic became &lt;a href="http://en.wikipedia.org/wiki/Netscape"&gt;Netscape&lt;/a&gt; communicator and became among the most successful web browsers. However this was not to stay with Microsoft upsetting the bandwagon with their free &lt;a href="http://en.wikipedia.org/wiki/Internet_Explorer"&gt;Internet Explorer&lt;/a&gt; ( a.k.a. Internut Exploder in the anti-microsoft circles; in fact, wikipedia redirects &lt;a href="http://en.wikipedia.org/wiki/Internut_Exploder"&gt;Internut Exploder&lt;/a&gt; to Internet Explorer :D ) which was bundled along with the Windows operating system.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://en.wikipedia.org/wiki/United_States_v._Microsoft"&gt;United States vs. Microsoft&lt;/a&gt; lawsuit was settled mostly in favor of microsoft. Pursuant to AOL takeover of Netscape, the &lt;a href="http://en.wikipedia.org/wiki/Mozilla_Foundation"&gt;Mozilla Foundation&lt;/a&gt;, which had already been set up as a subsidiary of Netscape, was made a separate entity.&lt;br /&gt;&lt;br /&gt;And Mozilla made the &lt;a href="http://en.wikipedia.org/wiki/Mozilla_Application_Suite"&gt;Mozilla application suite&lt;/a&gt; which today goes by the name Mozilla &lt;a href="http://en.wikipedia.org/wiki/SeaMonkey"&gt;SeaMonkey&lt;/a&gt;. Some of the brilliant intellectuals at Mozilla soon decided that commercial requirements have resulted in a drastic feature creep into Mozilla, bloating up the application suite. Hence, Firefox was spun off as an experimental branch to combat this.&lt;br /&gt;&lt;br /&gt;Firefox version 1.0 was released on November 9, 2004. Since then, it's adoption by the market has been dramatic.&lt;br /&gt;&lt;br /&gt;Today, Mozilla firefox holds a whopping&lt;a href="http://mozillalinks.org/wp/2008/01/firefox-global-market-share-reaches-211/"&gt; 21.1 % of the global browser market share&lt;/a&gt;.. A place which was dominated by over 90% by the Microsoft Internet Explorer !!!&lt;br /&gt;&lt;br /&gt;Way to go!!&lt;br /&gt;&lt;br /&gt;On a subtler note, what will become of the &lt;a href="http://en.wikipedia.org/wiki/Iceweasel"&gt;GNU IceWeasel&lt;/a&gt; vs Mozilla Firefox, is another question only time can tell though.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3765919939004103205?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3765919939004103205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3765919939004103205' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3765919939004103205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3765919939004103205'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/firefox-has-21-global-market-share.html' title='Firefox has a 21% global market share.'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-2224222828125524804</id><published>2008-06-06T09:23:00.002+05:30</published><updated>2008-06-06T10:43:25.505+05:30</updated><title type='text'>Mozilla Thunderbird, sorting threads by the newst email in the thread</title><content type='html'>One of the annoying issues I was facing with &lt;a href="http://www.mozilla.com/thunderbird/"&gt;mozilla thunderbird&lt;/a&gt; email client was that when I opt to have emails grouped into threads (conversations), the threads are sorted according to the Date and time of the earliest/oldest email in the thread. So if someone replies to a thread a month after the oldest email in that thread, the thread will have an unread message in it, but I won't notice it because it's not among the topmost few threads in my inbox.&lt;br /&gt;&lt;br /&gt;Figured out the fix now, to have threads sorted by the date and time of the newest email in it.&lt;br /&gt;&lt;br /&gt;View &gt; Sort By &gt; Threaded.&lt;br /&gt;&lt;br /&gt;Wonder why thunderbird doesn't have this as the default setting.&lt;br /&gt;&lt;br /&gt;Anyways, now when someone replies to an old thread, that entire thread gets brought to the top in my inbox, making it impossible that I miss a mail.&lt;br /&gt;&lt;br /&gt;PS: I know this sounds a silly post; but if you use thunderbird, you'll know how annoying this is. In fact, google shows there are people who quit thunderbird for this singular reason.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-2224222828125524804?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/2224222828125524804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=2224222828125524804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2224222828125524804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2224222828125524804'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/mozilla-thunderbird-sorting-threads-by.html' title='Mozilla Thunderbird, sorting threads by the newst email in the thread'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-294452170557316125</id><published>2008-06-05T09:16:00.010+05:30</published><updated>2008-06-05T09:42:06.581+05:30</updated><title type='text'>Sending email (smtp) using python</title><content type='html'>&lt;span style="font-family:courier new;"&gt;bash$ python&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Python 2.1.1 (#1, Dec 29 2004, 11:06:29)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[GCC 3.3.3] on linux2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Type "copyright", "credits" or "license" for more information.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # First we need to import smtplib, which we use for sending email&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; import smtplib&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # Next we compose the message we want to be sent, in MIME format.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # You can go ahead and include attachments or whatever.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # One quick way would be to use MS Outlook or something to compose&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # the message, then save it as .eml, and copy the source.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # Note here that "From:", "To:", "Cc:" etc are what your recipients&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # will see in the header, but does not reflect on who the message is&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # actually from, or is actually sent to.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # The message only goes to people who you specify in the sendmail() call.&lt;br /&gt;&gt;&gt;&gt; # Note also that the \r\n pattern should separate each field in the header&lt;br /&gt;&gt;&gt;&gt; # and the \r\n\r\n separates header from the body.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; message = """From: John Dove &amp;lt;john@dove.com&amp;gt;\r\nTo: John Dove &amp;lt;john@dove.com&amp;gt;\r\nCc: Jane Dove &amp;lt;jane@dove.com&amp;gt;\r\nSubject: Hi!\r\n\r\n&lt;br /&gt;... Hi John,&lt;/jane@dove.com&gt;&lt;/john@dove.com&gt;&lt;/john@dove.com&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;... How are you doing man?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;... Just mailing in to let you know that I exist..&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;... Just woke up when you were loitering around in the pantry :D&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;... /your alter-ego(2)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;... """&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # Now we initiate the smtp connection&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; mailServer = smtplib.SMTP("smtp.server.com")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # Now we actually send the email..&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; mailServer.sendmail("sender@somewhere.com", ["recipient1@somewhere.com",&lt;br /&gt;... "recipient2@somewhere.com", "john.dove@somewhereelse.com"], message);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;{}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # Now that we are done, we 'hang up' the connection&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; mailServer.close()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt; # bbye :D&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;&gt;&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;a href="http://www.eskimo.com/%7Ejet/python/examples/mail/smtp1.html"&gt;http://www.eskimo.com/~jet/python/examples/mail/smtp1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-294452170557316125?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/294452170557316125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=294452170557316125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/294452170557316125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/294452170557316125'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/06/sending-email-smtp-using-python.html' title='Sending email (smtp) using python'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4682085411063641222</id><published>2008-05-25T10:32:00.003+05:30</published><updated>2008-11-13T23:22:50.607+05:30</updated><title type='text'>Cscope</title><content type='html'>I was first introduced to cscope through my job at Cisco. At that time, I never cared much about it. But now I realize it's one of the major productivity enhancement tools where source navigation through a pile of code written by many other people is concerned.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cscope.sourceforge.net/"&gt;http://cscope.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This document provides a tutorial on how to set up cscope for large projects, using the example of the linux kernel.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cscope.sourceforge.net/large_projects.html"&gt;http://cscope.sourceforge.net/large_projects.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this document teaches how to use cscope very efficiently from within vim.&lt;br /&gt;&lt;a href="http://cscope.sourceforge.net/cscope_vim_tutorial.html"&gt;http://cscope.sourceforge.net/cscope_vim_tutorial.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also, there are many other frontends to csope besides the simple ncurses based one. Try kscope.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kscope.sourceforge.net/"&gt;http://kscope.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4682085411063641222?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4682085411063641222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4682085411063641222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4682085411063641222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4682085411063641222'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/05/cscope.html' title='Cscope'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5841131042971943353</id><published>2008-05-06T16:22:00.006+05:30</published><updated>2008-07-09T10:22:40.921+05:30</updated><title type='text'>Next Laptop PowerPro P 11:15 (based on Compal JFL92)</title><content type='html'>In a previous post I was looking at my next laptop and considering Sager NP 2092 for the same. ( &lt;a href="http://varghese85-cs.blogspot.com/2008/03/next-laptop-sager-np2092.html"&gt;http://varghese85-cs.blogspot.com/2008/03/next-laptop-sager-np2092.html&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;This laptop is a Sager rebranding of the Compal JFL92 laptop. However, since I read on a few forums about sluggish customer support from Sager, I was getting a bit worried.&lt;br /&gt;&lt;br /&gt;Now I realize that PowerNotebooks.com (&lt;a href="http://www.powernotebooks.com/"&gt;http://www.powernotebooks.com/&lt;/a&gt;), the retail outlet from where I planned to buy the Sager NP2092 has an in-house rebranding of the Compal JFL92: PowerPro P 11:15 (&lt;a href="http://www.powernotebooks.com/category.php?catId=78#id2269"&gt;http://www.powernotebooks.com/category.php?catId=78#id2269&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;PowerNotebooks.com is an online retailer for whom I found the customer ratings to be impeccably excellent. The company seems top notch, and hence I am happy that I can get the Compal JFL92 which I wanted, with a reasonable assurance of reliable customer support.&lt;br /&gt;&lt;br /&gt;Customisations I am going for:&lt;br /&gt;- 1680x1050 WSXGA+ MATTE LCD&lt;br /&gt;- Intel Core 2 Duo 2.1 GHz processor&lt;br /&gt;- 2GB (2x1GB) memory&lt;br /&gt;- 250GB SATA 5400rpm hdd&lt;br /&gt;- Bluetooth&lt;br /&gt;- RainShield Backpack black/silver&lt;br /&gt;- NO Windoze XP / Vista (I'll run OpenSUSE 11.0 !!)&lt;br /&gt;&lt;br /&gt;Also, check this thread (&lt;a href="http://forum.notebookreview.com/showthread.php?p=3320508"&gt;http://forum.notebookreview.com/showthread.php?p=3320508&lt;/a&gt;)&lt;br /&gt;Owners of Compal JFL92 have confirmed linux compatibility for the JFL92. Hence I'm delighted.&lt;br /&gt;&lt;br /&gt;Other pertinent posts (these are on the IFL90 though)&lt;br /&gt;&lt;a href="http://lddubeau.com/avaktavyam/linux-on-a-compal-ifl90/"&gt;http://lddubeau.com/avaktavyam/linux-on-a-compal-ifl90/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tiago.estima.googlepages.com/Install_log_Linux_OpenS.html"&gt;http://tiago.estima.googlepages.com/Install_log_Linux_OpenS.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- ---------&lt;br /&gt;This one seems to be the same compal JFL92 with ubuntu pre-installed.&lt;br /&gt;(Check the last option, titled "Serval Performance")&lt;br /&gt;&lt;a href="http://system76.com/index.php?cPath=28"&gt;http://system76.com/index.php?cPath=28&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5841131042971943353?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5841131042971943353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5841131042971943353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5841131042971943353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5841131042971943353'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/05/new-laptop-powerpro-p-1115-based-on.html' title='Next Laptop PowerPro P 11:15 (based on Compal JFL92)'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6101567957093241406</id><published>2008-05-06T15:31:00.001+05:30</published><updated>2008-05-06T15:31:53.993+05:30</updated><title type='text'>The Linux Kernel book</title><content type='html'>&lt;a href="http://www.linuxhq.com/guides/TLK/tlk.html"&gt;http://www.linuxhq.com/guides/TLK/tlk.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Looks like a good resource to learn the linux kernel..&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6101567957093241406?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6101567957093241406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6101567957093241406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6101567957093241406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6101567957093241406'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/05/linux-kernel-book.html' title='The Linux Kernel book'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-2881410172878871773</id><published>2008-04-30T15:15:00.003+05:30</published><updated>2008-04-30T16:37:15.132+05:30</updated><title type='text'>gparted vs partition magic</title><content type='html'>Guess Partition magic is familiar to most folks around.&lt;br /&gt;&lt;br /&gt;However, I wanted an Free Open Source solution addressing the same purpose.&lt;br /&gt;&lt;br /&gt;My searches have led me to parted&lt;br /&gt;(&lt;a href="http://www.gnu.org/software/parted/index.shtml"&gt;http://www.gnu.org/software/parted/index.shtml&lt;/a&gt;)&lt;br /&gt;and it's gui-enabled frontend gparted&lt;br /&gt;(&lt;a href="http://gparted.sourceforge.net/"&gt;http://gparted.sourceforge.net/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;There's a gparted live cd,&lt;br /&gt;(&lt;a href="http://gparted.sourceforge.net/livecd.php"&gt;http://gparted.sourceforge.net/livecd.php&lt;/a&gt;)&lt;br /&gt;which is a bootable linux cd which takes you straight to the gparted gui.&lt;br /&gt;&lt;br /&gt;Also, gparted is available on the "SystemRescueCd" liveCD distribution.&lt;br /&gt;(&lt;a href="http://www.sysresccd.org/Main_Page"&gt;http://www.sysresccd.org/Main_Page&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Also, here's a good link on using gparted to partition hard drives on Windows Vista preinstalled laptops.&lt;br /&gt;(&lt;a href="http://www.howtogeek.com/howto/windows-vista/using-gparted-to-resize-your-windows-vista-partition/"&gt;http://www.howtogeek.com/howto/windows-vista/using-gparted-to-resize-your-windows-vista-partition/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-2881410172878871773?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/2881410172878871773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=2881410172878871773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2881410172878871773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2881410172878871773'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/04/gparted-vs-partition-magic.html' title='gparted vs partition magic'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-674397334240098004</id><published>2008-04-26T23:15:00.000+05:30</published><updated>2008-04-26T23:16:28.930+05:30</updated><title type='text'>Video lectures on computer science</title><content type='html'>&lt;a href="http://freescienceonline.blogspot.com/"&gt;http://freescienceonline.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-674397334240098004?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/674397334240098004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=674397334240098004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/674397334240098004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/674397334240098004'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/04/video-lectures-on-computer-science.html' title='Video lectures on computer science'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-2660868480802110085</id><published>2008-04-26T23:07:00.003+05:30</published><updated>2008-04-29T10:44:28.142+05:30</updated><title type='text'>Programming from the ground up</title><content type='html'>An apparently good resource for programming in assembly under linux.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt; Bartlett, Jonathan - Programming from the Ground up &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is the first book I've seen so far on assembly programming using the gnu toolset.&lt;br /&gt;And the book is available as soft copy under GPL&lt;br /&gt;&lt;br /&gt;&lt;a href="http://programminggroundup.blogspot.com/2007/01/programming-from-ground-up.html"&gt;http://programminggroundup.blogspot.com/2007/01/programming-from-ground-up.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://savannah.nongnu.org/projects/pgubook/"&gt;http://savannah.nongnu.org/projects/pgubook/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks again to my friend Haynes for pointing me to this.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-2660868480802110085?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/2660868480802110085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=2660868480802110085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2660868480802110085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2660868480802110085'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/04/programming-from-ground-up.html' title='Programming from the ground up'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-1841041796451901255</id><published>2008-04-04T10:28:00.001+05:30</published><updated>2008-04-04T10:30:16.302+05:30</updated><title type='text'>Devpit</title><content type='html'>This looks like a repository for all kinds of developer's info (*nix primarily)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://devpit.org/wiki/Main_Page"&gt;http://devpit.org/wiki/Main_Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As they describe themselves: &lt;a href="http://devpit.org/wiki/Devpit:About"&gt;http://devpit.org/wiki/Devpit:About&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-1841041796451901255?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/1841041796451901255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=1841041796451901255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1841041796451901255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1841041796451901255'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/04/devpit.html' title='Devpit'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-965528159030071899</id><published>2008-03-31T12:00:00.003+05:30</published><updated>2008-03-31T12:25:09.829+05:30</updated><title type='text'>xournal - just what I wanted !!</title><content type='html'>I have had two independent requirements for wish I have long wished I had some applications.&lt;br /&gt;&lt;br /&gt;One was for note taking.. I was trying to use notepad for note taking.. But then, unlike on a notebook, there was no quick way for drawing rough figures alongside my notes.. Paint wouldn't fit the bill either because, I can not go on taking notes endlessly.. And now that I'm moving on to linux (with bias for KDE) kate and krita are the analogues, and they wouldn't fit the bill either.&lt;br /&gt;&lt;br /&gt;The second was regarding PDF files.. I was finding a major difficulty in getting accustomed to PDF files rather than printed matter because I could mark, highlight, underline etc; annotate in general, on printed matter, but not on pdf files.&lt;br /&gt;&lt;br /&gt;One fine day, I was browsing through the kmenu on my opensuse virtual box, and bingo ! I came upon xournal. The claims were big, but the default version bundled with OpenSUSE 10.3 didn't work.&lt;br /&gt;&lt;br /&gt;Somehow, I'm grateful that my lazybones didn't kick in, but instead I searched an located the sourceforge site for the xournal project: &lt;a href="http://xournal.sourceforge.net/"&gt;http://xournal.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From there, I got the latest version source+binary package, and installed that.. And yes! all my problems are solved. The software allows me to take notes, and draw on the same canvas; take notes on multiple A4 pages, bundled as a book; open a pdf and annotate the same; and export my notes/my annotated pdf back to pdf !&lt;br /&gt;&lt;br /&gt;In sum, xournal is simply what I've been looking for !!!&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- ---------&lt;br /&gt;Monday 2008-03-31 12:14 UTC+5:30&lt;br /&gt;&lt;br /&gt;On a further note; how to handle pdf encrypted files..&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Attribution] This I took from a post on the sourceforge xournal forum.&lt;/span&gt;&lt;br /&gt;The pdftops command can be used to decrypt and convert a pdf to a ps file.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;pdftops -upw {password} file.pdf file.ps&lt;/pre&gt;&lt;/blockquote&gt;Thereafter, the ps2pdf command can be used to convert the ps back to an unencrypted pdf.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;ps2pdf file.ps file.pdf &lt;/pre&gt;&lt;/blockquote&gt;Note that, xournal doesn't come into the picture here at all.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-965528159030071899?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/965528159030071899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=965528159030071899' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/965528159030071899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/965528159030071899'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/xournal-just-what-i-wanted.html' title='xournal - just what I wanted !!'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-1037115143081496625</id><published>2008-03-30T20:50:00.002+05:30</published><updated>2008-03-30T20:56:11.161+05:30</updated><title type='text'>Skype to the rescue ?</title><content type='html'>In my linux migration, one of the biggest obstacles I have been facing was the lack of a reliable, free messenger allowing voice and video.&lt;br /&gt;&lt;br /&gt;Looks like &lt;a href="http://www.skype.com/"&gt;skype&lt;/a&gt; will solve that problem for me.&lt;br /&gt;&lt;br /&gt;Skype has versions for &lt;a href="http://www.skype.com/download/skype/linux/"&gt;linux&lt;/a&gt; as well as &lt;a href="http://www.skype.com/intl/en/download/skype/windows/"&gt;windows&lt;/a&gt;. Just installed the linux version; voice works fine.. Can't check out video right now as I don't have a linux compatible webcam..&lt;br /&gt;&lt;br /&gt;Anyways, if I can get my parents to use skype too, then one major issue gets sorted out..&lt;br /&gt;And as a bonus, skype allows conference calls too !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-1037115143081496625?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/1037115143081496625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=1037115143081496625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1037115143081496625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1037115143081496625'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/skype-to-rescue.html' title='Skype to the rescue ?'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7194928602517004923</id><published>2008-03-30T14:09:00.002+05:30</published><updated>2008-03-30T14:12:00.286+05:30</updated><title type='text'>Webmin for configuring linux</title><content type='html'>Had tried Debian Etch, and was wondering how to configure firewall etc using GUI.&lt;br /&gt;&lt;br /&gt;Looks like &lt;a href="http://www.webmin.com/"&gt;Webmin &lt;/a&gt;is a good solution&lt;br /&gt;&lt;br /&gt;However, for now I guess I'll stick with &lt;a href="http://www.opensuse.org/"&gt;opensuse&lt;/a&gt;.&lt;br /&gt;Somehow liked it more than any other distros so far.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7194928602517004923?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7194928602517004923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7194928602517004923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7194928602517004923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7194928602517004923'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/webmin-for-configuring-linux.html' title='Webmin for configuring linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-199121204938500425</id><published>2008-03-29T22:25:00.007+05:30</published><updated>2008-04-04T10:34:10.703+05:30</updated><title type='text'>L4 microkernels</title><content type='html'>So much for the monolith that the linux kernel has become!&lt;br /&gt;Stallman and team are working on speeding up hurd on top of the mach microkernel..&lt;br /&gt;&lt;br /&gt;But then, mach is a first generation microkernel..&lt;br /&gt;And subsequently, the L4 was designed to overcome the insufficiencies of mach.&lt;br /&gt;&lt;br /&gt;Looked at this wikipedia page on l4 microkernels: &lt;a href="http://en.wikipedia.org/wiki/L4_microkernel_family"&gt;L4 Microkernel Family&lt;/a&gt;&lt;br /&gt;It took me to Fiasco (&lt;a href="http://os.inf.tu-dresden.de/fiasco/"&gt;http://os.inf.tu-dresden.de/fiasco/&lt;/a&gt;), a GPL variant of L4.&lt;br /&gt;And know what !&lt;br /&gt;- Fiasco's done in C++ !&lt;br /&gt;- There's an ongoing GNU project for Hurd on L4 !&lt;br /&gt;&lt;br /&gt;The TUDOS wiki page&lt;br /&gt;&lt;a href="http://wiki.tudos.org/Main_Page"&gt;http://wiki.tudos.org/Main_Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Planning to learn more on L4..&lt;br /&gt;Although I must confess, my learning ventures are not progressing the way I want them to,&lt;br /&gt;this one being built on C++ should help I hope..&lt;br /&gt;&lt;br /&gt;More links:&lt;br /&gt;The home of the l4 community: &lt;a href="http://www.l4hq.org/"&gt;http://www.l4hq.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- ---------&lt;br /&gt;Sunday 2008-03-30 22:53 UTC+5:30&lt;br /&gt;&lt;br /&gt;Somehow I felt I should include this here as a &lt;span style="font-weight: bold;"&gt;tribute to the genius&lt;br /&gt;&lt;/span&gt;        &lt;b&gt;Prof. Dr. Jochen Liedtke&lt;/b&gt;&lt;br /&gt;&lt;a href="http://i30www.ira.uka.de/aboutus/people/liedtke/inmemoriam.php"&gt;http://i30www.ira.uka.de/aboutus/people/liedtke/inmemoriam.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-199121204938500425?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/199121204938500425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=199121204938500425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/199121204938500425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/199121204938500425'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/l4-microkernels.html' title='L4 microkernels'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4107818475065991035</id><published>2008-03-28T10:02:00.014+05:30</published><updated>2008-06-06T20:21:43.562+05:30</updated><title type='text'>Encrypted filesystems</title><content type='html'>This one's further to my two previous posts concerning losetup&lt;br /&gt;1. &lt;a href="http://varghese85-cs.blogspot.com/2008/02/virtual-drives-on-linux.html"&gt;Virtual Drives on Linux&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://varghese85-cs.blogspot.com/2008/03/playing-with-mount-and-loopback-devices.html"&gt;Playing with mount and loopback devices&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here we try to create encrypted file-systems using the dm_crypt modules.&lt;br /&gt;These are the wikipedia links for &lt;a href="http://en.wikipedia.org/wiki/Cryptoloop"&gt;cryptoloop&lt;/a&gt; and it's successor &lt;a href="http://en.wikipedia.org/wiki/Dm-crypt"&gt;dm_crypt&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the earlier cases, we have a file-resident filesystem. We interface it with a loopback device to access it as a device, and the mount it to access it.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5yO5o_Ot4Zc/R-x3vM5Wq8I/AAAAAAAAANw/NSqUBPKimcw/s1600-h/no-crypt.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_5yO5o_Ot4Zc/R-x3vM5Wq8I/AAAAAAAAANw/NSqUBPKimcw/s400/no-crypt.jpg" alt="" id="BLOGGER_PHOTO_ID_5182648923995941826" border="0" /&gt;&lt;/a&gt;Now, we incorporate one more block; one which acts as our encryption layer.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5yO5o_Ot4Zc/R-0CMM5Wq-I/AAAAAAAAAOA/n8y8F9v1xro/s1600-h/with-crypt.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_5yO5o_Ot4Zc/R-0CMM5Wq-I/AAAAAAAAAOA/n8y8F9v1xro/s400/with-crypt.jpg" alt="" id="BLOGGER_PHOTO_ID_5182801154816781282" border="0" /&gt;&lt;/a&gt;Ok, that's enough of the theory; lets roll up our sleeves and get our hands dirty.&lt;br /&gt;So first, we create a 100 mb file for our filesystem&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;dd if=/dev/zero of=testfile bs=512k count=200&lt;/pre&gt;&lt;/blockquote&gt;Next, we attach that to a loopback device&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;losetup /dev/loop0 testfile&lt;/pre&gt;&lt;/blockquote&gt;Now, we add our encryption layer&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;cryptsetup -c aes -y create secret /dev/loop0&lt;/pre&gt;&lt;/blockquote&gt;Note that in the above, -y option will cause the passphrase to be asked twice for verification. The above command will result in /dev/loop0 being mapped post encryption to the device /dev/mapper/secret.&lt;br /&gt;&lt;br /&gt;The command is the same each time you need to mount the loop device; only, the first time you give the passphrase, it becomes _the_ passphrase.&lt;br /&gt;&lt;br /&gt;(Internally, cryptsetup doesn't seem to care if your passphrase matches what you used earlier. It just dumbly setups up the encryption layer with the passphrase you provde. So, if you give the correct passphrase second time and every subsequent times, you can access what you already have on the device. If you give a wrong passphrase, you can't. Eitherways, cryptsetup doesn't care! But then, if your passphrase is wrong on second and subsequent times, mount won't work as it can't make sense out of the superblock)&lt;br /&gt;&lt;br /&gt;Also, to use a native partition as the encrypted filesystem, instead of a file-resident-filesystem, use the appropriate device name instead of /dev/loop0. In such a case, the previous steps can be omitted.&lt;br /&gt;&lt;br /&gt;Next, you make a filesystem on the device; We'll use ext2. Note that you do this only the first time. Subsequent times, you can just skip this step as you already have the filesystem set up.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;mkfs -t ext2 /dev/mapper/secret&lt;/pre&gt;&lt;/blockquote&gt;Now, we mount the device&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;mount -t ext2 /dev/mapper/secret {mount-point}&lt;/pre&gt;&lt;/blockquote&gt;Once mounted, you can use the device just like any other device. The encryption and decryption are transparent to you.&lt;br /&gt;&lt;br /&gt;Once you are done, you need to clean up&lt;br /&gt;&lt;br /&gt;Unmount the device secret&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;umount {mount-point}&lt;/pre&gt;&lt;/blockquote&gt;Disassociate the crypto layer&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;cryptsetup remove secret&lt;br /&gt;sync&lt;/pre&gt;&lt;/blockquote&gt;You need to atleast do the above cleanup steps to prevent the misuse of your encrypted filesystem, and to preserve its integrity. This next step of disassociating the loopback device is optional, unless you need to reuse the loopback device for something else.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;losetup -d /dev/loop0&lt;/pre&gt;&lt;/blockquote&gt;There are many other options other than "cbc" for the encryption algorithm. Please refer to the cryptsetup manpage and to various related online pages for the options and their advantages.&lt;!-- Also note, the "-c aes-cbc-essiv:sha256" might be a better encryption than "-c aes" to prevent &lt;a href="http://en.wikipedia.org/wiki/Watermarking_attack"&gt;watermarking attacks&lt;/a&gt;, I guess. --&gt;&lt;br /&gt;&lt;br /&gt;The dm_crypt wiki for further details: &lt;a href="http://www.saout.de/tikiwiki/tiki-index.php"&gt;http://www.saout.de/tikiwiki/tiki-index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- ---------&lt;br /&gt;Friday, 2008-03-28 22:59 UTC+5:30&lt;br /&gt;&lt;br /&gt;Additional to that&lt;br /&gt;1. My friend had to&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;modprobe dm_crypt&lt;br /&gt;modprobe dm_mod&lt;/pre&gt;&lt;/blockquote&gt;  before this would work for him&lt;br /&gt;&lt;br /&gt;2. to change password of the encrypted device (say /dev/loop0 )&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# create a device mapping using the old password&lt;br /&gt;# remember to use old password here&lt;br /&gt;cryptsetup -c aes -y create secret-old /dev/loop0&lt;br /&gt;&lt;br /&gt;# create another device mapping using the new password&lt;br /&gt;# remember, this will be your password hereafter&lt;br /&gt;cryptsetup -c aes -y create secret-new /dev/loop0&lt;br /&gt;&lt;br /&gt;# now copy block-by-block from old mapping to new mapping&lt;br /&gt;dd bs={block-size} if=/dev/mapper/secret-old of=/dev/mapper/secret-new&lt;br /&gt;&lt;br /&gt;# cleanup&lt;br /&gt;# Actually you can remove the old mapping and continue using the&lt;br /&gt;# new mapping if you'd like&lt;br /&gt;cryptsetup remove secret-old&lt;br /&gt;cryptsetup remove secret-new&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;References&lt;br /&gt;[1] &lt;a href="http://forums.gentoo.org/viewtopic.php?t=163762"&gt;http://forums.gentoo.org/viewtopic.php?t=163762&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4107818475065991035?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4107818475065991035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4107818475065991035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4107818475065991035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4107818475065991035'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/encrypted-filesystems.html' title='Encrypted filesystems'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5yO5o_Ot4Zc/R-x3vM5Wq8I/AAAAAAAAANw/NSqUBPKimcw/s72-c/no-crypt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7135569196650091413</id><published>2008-03-24T11:08:00.004+05:30</published><updated>2008-03-29T22:25:10.968+05:30</updated><title type='text'>Virtualization and Virtual machine monitors</title><content type='html'>pages on this topic..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Hypervisor"&gt;Hypervisors a.k.a. Virtual Machine Monitors&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Xen"&gt;The XEN Hypervisor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/X86_virtualization"&gt;x86 virtualization&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Virtual_machine"&gt;Virtual Machine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/VirtualBox"&gt;VirtualBox&lt;/a&gt; (this one's GPL)&lt;br /&gt;&lt;br /&gt;This also seems like a viable research area !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7135569196650091413?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7135569196650091413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7135569196650091413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7135569196650091413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7135569196650091413'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/virtualization-and-virtual-machine.html' title='Virtualization and Virtual machine monitors'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4070127900931457296</id><published>2008-03-24T01:46:00.002+05:30</published><updated>2008-03-24T02:02:19.724+05:30</updated><title type='text'>Printing to pdf file on linux</title><content type='html'>The easiest way to do it is&lt;br /&gt;&lt;blockquote&gt;1. Print whatever to file.. This produces a ps file (.ps extension preferred)&lt;br /&gt;2. Convert the postscript to pdf with &lt;span style="font-weight: bold;"&gt;ps2pdf&lt;/span&gt; command&lt;br /&gt;&lt;/blockquote&gt;However, I also wanted to try setting up a pdf printer, primarily because I remember the redhat 9, which I used to use once a long long time ago, to have had one.&lt;br /&gt;To do it this way on OpenSuSE 10.3&lt;br /&gt;&lt;blockquote&gt;1. Download and install the cups-pdf package.. You can find an RPM if you search on &lt;a href="http://rpmfind.net"&gt;http://rpmfind.net&lt;/a&gt;.. OpenSuSE 10.3 doesn't seem to have an rpm for this.&lt;br /&gt;2. If using kde, go to: kmenu &gt; utilities &gt; printing &gt; manage printers. Gnome should have something similar.&lt;br /&gt;3. There, choose to add a new printer..&lt;br /&gt;4. In the step 1 there, choose the "Virtual PDF printer"in the detected list.&lt;br /&gt;5. In the step 2 there, choose "Generic" for manufacturer, "postscript printer" or "PostScript color printer rev4" as model, and "Standard" as driver..&lt;br /&gt;6. Apply.. Your new printer should now become listed&lt;br /&gt;7. Right click on the new printer and choose properties. There, fiddle around and configure things as you want. Once you are done, click print test page.&lt;br /&gt;8. The pdf generated is saved to your home folder.&lt;br /&gt;&lt;br /&gt;Now on, you can use this printer to print to pdf file from any application. The generated pdf is saved in your home directory with the filename "&lt;document-title&gt;.pdf"&lt;br /&gt;&lt;/blockquote&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4070127900931457296?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4070127900931457296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4070127900931457296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4070127900931457296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4070127900931457296'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/printing-to-pdf-file-on-linux.html' title='Printing to pdf file on linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6383534350031737620</id><published>2008-03-23T22:05:00.002+05:30</published><updated>2008-03-24T02:09:19.941+05:30</updated><title type='text'>A tab on linux preinstalled and NO-OS pcs</title><content type='html'>As it's not particularly helpful that the standard vendors etc keep their Linux preloaded laptop pages not properly linked to the main page, I've decided to make this collection&lt;br /&gt;&lt;br /&gt;Do help me make it bigger :)  Post a comment if you find other URLs&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shop.lenovo.com/SEUILibrary/controller/e/na/LenovoPortal/en_US/special-offers.workflow:ShowPromo?LandingPage=/All/US/Landing_pages/Info/08/Linux"&gt;Lenovo thinkpad on Linux&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ubuntu.com/dell"&gt;Dell on Ubuntu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://usa.asus.com/products.aspx?l1=24"&gt;ASUS Eee PC&lt;/a&gt; (catch: this is a 7" screen, 2gb-8gb solid state hard drive)&lt;br /&gt;&lt;br /&gt;Will be updated with more !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6383534350031737620?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6383534350031737620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6383534350031737620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6383534350031737620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6383534350031737620'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/tab-on-linux-preinstalled-and-no-os-pcs.html' title='A tab on linux preinstalled and NO-OS pcs'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4556258305712543618</id><published>2008-03-23T22:00:00.003+05:30</published><updated>2008-03-23T22:01:34.837+05:30</updated><title type='text'>OS Support for Intel Wireless cards</title><content type='html'>Found this link upon a bit of googling..&lt;br /&gt;Am thinking 4965 a/g/n card and was worried if that is supported on linux..&lt;br /&gt;&lt;br /&gt;http://www.intel.com/support/wireless/wlan/sb/CS-025330.htm&lt;br /&gt;&lt;br /&gt;Posting it here to keep a tab on it..&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4556258305712543618?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4556258305712543618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4556258305712543618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4556258305712543618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4556258305712543618'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/os-support-for-intel-wireless-cards.html' title='OS Support for Intel Wireless cards'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6108747034465985480</id><published>2008-03-23T13:20:00.003+05:30</published><updated>2008-03-23T14:25:51.283+05:30</updated><title type='text'>Playing with mount and loopback devices</title><content type='html'>Here, I managed to mount some swap space through a file, which I mounted as a loopback device&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# creating the file to setup the swap on.&lt;/span&gt;&lt;br /&gt;varmathe@opensuse103-vm:~&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;dd bs=1024 if=/dev/zero of=./testfile count=102400&lt;/span&gt;&lt;br /&gt;102400+0 records in&lt;br /&gt;102400+0 records out&lt;br /&gt;104857600 bytes (105 MB) copied, 4.25891 s, 24.6 MB/s&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# for the rest, I need to be root&lt;/span&gt;&lt;br /&gt;varmathe@opensuse103-vm:~&gt; su&lt;br /&gt;Password:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# mounting the file as a loopback block device.&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;losetup /dev/loop0 testfile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# formatting the device as swap space&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;mkswap /dev/loop0&lt;/span&gt;&lt;br /&gt;Setting up swapspace version 1, size = 104853 kB&lt;br /&gt;no label, UUID=853895fe-e4cf-4741-8106-cc7e88f89210&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# asking linux to use that too for swap&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;swapon /dev/loop0&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here is another example where I manage some more playing around with losetup&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Creating a 10 mb disk image. It's just a file of size 10mb full of zeros.&lt;/span&gt;&lt;br /&gt;varmathe@opensuse103-vm:~&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;dd bs=1024 if=/dev/zero of=./testfile count=10240&lt;/span&gt;&lt;br /&gt;10240+0 records in&lt;br /&gt;10240+0 records out&lt;br /&gt;10485760 bytes (10 MB) copied, 1.03734 s, 10.1 MB/s&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Now on, I'm root&lt;/span&gt;&lt;br /&gt;varmathe@opensuse103-vm:~&gt; su&lt;br /&gt;Password:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Setting up the loop device&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;losetup /dev/loop0 ./testfile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Creating an ext3 filesystem on the loop device.&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;mkfs -t ext3 /dev/loop0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;mke2fs 1.40.2 (12-Jul-2007)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Filesystem label=&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;OS type: Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Block size=1024 (log=0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Fragment size=1024 (log=0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;2560 inodes, 10240 blocks&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;512 blocks (5.00%) reserved for the super user&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;First data block=1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Maximum filesystem blocks=10485760&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;2 block groups&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;8192 blocks per group, 8192 fragments per group&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;1280 inodes per group&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Superblock backups stored on blocks:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;        8193&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Writing inode tables: done&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Creating journal (1024 blocks): done&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;Writing superblocks and filesystem accounting information: done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;This filesystem will be automatically checked every 31 mounts or&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# creating a folder to mount the device on.&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;mkdir test-point&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# mounting.. &lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe #&lt;span style="color: rgb(0, 153, 0);"&gt; mount -t ext3 /dev/loop0 ./test-point/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Dumping a file there.. &lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # cd ./test-point/&lt;br /&gt;opensuse103-vm:/home/varmathe/test-point # ls&lt;br /&gt;lost+found&lt;br /&gt;opensuse103-vm:/home/varmathe/test-point # &lt;span style="color: rgb(0, 153, 0);"&gt;cat &gt; testfile.txt &lt;&lt; &lt;/span&gt;&lt;eof&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;EOF&lt;/span&gt;&lt;br /&gt;&gt; &lt;span style="color: rgb(0, 204, 204);"&gt;this is a test file to check the making of &lt;/span&gt;&lt;br /&gt;&gt; &lt;span style="color: rgb(0, 204, 204);"&gt;the filesystem with loop devices thing&lt;/span&gt;&lt;br /&gt;&gt; &lt;span style="color: rgb(0, 204, 204);"&gt;hope this thingy will work&lt;/span&gt;&lt;br /&gt;&gt; &lt;span style="color: rgb(0, 204, 204);"&gt;if it does, this file will be reclaimable &lt;/span&gt;&lt;br /&gt;&gt; &lt;span style="color: rgb(0, 204, 204);"&gt;when I remount this filesystem&lt;/span&gt;&lt;br /&gt;&gt; EOF&lt;br /&gt;opensuse103-vm:/home/varmathe/test-point # ls&lt;br /&gt;lost+found  testfile.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Unmounting the device..&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe/test-point # cd ..&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;umount test-point/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Disassociating the loopback..&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;losetup -d /dev/loop0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Reassociating..&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;losetup /dev/loop0 ./testfile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# mounting again..&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # &lt;span style="color: rgb(0, 153, 0);"&gt;mount -t ext3 /dev/loop0 ./test-point/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# Ah yes, it's all still there..&lt;/span&gt;&lt;br /&gt;opensuse103-vm:/home/varmathe # cd test-point/&lt;br /&gt;opensuse103-vm:/home/varmathe/test-point # ls&lt;br /&gt;lost+found  testfile.txt&lt;br /&gt;opensuse103-vm:/home/varmathe/test-point # cat testfile.txt&lt;br /&gt;&lt;span style="color: rgb(0, 204, 204);"&gt;this is a test file to check the making of&lt;br /&gt;the filesystem with loop devices thing&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 204, 204);"&gt;hope this thingy will work&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 204, 204);"&gt;if it does, this file will be reclaimable&lt;br /&gt;when I remount this filesystem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/eof&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6108747034465985480?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6108747034465985480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6108747034465985480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6108747034465985480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6108747034465985480'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/playing-with-mount-and-loopback-devices.html' title='Playing with mount and loopback devices'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-206988969824465402</id><published>2008-03-21T01:46:00.002+05:30</published><updated>2008-03-21T01:50:26.820+05:30</updated><title type='text'>Debian KDE</title><content type='html'>To install Debain Linux with KDE on your system, use the command&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;install tasks="kde-desktop, standard"&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;at the boot prompt.&lt;br /&gt;&lt;br /&gt;If you would also like to make use of the graphical installer, you can try the command&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;installgui tasks="kde-desktop, standard"&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;&lt;a href="http://pkg-kde.alioth.debian.org/kde3.html"&gt;http://pkg-kde.alioth.debian.org/kde3.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-206988969824465402?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/206988969824465402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=206988969824465402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/206988969824465402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/206988969824465402'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/debian-kde.html' title='Debian KDE'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6201566387872002497</id><published>2008-03-13T01:03:00.004+05:30</published><updated>2008-03-30T02:27:04.657+05:30</updated><title type='text'>Writing bootsector - The GNU "as" (aka gas) way</title><content type='html'>My friend Haynes pointed me to this quick hands on tutorial..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://susam.in/articles/boot-sector-code.php"&gt;http://susam.in/articles/boot-sector-code.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Simple, brief and neatly explained tutorial on how to write bootsectors with GNU tools for the x86 architecture.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also, objcopy can be used to convert between binary formats.&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- ---------&lt;br /&gt;Sunday 2008-03-30 02:19 UTC+5:30&lt;br /&gt;&lt;br /&gt;I used the snippet of code given at the above webpage&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# Author: Susam Pal &lt;http: in=""&gt;&lt;br /&gt;#&lt;br /&gt;# To assemble and link this code, execute the following commands:-&lt;br /&gt;# as -o char.o char.s&lt;br /&gt;# ld --oformat binary -o char char.o&lt;br /&gt;#&lt;br /&gt;# To write this code into the boot sector of a device, say /dev/sdb:-&lt;br /&gt;# dd if=char of=/dev/sdb&lt;br /&gt;# echo -ne "\x55\xaa" | dd seek=510 bs=1 of=/dev/sdb&lt;br /&gt;&lt;br /&gt;.code16&lt;br /&gt;.section .text&lt;br /&gt;.globl _start&lt;br /&gt;_start:&lt;br /&gt; mov $0xb800, %ax&lt;br /&gt; mov %ax, %ds&lt;br /&gt; movb $'A', 0&lt;br /&gt; movb $0x1e, 1&lt;br /&gt;idle:&lt;br /&gt; jmp idle&lt;br /&gt;&lt;/http:&gt;&lt;/pre&gt;&lt;/blockquote&gt;Assembled and linked the same using the commands given in the comment part of the code.&lt;br /&gt;Then, had the ".com" file pushed into a floppy image file. And it worked !&lt;br /&gt;&lt;br /&gt;When I pushed the binary into a floppy image formatted as "mkfs -t vfat", the filesystem went corrupt&lt;br /&gt;even though the booting was successful. When I tried formatting the floppy as ext3, everything worked&lt;br /&gt;and the filesystem was also preserved. Wondering why writing the bootsector corrupted the vfat filesystem.&lt;br /&gt;&lt;br /&gt;Used qemu to test the stuff !!&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6201566387872002497?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6201566387872002497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6201566387872002497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6201566387872002497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6201566387872002497'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/writing-bootsector-gnu-as-aka-gas-way.html' title='Writing bootsector - The GNU &quot;as&quot; (aka gas) way'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-771112482593642331</id><published>2008-03-12T12:30:00.001+05:30</published><updated>2008-03-12T12:31:16.406+05:30</updated><title type='text'>OpenSuSE 11.0 on Jun 19</title><content type='html'>&lt;a href="http://en.opensuse.org/Roadmap/11.0"&gt;http://en.opensuse.org/Roadmap/11.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Target release date for OpenSuSE 11  is jun 19th 2008 !!&lt;br /&gt;&lt;br /&gt;Waiting for this !!&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-771112482593642331?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/771112482593642331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=771112482593642331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/771112482593642331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/771112482593642331'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/opensuse-110-on-jun-19.html' title='OpenSuSE 11.0 on Jun 19'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4935682134710883023</id><published>2008-03-11T16:24:00.003+05:30</published><updated>2008-03-11T16:38:57.863+05:30</updated><title type='text'>GNU as a.k.a. Gas</title><content type='html'>My first assembly program ..&lt;br /&gt;Ah it sux, but demonstrating how to use Gas, gdb etc. with a program which is too simple, anyone would understand..&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;&lt;/span&gt; cat test.S&lt;br /&gt;/*&lt;br /&gt;* First gas assembly program by Varghese Mathew !&lt;br /&gt;* simply to add two numbers on the x86&lt;br /&gt;* Purpose: demonstrate the usage of gas, gdb etc&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;.global main&lt;/span&gt;     /* define the main to be callable from libc */&lt;br /&gt;     &lt;span style="color: rgb(51, 204, 0);"&gt;.text  &lt;/span&gt;  /* text segment */&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;main:&lt;/span&gt;            /* the prodigal main function */&lt;br /&gt;     &lt;span style="color: rgb(51, 204, 0);"&gt;movl $100, %eax &lt;/span&gt;    # load 100 in eax&lt;br /&gt;     &lt;span style="color: rgb(51, 204, 0);"&gt;movl $200, %ebx &lt;/span&gt;    # load 200 in ebc&lt;br /&gt;    &lt;span style="color: rgb(51, 204, 0);"&gt; addl %eax, %ebx &lt;/span&gt;    # add the two and store in ebx&lt;br /&gt;&lt;br /&gt;/* the end */&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;gcc -g test.S&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;gdb a.out&lt;/span&gt;&lt;br /&gt;GNU gdb 6.6.50.20070726-cvs&lt;br /&gt;Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;GDB is free software, covered by the GNU General Public License, and you are&lt;br /&gt;welcome to change it and/or distribute copies of it under certain conditions.&lt;br /&gt;Type "show copying" to see the conditions.&lt;br /&gt;There is absolutely no warranty for GDB.  Type "show warranty" for details.&lt;br /&gt;This GDB was configured as "i586-suse-linux"...&lt;br /&gt;Using host libthread_db library "/lib/libthread_db.so.1".&lt;br /&gt;(gdb)&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;break main&lt;/span&gt;&lt;br /&gt;Breakpoint 1 at 0x8048394: file test.S, line 10.&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;run&lt;/span&gt;&lt;br /&gt;Starting program: /temp/varmathe/a.out&lt;br /&gt;&lt;br /&gt;Breakpoint 1, main () at test.S:10&lt;br /&gt;10             &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt; movl $100, %eax &lt;/span&gt;    # load 100 in eax&lt;/span&gt;&lt;br /&gt;Current language:  auto; currently asm&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info registers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;eax            0x1      1&lt;/span&gt;&lt;br /&gt;ecx            0xbfa61264       -1079635356&lt;br /&gt;edx            0xbfa61200       -1079635456&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ebx            0xb7edbff4       -1209155596&lt;/span&gt;&lt;br /&gt;esp            0xbfa611dc       0xbfa611dc&lt;br /&gt;ebp            0xbfa61238       0xbfa61238&lt;br /&gt;esi            0xb7f25ca0       -1208853344&lt;br /&gt;edi            0x0      0&lt;br /&gt;eip            0x8048394        0x8048394 &lt;main&gt;&lt;br /&gt;eflags         0x200246 [ PF ZF IF ID ]&lt;br /&gt;cs             0x73     115&lt;br /&gt;ss             0x7b     123&lt;br /&gt;ds             0x7b     123&lt;br /&gt;es             0x7b     123&lt;br /&gt;fs             0x0      0&lt;br /&gt;gs             0x33     51&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info reg eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;eax            0x1      1&lt;/span&gt;&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info reg ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ebx            0xb7edbff4       -1209155596&lt;/span&gt;&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;n&lt;/span&gt;&lt;br /&gt;11             &lt;span style="color: rgb(51, 204, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;movl $200, %ebx&lt;/span&gt;     # load 200 in ebc&lt;/span&gt;&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info reg eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;eax            0x64     100&lt;/span&gt;&lt;br /&gt;(gdb)&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt; info reg ebx&lt;/span&gt;&lt;br /&gt;ebx            0xb7edbff4       -1209155596&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;n&lt;/span&gt;&lt;br /&gt;12             &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt; addl %eax, %ebx&lt;/span&gt;     # add the two and store in ebx&lt;/span&gt;&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info reg eax&lt;/span&gt;&lt;br /&gt;eax            0x64     100&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info reg ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ebx            0xc8     200&lt;/span&gt;&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;n&lt;/span&gt;&lt;br /&gt;0x080483a0 in __libc_csu_fini ()&lt;br /&gt;(gdb) &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;info reg eax&lt;/span&gt;&lt;br /&gt;eax            0x64     100&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;info reg ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ebx            0x12c    300&lt;/span&gt;&lt;br /&gt;(gdb) &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;c&lt;/span&gt;&lt;br /&gt;Continuing.&lt;br /&gt;&lt;br /&gt;Program exited with code 0144.&lt;br /&gt;(gdb) q&lt;br /&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;varmathe@opensuse103-vm:/temp/varmathe&gt;&lt;/span&gt;&lt;br /&gt;&lt;/main&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4935682134710883023?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4935682134710883023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4935682134710883023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4935682134710883023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4935682134710883023'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/gnu-as-aka-gas.html' title='GNU as a.k.a. Gas'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7409610311123475223</id><published>2008-03-10T00:39:00.006+05:30</published><updated>2008-03-10T02:31:55.190+05:30</updated><title type='text'>Usenet newsgroups / NNTP</title><content type='html'>What do I say, a powerful but forgotten resource !&lt;br /&gt;&lt;br /&gt;To all my friends who read this page, try the usenet newsgroups.&lt;br /&gt;&lt;br /&gt;To try..&lt;br /&gt;1. Download and Install mozilla thunderbird.&lt;br /&gt;2. Click cancel when it initially asks you to set up an account (just to do it the "usual" way)&lt;br /&gt;3. go to Tools &gt; Account Settings, for windoze (maybe so named because it puts the brain to sleep)&lt;br /&gt;or to Edit &gt; Account Settings, for Linux (ah even she's not the best courtesan,  waiting for hurd)&lt;br /&gt;4. There, click on the Add account button.&lt;br /&gt;5. choose newsgroup account, and next.&lt;br /&gt;6. Enter the name you want displayed, and a syntactically valid email address; next.&lt;br /&gt;7. NNTP server "aioe.cjb.net"; next&lt;br /&gt;Thank god, there's someone hosting a free server allowing posting..&lt;br /&gt;If you know more, please add as a comment..&lt;br /&gt;8. Give a name if you want to, or use the default; finish.&lt;br /&gt;9. Now you have an aioe.cjb.net entry on your left pane. Right click on it and choose subscribe.&lt;br /&gt;10. Subscribe to "alt.test"&lt;br /&gt;11. now, you have an alt.test entry under aioe.cjb.net on the left pane. Click on it. It will ask you to download headers. Choose to download some 10 or so max.&lt;br /&gt;12. Now, while having the alt.test folder selected, click on the write button on the top left. compose a test post and send it to alt.test.&lt;br /&gt;13. After sometime / once you open and close thunderbird, your post should show up in alt.test.&lt;br /&gt;&lt;br /&gt;Configure thunderbird further to check the news group for new messages on startup and every 10 minutes etc. I'm not detailing these.. Also download a larger number of headers if you want to browse archives&lt;br /&gt;&lt;br /&gt;alt.test is a newsgroup for sending test posts etc.. it's not worth browsing the alt.test archive.. people use it to send test posts to verify connectivity. now that you have the newsgroups set up, you can unsubscribe from this group..&lt;br /&gt;&lt;br /&gt;Check out the many wonderful groups ranging from comp.os.minix to comp.lang.c++ to alt.os.development to alt.hobbies.* to sci.math.* to misc.kids.pregnancy to whatever you want !&lt;br /&gt;&lt;br /&gt;You will be overwhelmed by the expanse of the resource which you never until now knew existed !&lt;br /&gt;&lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;On further thoughts, the server "textnews.news.cambrium.nl" might be a better choice for digging archives, but you can't post - it's read only.. or you can use the google groups thingy to dig deepest.. But posting the usenet way far surpasses the google groups experience.&lt;br /&gt;&lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;A page on usenet &lt;a href="http://www.openusenet.org/"&gt;http://www.openusenet.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;some paid news-servers (keeping a track, just in case i need later in life.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.newsfeeds.com/"&gt;http://www.newsfeeds.com/&lt;/a&gt; Uses a seemingly secure payment gateway.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.octanews.com/"&gt;http://www.octanews.com/&lt;/a&gt; have to give credit card info directly - is this safe ?&lt;br /&gt;&lt;a href="http://www.teranews.com/"&gt;http://www.teranews.com/&lt;/a&gt;  have to give credit card info directly - is this safe ?&lt;br /&gt;&lt;a href="http://www.bubbanews.com/"&gt;http://www.bubbanews.com/&lt;/a&gt;  have to give credit card info directly - is this safe ?&lt;br /&gt;&lt;br /&gt;This one's free but seems to be down often &lt;a href="http://www.readfreenews.net/"&gt;http://www.readfreenews.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A further list of servers &lt;a href="http://news.aioe.org/spip.php?article26"&gt;http://news.aioe.org/spip.php?article26&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7409610311123475223?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7409610311123475223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7409610311123475223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7409610311123475223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7409610311123475223'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/usenet-newsgroups-nntp.html' title='Usenet newsgroups / NNTP'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8334175432264741794</id><published>2008-03-09T21:07:00.002+05:30</published><updated>2008-03-09T21:10:46.632+05:30</updated><title type='text'>Linus vs. Tanenbaum</title><content type='html'>Found couple of links for the 1991 ish time mega debate between Linus Torvalds and Andy Tanenbaum on Microkernel vs. Monolithic kernel.&lt;br /&gt;&lt;br /&gt;On &lt;a href="ttp://groups.google.com/group/comp.os.minix/browse_thread/thread/c25870d7a41696d2/f447530d082cd95d#"&gt;groups.google.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A &lt;a href="http://root.cern.ch/root/Linus_vs_Tanenbaum.html"&gt;hosted version &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I really got to say, that guy Andrew Tanenbaum is a visionary !! But alas, the world is a non-pseudo random number generator !&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8334175432264741794?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8334175432264741794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8334175432264741794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8334175432264741794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8334175432264741794'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/linus-vs-tanenbaum.html' title='Linus vs. Tanenbaum'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-9218158089930132681</id><published>2008-03-09T03:37:00.003+05:30</published><updated>2008-03-09T03:40:04.736+05:30</updated><title type='text'>alt.os.development</title><content type='html'>Hit upon this usenet newsgroup through some other osdev website. Seems like a hangout for hobbyist OSDevelopers.&lt;br /&gt;&lt;br /&gt;And this is a compilation of various content, sites etc that came across through alt.os.development over time.. Looks good, looks huge.. :D&lt;br /&gt;&lt;a href="http://www.aarongray.org/AODUBL/bookmarks.html"&gt;http://www.aarongray.org/AODUBL/bookmarks.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;comp.os.minix is also a good hangout; though this one's specifically for minix, historically, it's where linux was born :D&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-9218158089930132681?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/9218158089930132681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=9218158089930132681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/9218158089930132681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/9218158089930132681'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/altosdevelopment.html' title='alt.os.development'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8810893801589702890</id><published>2008-03-09T01:44:00.005+05:30</published><updated>2008-03-09T04:01:27.626+05:30</updated><title type='text'>The PC booting process</title><content type='html'>A certain mjvines had this explanation as a comment in his bootsector tutorial example. Thanks to him.. Just pasting it here lest I forget at a later point in time.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;; Here's a quick summary of what the BIOS does when booting up.&lt;br /&gt;;&lt;br /&gt;; 1) Loads Sector 1, Track 0, Head 0 of the boot drive( A or C ) to&lt;br /&gt;;    absolute address 07C00h-07DFFh&lt;br /&gt;;&lt;br /&gt;; 2) Checks the 16 bit word at absolute address 07DFEh for AA55h.  This is&lt;br /&gt;;    the boot signature and is used by the BIOS to ensure that the sector&lt;br /&gt;;    contains a value bootsector.&lt;br /&gt;;&lt;br /&gt;;    If this signature isn't present, the BIOS will display a message like&lt;br /&gt;;    "Operating System Not Found"&lt;br /&gt;;&lt;br /&gt;; 4) Loads DL with&lt;br /&gt;;         00h if the boot sector was loaded from drive A,&lt;br /&gt;;         80h if the boot sector was loaded from drive C&lt;br /&gt;;&lt;br /&gt;;    This way, the bootsector can determine which drive it was booted from.&lt;br /&gt;;&lt;br /&gt;; 5) Jumps to 0000:7C00h, which is the start of the bootsector&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;Link: &lt;a href="http://gaztek.sourceforge.net/osdev/boot/index.html"&gt;http://gaztek.sourceforge.net/osdev/boot/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And on top of that, remember reading somewhere.. A CD boot is done by actually having a floppy image at the beginning of the cd.. This floppy image is loaded as a ramdisk and the ramdisk is used for the booting.. Can't remember the reference nor the exact details off the top of my head right now :(&lt;br /&gt;&lt;blockquote&gt;Update: Found one reference now &lt;a href="http://www.tldp.org/HOWTO/Bootdisk-HOWTO/cd-roms.html"&gt;http://www.tldp.org/HOWTO/Bootdisk-HOWTO/cd-roms.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/El_Torito_%28CD-ROM_standard%29"&gt;http://en.wikipedia.org/wiki/El_Torito_(CD-ROM_standard)&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;While still on bootloaders, a good tutorial on using grub by Christopher Giese.&lt;br /&gt;&lt;a href="http://my.execpc.com/%7Egeezer/osd/boot/grub-how.txt"&gt;http://my.execpc.com/%7Egeezer/osd/boot/grub-how.txt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8810893801589702890?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8810893801589702890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8810893801589702890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8810893801589702890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8810893801589702890'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/pc-booting-process.html' title='The PC booting process'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7488325808392434107</id><published>2008-03-08T04:01:00.004+05:30</published><updated>2008-03-08T04:34:50.278+05:30</updated><title type='text'>osdev/crossgcc first try</title><content type='html'>Started working on learning to build a custom OS. First step is the cross compiler. Went to the &lt;a href="http://www.osdev.org/wiki/GCC_Cross-Compiler"&gt;GCC Cross-Compiler&lt;/a&gt; page on osdev-wiki. That page lists the steps to get my cross compiler up and running.&lt;br /&gt;&lt;br /&gt;Got the binutils, gcc-core and g++ sources.. Created a new login on my linux box and set it up as recommended in the LFS tutorial, to have minimal environment.. This was my pure whim :D.&lt;br /&gt;&lt;br /&gt;Then went by the steps mentioned in the osdev page; made my binutils; made my gcc.. Then came the problem.. What libc to use?&lt;br /&gt;&lt;br /&gt;Tried &lt;a href="http://sourceforge.net/projects/pdclib"&gt;PDClib&lt;/a&gt; but found it lacking in cross compilation support etc.&lt;br /&gt;Then got a &lt;a href="http://sources.redhat.com/newlib/"&gt;newlib&lt;/a&gt; downloaded and built that.. It seems to have worked..&lt;br /&gt;&lt;br /&gt;Then recompiled the gcc with headers.&lt;br /&gt;&lt;br /&gt;And once all that was done, your's truly tried to compile a very simple .c file using the cross-compiler..&lt;br /&gt;&lt;br /&gt;The linker failed saying no crt0.o  !&lt;br /&gt;&lt;br /&gt;crt0.o&lt;br /&gt;&lt;br /&gt;hm.. vaguely remember something about crt0.o from my hardware classes at NITC.. or was it from some unix system programmer's reference I read back at college?&lt;br /&gt;&lt;br /&gt;Anyways.. searched on the osdev wiki.. Hit a page on &lt;a href="http://www.osdev.org/wiki/Porting_Newlib"&gt;how to install "newlib"&lt;/a&gt; !! Now that could have helped me a little earlier :D.. I just broke my head figuring out what was already documented :D..&lt;br /&gt;doesn't harm.. things learned the hard way stick longer :)&lt;br /&gt;&lt;br /&gt;But coming back, somebody had cooked up a simple crt0.S on that page.. used that..&lt;br /&gt;&lt;br /&gt;And know what! IT WORKED !!&lt;br /&gt;&lt;br /&gt;Well, not exactly.. ld still cribs about missing syscall wrapper function definitions..&lt;br /&gt;I need to take the newlib-libc-documentation, go to chapter 12 - Syscalls, and then either implement wrappers for each of those syscalls (thankfully not too many) aimed at my kernel (ah, but I still haven't even started thinking about it !! ) .. or I have to provide a set of stubs for those syscalls .. or maybe route those syscalls to my hosts syscalls ( possible in this case because my host is a Centrino processor, and my cross compiler target is i586 :D )&lt;br /&gt;&lt;br /&gt;Anyways.. so far so good..&lt;br /&gt;&lt;br /&gt;But there are some things which still worries me..&lt;br /&gt;1. I still don't know shit about that newlib internal implementation and it's source is over 11 Megs !!&lt;br /&gt;2. I did a "du -sh" on the final build environment I have (excluding all intermediate files) and it's a whopping 162 Megs.. Guess programmers really have lost the ability to make efficient code, as Andrew Tannenbaum puts it.&lt;br /&gt;3. What if the present generation who maintains glibc, gcc, binutils, newlib etc dies out and it's the next generation's turn to maintain all of that.. my generation's turn.. Will there be anyone left who has a holistic understanding of all that code to maintain it ?&lt;br /&gt;&lt;br /&gt;Ah, but I'm a small fry making too much noise; and staying up at 4:30 AM to set up a cross compiler.. no wonder I'm an oddity.. maybe that explains why I still don't have a girlfriend :D&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7488325808392434107?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7488325808392434107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7488325808392434107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7488325808392434107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7488325808392434107'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/osdevcrossgcc-first-try.html' title='osdev/crossgcc first try'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-2647017012009909643</id><published>2008-03-07T14:53:00.000+05:30</published><updated>2008-03-07T14:54:20.733+05:30</updated><title type='text'>A collection of free clip-art images on the web..</title><content type='html'>&lt;a href="http://www.wpclipart.com/"&gt;http://www.wpclipart.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-2647017012009909643?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/2647017012009909643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=2647017012009909643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2647017012009909643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/2647017012009909643'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/collection-of-free-clip-art-images-on.html' title='A collection of free clip-art images on the web..'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-415043865437002144</id><published>2008-03-07T12:20:00.006+05:30</published><updated>2008-03-10T15:39:18.970+05:30</updated><title type='text'>Links for Operating System Development</title><content type='html'>Sorry, this is a bit unorganized.. I'm just starting out on this arduous peregrination :D.. Hope to keep the momentum going.. If that happens, you can hope to see more detailed step by step, for the dummies instructions here.. But till then..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.osdev.org/"&gt;OSDev.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nondot.org/sabre/os/articles"&gt;The Operating System Resource Center&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gaztek.sourceforge.net/osdev/index.html"&gt;Gareth Owen's OSDev site at sourceforge&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hellcode.net/bkerndev/"&gt;Bran's Kernel Development&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How to write your own OS: &lt;a href="http://www.groovyweb.uklinux.net/index.php?page_name=how%20to%20write%20your%20own%20os"&gt;part 1&lt;/a&gt;, &lt;a href="http://www.groovyweb.uklinux.net/index.php?page_name=how%20to%20write%20your%20own%20os%202"&gt;part 2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://my.execpc.com/%7Egeezer/osd/index.htm"&gt;http://my.execpc.com/~geezer/osd/index.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.osdever.net/"&gt;http://www.osdever.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Assembly Language: intel x86&lt;br /&gt;&lt;br /&gt;&lt;a href="http://flint.cs.yale.edu/cs421/papers/art-of-asm/pdf/"&gt;The Art of Assembly Language&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://asm.sourceforge.net/"&gt;Linux assembly guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lists.canonical.org/pipermail/kragen-fw/2002-April/000226.html"&gt;Links for assembly programming&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://library.n0i.net/hardware/"&gt;http://library.n0i.net/hardware/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-415043865437002144?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/415043865437002144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=415043865437002144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/415043865437002144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/415043865437002144'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/links-for-operating-system-development.html' title='Links for Operating System Development'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3467504428201159604</id><published>2008-03-06T00:37:00.005+05:30</published><updated>2008-03-06T20:02:00.897+05:30</updated><title type='text'>Full Screen issue with mplayer</title><content type='html'>I was having a small issue with &lt;a href="http://www.mplayerhq.hu/"&gt;mplayer&lt;/a&gt;.. When I full screen the video, the whole screen is occupied, as in the screen goes black, but the video is played still at the original resolution in a small rectangle in the center.&lt;br /&gt;&lt;br /&gt;As always, google saved the day..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/archive/index.php/t-204.html"&gt;http://ubuntuforums.org/archive/index.php/t-204.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A "-zoom" parameter needs to be passed to mplayer, to zoom the video to the window size.&lt;br /&gt;&lt;br /&gt;Alternatively, a config file can be set up for mplayer as&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;##&lt;br /&gt;## MPlayer config file&lt;br /&gt;##&lt;br /&gt;## This file can be copied to /usr/local/etc/mplayer.conf and/or ~/.mplayer/config .&lt;br /&gt;## If both exist, the ~/.mplayer/config's settings override the&lt;br /&gt;## /usr/local/etc/mplayer.conf ones. And, of course command line overrides all.&lt;br /&gt;## The options are the same as in the command line, but they can be specified&lt;br /&gt;## more flexibly here. See below.&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;vo=xv # To specify default video driver (see -vo help for&lt;br /&gt;# list)&lt;br /&gt;ao=oss # To specify default audio driver (see -ao help for&lt;br /&gt;# list)&lt;br /&gt;&lt;br /&gt;fs=no # Enlarges movie window to your desktop's size.&lt;br /&gt;# Used by drivers: all&lt;br /&gt;&lt;br /&gt;vm=yes # Tries to change to a different videomode&lt;br /&gt;# Used by drivers: dga2, x11, sdl&lt;br /&gt;&lt;br /&gt;bpp=24 # Force changing display depth.&lt;br /&gt;# Valid settings are: 0, 15, 16, 24, 32&lt;br /&gt;# may need 'vm=yes' too.&lt;br /&gt;# Used by drivers: fbdev, dga2, svga, vesa&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;zoom=yes # Enable software scaling (powerful CPU needed)&lt;/span&gt;&lt;br /&gt;# Used by drivers: svga, x11, vesa&lt;br /&gt;&lt;br /&gt;#double=yes # use double-buffering (recommended for xv with&lt;br /&gt;# SUB/OSD usage)&lt;br /&gt;&lt;br /&gt;# monitoraspect=4:3 # standard monitor size, with square pixels&lt;br /&gt;# monitoraspect=16:9 # use this for widescreen monitor! non-square pixels&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Use GUI mode by default&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;gui = yes&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;The zoom=yes line is what we need to fix the issue.&lt;br /&gt;And on that "Powerful CPU needed" line, a 640x480 DivX video zoomed to 1024x768 will probably require a 1.2 GHz processor at most.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3467504428201159604?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3467504428201159604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3467504428201159604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3467504428201159604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3467504428201159604'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/full-screen-issue-with-mplayer.html' title='Full Screen issue with mplayer'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8304586501581241</id><published>2008-03-05T12:16:00.005+05:30</published><updated>2008-05-06T16:35:25.518+05:30</updated><title type='text'>Next Laptop.. Sager NP2092 ?</title><content type='html'>&lt;em&gt; This post has been obsoleted by &lt;a href="http://varghese85-cs.blogspot.com/2008/05/new-laptop-powerpro-p-1115-based-on.html"&gt;http://varghese85-cs.blogspot.com/2008/05/new-laptop-powerpro-p-1115-based-on.html&lt;/a&gt; &lt;/em&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- --------- &lt;br /&gt;&lt;br /&gt;Had been thinking sometime about which laptop to buy when I go for higher studies. Had a fixation for the IBM Thinkpad. Was planning to buy it.. And the Lenovo T61 can be bought direct from Lenovo with Linux preloaded rather than the Microsoft Proprietory OS. Yet only flaw was, that does not have an integrated webcam.&lt;br /&gt;&lt;br /&gt;Further hunting has led me to this laptop, Sager NP 2092&lt;br /&gt;&lt;a href="http://www.powernotebooks.com/category.php?catId=78#id2296"&gt;http://www.powernotebooks.com/category.php?catId=78#id2296&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Sager_Notebook_Computers"&gt;Sager&lt;/a&gt;, as wikipedia mentions it, is a retailer specializing in performance laptops for gaming purposes. And of-course, a performance laptop for gaming is a performance laptop for any conceivable purpose :D&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://en.wikipedia.org/wiki/Original_Design_Manufacturer"&gt;ODM&lt;/a&gt; of the specified laptop is &lt;a href="http://en.wikipedia.org/wiki/Compal_Electronics"&gt;Compal&lt;/a&gt; which is the world's second largest laptop maker. This particular Sager laptop is built on top of the Compal JFL 92..&lt;br /&gt;&lt;br /&gt;Pictures: &lt;a href="http://www.powernotebooks.com/specs/images/2090/"&gt;http://www.powernotebooks.com/specs/images/2090/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Found this blog on installing linux on the immediate predecessor model of this laptop&lt;br /&gt;&lt;a href="http://lddubeau.com/avaktavyam/linux-on-a-compal-ifl90/"&gt;http://lddubeau.com/avaktavyam/linux-on-a-compal-ifl90/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Planning to buy the laptop from powernotebooks.. They seem to have a good reputation online.. And most importantly, they sell the "NO-OS" version of the laptop, so I won't need to pay microsoft for a license which I will not use anyway.&lt;br /&gt;&lt;br /&gt;Further reading..&lt;br /&gt;About "Brands" for laptops: &lt;a href="http://www.powernotebooks.com/articles/index.php?action=fullnews&amp;amp;id=17"&gt;http://www.powernotebooks.com/articles/index.php?action=fullnews&amp;amp;id=17&lt;/a&gt;&lt;br /&gt;About the dead-pixel policy:&lt;br /&gt;&lt;a href="http://forum.notebookreview.com/archive/index.php/t-85367.html"&gt;http://forum.notebookreview.com/archive/index.php/t-85367.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forum.notebookreview.com/showthread.php?t=62496"&gt;http://forum.notebookreview.com/showthread.php?t=62496&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forum.notebookreview.com/showthread.php?p=1404255"&gt;http://forum.notebookreview.com/showthread.php?p=1404255&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also, &lt;a href="http://www.sweetwater.com/psearch--HumX&amp;amp;h=83&amp;amp;w=120&amp;amp;sz=6&amp;amp;hl=en&amp;amp;start=23&amp;amp;um=1&amp;amp;tbnid=q6n9kPOUn_07UM:&amp;amp;tbnh=61&amp;amp;tbnw=88&amp;amp;prev=/images%3Fq%3DGround%2BLoop%2BEliminator%26start%3D21%26ndsp%3D21%26um%3D1%26hl%3Den%26client%3Dfirefox-a%26rls%3Dorg.mozilla:en-US:official%26sa%3DN"&gt;Hum X&lt;/a&gt; ground loop eliminator, if I understand right, is a piece of circuitry integrated into the plug-point, and not into the notebook. Hence I guess, I'll not buy it right off, and buy it if I find a need for it later..&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8304586501581241?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8304586501581241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8304586501581241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8304586501581241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8304586501581241'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/next-laptop-sager-np2092.html' title='Next Laptop.. Sager NP2092 ?'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-1541757942683786878</id><published>2008-03-04T09:37:00.002+05:30</published><updated>2008-03-04T09:51:05.642+05:30</updated><title type='text'>Ext2Fsd vs NTFS-3g</title><content type='html'>A tool to mount ntfs devices on linux. I have tried it out.. works fine both for reading and writing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ntfs-3g.org/"&gt;http://www.ntfs-3g.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You might have to  compile the thingy from source.. but it's rather simple.. and compiled without any issues on my OpenSuSE 10.3 installation.&lt;br /&gt;&lt;br /&gt;But then, I've started thinking.. If I'm planning to keep a pure linux box (Yeah yeah, I caught Penguinitis ! ), then I might as well have my storage devices as ext3 and get an ext3 driver for windows..&lt;br /&gt;&lt;br /&gt;Tried wikipedia on Ext3, and bingo! it had a link to the sourceforge project developing a windows driver for using ext3 devices.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/ext2fsd/"&gt;http://sourceforge.net/projects/ext2fsd/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ext2fsd.com/"&gt;http://www.ext2fsd.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Albeit the name it fully supports ext3 devices..&lt;br /&gt;&lt;br /&gt;Once you install it, you need to go to it's "Ext2 volume manager".&lt;br /&gt;From that&lt;br /&gt;1. File -&gt; Enable Ext2Mgr autostart&lt;br /&gt;2. Tools -&gt; Service Management : and start the service.&lt;br /&gt;&lt;br /&gt;Once these are done.. plug in your ext3 devices and use them like any other storage media on windows.&lt;br /&gt;&lt;br /&gt;I converted my 2GB usb pen drive to ext3 and am using that on windows with ext2fsd.. Call it "Proof of Concept" for myself in my tux migration drive.. :D&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-1541757942683786878?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/1541757942683786878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=1541757942683786878' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1541757942683786878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/1541757942683786878'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/ext2fsd-vs-ntfs-3g.html' title='Ext2Fsd vs NTFS-3g'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4677304984533732812</id><published>2008-03-02T14:57:00.002+05:30</published><updated>2008-03-30T12:27:03.488+05:30</updated><title type='text'>Linux support matrix for webcams</title><content type='html'>This site gives support matrix and driver information about&lt;br /&gt;using webcams with linux&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linux-uvc.berlios.de/"&gt;http://linux-uvc.berlios.de/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately for me, I have a&lt;br /&gt;"046d:08c7 - Logitech Quickcam OEM Cisco VT Camera II"&lt;br /&gt;:(&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- ---------&lt;br /&gt;Sunday 2008-03-30 12:19 UTC+5:30&lt;br /&gt;&lt;br /&gt;A link about setting up logitech webcam for OpenSuSE 10.3&lt;br /&gt;&lt;a href="http://forums.quickcamteam.net/showthread.php?tid=212"&gt;http://forums.quickcamteam.net/showthread.php?tid=212&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another link on logitech webcams&lt;br /&gt;&lt;a href="http://www.quickcamteam.net/hcl/linux/logitech-webcams"&gt;http://www.quickcamteam.net/hcl/linux/logitech-webcams&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4677304984533732812?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4677304984533732812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4677304984533732812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4677304984533732812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4677304984533732812'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/03/linux-support-matrix-for-webcams.html' title='Linux support matrix for webcams'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-527955090903866067</id><published>2008-02-29T22:48:00.006+05:30</published><updated>2008-03-01T18:18:02.609+05:30</updated><title type='text'>Virtual drives on linux</title><content type='html'>One of the issues I was facing in my linux migration efforts was how to create and use virtual drives, so that I can mount ISO images of CDs etc.&lt;br /&gt;&lt;br /&gt;So here is how to do it..&lt;br /&gt;&lt;br /&gt;Virtual devices are achieved in linux using loop devices.&lt;br /&gt;To create a new loop device, we use the losetup command. For eg. say we need to mount the cd image file /temp/varmathe/damn-small-linux.iso ad a cd drive. Here is how to do it.&lt;br /&gt;&lt;br /&gt;1. Locate the first available loop device&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;opensuse103-vm:/temp/varmathe # losetup -f&lt;br /&gt;/dev/loop0&lt;/pre&gt;&lt;/blockquote&gt;2. Associate this device node to the iso file&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;opensuse103-vm:/temp/varmathe # losetup /dev/loop0 damn-small-linux-3.4.4.iso&lt;/pre&gt;&lt;/blockquote&gt;3. Now mount the cd somewhere on our filesystem hierarchy.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;opensuse103-vm:/temp/varmathe # mount -t iso9660 /dev/loop0 /mnt/vcd&lt;br /&gt;opensuse103-vm:/temp/varmathe # cd /mnt/vcd&lt;br /&gt;opensuse103-vm:/mnt/vcd # ls&lt;br /&gt;boot  index.html  KNOPPIX  lost+found&lt;/pre&gt;&lt;/blockquote&gt;Additionally, it might be a wise idea to mount cd/dvd images etc as read only..&lt;br /&gt;&lt;br /&gt;4. Use the volume.. (he he :D )&lt;br /&gt;&lt;br /&gt;5. Now that we are done and want to unmount the device and release the file&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;opensuse103-vm:/temp/varmathe # umount /mnt/vcd&lt;br /&gt;opensuse103-vm:/temp/varmathe # losetup -d /dev/loop0&lt;/pre&gt;&lt;/blockquote&gt;The -d option detaches the file from the loop device&lt;br /&gt;&lt;br /&gt;Steps 1,2, and 3 can be combined into a single step as&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;opensuse103-vm:/home/varmathe # mount -t iso9660 -o loop /temp/varmathe/damn-small-linux-3.4.4.iso /mnt/vcd&lt;/pre&gt;&lt;/blockquote&gt;While the above single step approach looks like it should have been explained first; I deliberately explained the broken approach for a reason. If you only need the device node, say for eg, to pass that on to a virtual machine; then you don't need to do the mount.. The "losetup" steps alone would do.&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-527955090903866067?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/527955090903866067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=527955090903866067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/527955090903866067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/527955090903866067'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/virtual-drives-on-linux.html' title='Virtual drives on linux'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7540528580772395625</id><published>2008-02-21T11:09:00.002+05:30</published><updated>2008-02-21T11:17:36.845+05:30</updated><title type='text'>C++ language standards</title><content type='html'>Find the official standards for the language at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/"&gt;http://www.open-std.org/jtc1/sc22/wg21/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A GPL licensed thorough c++ reference&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.icce.rug.nl/documents/cplusplus/"&gt;http://www.icce.rug.nl/documents/cplusplus/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A bunch of open source c++ libraries&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.boost.org"&gt;http://www.boost.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7540528580772395625?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7540528580772395625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7540528580772395625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7540528580772395625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7540528580772395625'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/c-language-standards.html' title='C++ language standards'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3648354434580043794</id><published>2008-02-15T14:40:00.002+05:30</published><updated>2008-02-15T14:45:13.260+05:30</updated><title type='text'>Some concerns on Computer Science education today</title><content type='html'>Where are the Software Engineers of Tomorrow&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html"&gt;http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mitpress.mit.edu/sicp/"&gt;http://mitpress.mit.edu/sicp/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3648354434580043794?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3648354434580043794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3648354434580043794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3648354434580043794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3648354434580043794'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/some-concerns-on-computer-science.html' title='Some concerns on Computer Science education today'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5795553140921350280</id><published>2008-02-13T19:35:00.006+05:30</published><updated>2008-02-14T12:23:14.430+05:30</updated><title type='text'>Setting up qemu with networking on a linux host</title><content type='html'>I wanted to install Qemu with networking enabled on my linux box (Which incidentally is on a Virtual Machine built on vmware). Through the setting up process, I had a tough time figuring out how to go about with the whole thing as I could not find any single document which precisely described what I wanted. But anyways, now I've figured it all out.. And so I've decided to share whatever I've garnered with you through this post.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Objective:&lt;/span&gt; To set up Microsoft Windows XP on a Qemu simulated PC with an OpenSUSE 10.3 linux box serving as host.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Host machine:&lt;/span&gt; &lt;a href="http://www.opensuse.org/"&gt;OpenSUSE 10.3&lt;/a&gt; linux on Intel i386 based PC&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Packages used:&lt;/span&gt;&lt;br /&gt;qemu-0.9.1-i386.tar.gz : &lt;a href="http://fabrice.bellard.free.fr/qemu/"&gt;http://fabrice.bellard.free.fr/qemu/&lt;/a&gt;&lt;br /&gt;vde2-2.1.6.tar.gz : &lt;a href="http://vde.sourceforge.net/"&gt;http://vde.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I wanted to compile qemu from source, but apparently qemu needs the gcc3.x compilers whereas OpenSUSE 10.3 I have on my system has the gcc4.x version.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step1:&lt;/span&gt; extract qemu-0.9.1-i386.tar.gz int '/' as root.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step2:&lt;/span&gt; extract vde2-2.1.6.tar.gz into a temporary location and build it&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;./configure&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;make&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;and then &lt;span style="color: rgb(204, 51, 204); font-weight: bold;"&gt;as root&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;make install&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Step3:&lt;/span&gt; (&lt;span style="font-weight: bold; color: rgb(204, 51, 204);"&gt;As root&lt;/span&gt;) set up a VDE switch with one port connected to the host using a tap interface&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;host$ &lt;span style="color: rgb(255, 0, 0);"&gt;vde_switch -s /tmp/switch -tap tap0 -m 666 [-daemon]&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;The "-daemon" part is option; it will cause vde_switch to run in the background, whereas, if you do not give it, you get access to the switch console&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Step4: &lt;/span&gt;(&lt;span style="font-weight: bold; color: rgb(204, 51, 204);"&gt;As root&lt;/span&gt;) set up an ip address for the newly created tap interface on the host&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;host$ &lt;span style="color: rgb(255, 0, 0);"&gt;ifconfig tap0 10.0.0.1&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Step5:&lt;/span&gt; set up our virtual machine. For this,&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;5.1&lt;/span&gt; Create a working directory for the machine and copy bios files into it.&lt;br /&gt;&lt;blockquote style="color: rgb(153, 153, 153);"&gt;&lt;pre&gt;host$ &lt;span style="color: rgb(51, 255, 51);"&gt;mkdir qemu-vm&lt;/span&gt;&lt;br /&gt;host$ &lt;span style="color: rgb(51, 255, 51);"&gt;cd qemu-vm&lt;/span&gt;&lt;br /&gt;host$ &lt;span style="color: rgb(51, 255, 51);"&gt;cp /usr/local/share/qemu/{bios,vgabios-cirrus}.bin ./&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;5.2&lt;/span&gt; Create a disk for the machine.&lt;br /&gt;&lt;blockquote style="color: rgb(153, 153, 153);"&gt;&lt;pre&gt;host$ &lt;span style="color: rgb(51, 255, 51);"&gt;qemu-img -f qcow win-xp.qcow 4G&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;5.3&lt;/span&gt; Now start the virtual machine as follows, with the windows-XP CD in the /dev/cdrom drive. Have the Product key ready at hand.&lt;br /&gt;&lt;blockquote style="color: rgb(153, 153, 153);"&gt;&lt;pre&gt;host$ &lt;span style="color: rgb(51, 255, 51);"&gt;vdeqemu -L . -m 128 -boot d -hda win-xp.qcow \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;-cdrom /dev/cdrom -soundhw all -localtime -M pc \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;-net nic,vlan=0 -net vde,vlan=0,sock=/tmp/switch&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;here, "-m 128" gives the virtual machine 128 mb RAM&lt;br /&gt;"-boot d" makes cdrom as the default boot device.. Later you can set this to "-boot c" once you have an OS installed on the hard disk, to make hard disk as the default&lt;br /&gt;"-net nic,vlan=0" adds one network interface card onto the virtual machine&lt;br /&gt;"-net vde,vlan=0,sock=/tmp/switch" connects the above NIC to the switch we created.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.4 &lt;/span&gt;When the system boots up, install windows on this guest machine. You will notice that it has one ethernet adapter for which the cable is already plugged (to our switch as we specified).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.5&lt;/span&gt; Configure IP address on this interface so that this interface is on the same Network (subnet) as the host's tap interface. In our case, we use "10.0.0.2" as the IP. Also set the guest's default gateway as 10.0.0.1 and provide your service provider's DNS ip to the guest.&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Step6:&lt;/span&gt; Now you can try pinging 10.0.0.1 from the guest and 10.0.0.2 from the host. You will see that the pings go through successfully. However, the guest still cannot access the internet. For this we need to set up NAT (Network Address Translation) on the host ( or some form of bridging b/w the tap0 interface and the host's eth0 interface)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step7:&lt;/span&gt; (&lt;span style="font-weight: bold; color: rgb(204, 51, 204);"&gt;As root&lt;/span&gt;) Set up the NAT.&lt;br /&gt;&lt;blockquote style="color: rgb(153, 153, 153);"&gt;&lt;pre&gt;host$ &lt;span style="color: rgb(255, 0, 0);"&gt;echo "1" &gt; /proc/sys/net/ipv4/ip_forward&lt;/span&gt;&lt;br /&gt;host$ &lt;span style="color: rgb(255, 0, 0);"&gt;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;/span&gt;&lt;br /&gt;host$ &lt;span style="color: rgb(255, 0, 0);"&gt;iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT&lt;/span&gt;&lt;br /&gt;host$ &lt;span style="color: rgb(255, 0, 0);"&gt;iptables -A FORWARD -i eth0 -o tap0 \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-m state --state RELATED,ESTABLISHED -j ACCEPT&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;Now we are up and running!!&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5yO5o_Ot4Zc/R7PlDrIrz1I/AAAAAAAAANE/AjQi6OqSwLw/s1600-h/qemu.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_5yO5o_Ot4Zc/R7PlDrIrz1I/AAAAAAAAANE/AjQi6OqSwLw/s320/qemu.JPG" alt="" id="BLOGGER_PHOTO_ID_5166725048805609298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;[1] &lt;a href="http://wiki.virtualsquare.org/index.php/VDE_Basic_Networking"&gt;http://wiki.virtualsquare.org/index.php/VDE_Basic_Networking&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5795553140921350280?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5795553140921350280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5795553140921350280' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5795553140921350280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5795553140921350280'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/setting-up-qemu-with-networking-on.html' title='Setting up qemu with networking on a linux host'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5yO5o_Ot4Zc/R7PlDrIrz1I/AAAAAAAAANE/AjQi6OqSwLw/s72-c/qemu.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7277351847181105661</id><published>2008-02-12T19:18:00.000+05:30</published><updated>2008-02-12T19:20:18.663+05:30</updated><title type='text'>FreeBSD</title><content type='html'>Check out the freeBSD operating system.&lt;br /&gt;&lt;br /&gt;Another member of the family of UNIX operating systems.&lt;br /&gt;&lt;br /&gt;Ports to most common comp architectures available.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.freebsd.org"&gt;http://www.freebsd.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7277351847181105661?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7277351847181105661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7277351847181105661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7277351847181105661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7277351847181105661'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/freebsd.html' title='FreeBSD'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4291002241448866324</id><published>2008-02-12T16:20:00.000+05:30</published><updated>2008-02-12T16:31:27.863+05:30</updated><title type='text'>qemu</title><content type='html'>A sexy emulator !&lt;br /&gt;&lt;br /&gt;Qemu: &lt;a href="http://fabrice.bellard.free.fr/qemu/"&gt;http://fabrice.bellard.free.fr/qemu/&lt;/a&gt;&lt;br /&gt;Qemu for Windows: &lt;a href="http://www.h7.dion.ne.jp/%7Eqemu-win/"&gt;http://www.h7.dion.ne.jp/~qemu-win/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This program can emulate x86, MIPS, Sparc, ARM, PPC etc. I tried both the windows and linux x86 versions.. on the windows version, I tried loading a linux livecd.. And on the linux version, I tried out Windows XP&lt;br /&gt;&lt;br /&gt;The project is still under development though.. Some bugs here and there are evident. I didn't like the networking support for the thingy. And I hate having to type out configs.. vmware virtualPC etc are gorgeous for their GUI alone, I'd say. Yet, neither vmware nor virtualPC support that entire gamut of processors, and best of all, this thing is FREE !&lt;br /&gt;&lt;br /&gt;------------------------------------&lt;br /&gt;Related  links I found to be useful..&lt;br /&gt;&lt;br /&gt;The OpenVPN tool which can be used for host-only networking / bridged networking on a windows host: &lt;a href="http://openvpn.net/"&gt;http://openvpn.net/&lt;/a&gt;&lt;br /&gt;- a how to for the same: &lt;a href="http://www.h7.dion.ne.jp/%7Eqemu-win/TapWin32-en.html"&gt;http://www.h7.dion.ne.jp/~qemu-win/TapWin32-en.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;VDE  - Virtual Distributed Ethernet, to use for host-only / bridged networking on linux hosts: &lt;a href="http://vde.sourceforge.net/"&gt;http://vde.sourceforge.net/&lt;/a&gt;&lt;br /&gt;- how to:  &lt;a href="http://wiki.virtualsquare.org/index.php/VDE_Basic_Networking"&gt;http://wiki.virtualsquare.org/index.php/VDE_Basic_Networking&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4291002241448866324?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4291002241448866324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4291002241448866324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4291002241448866324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4291002241448866324'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/qemu.html' title='qemu'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8696304471624906509</id><published>2008-02-12T16:17:00.001+05:30</published><updated>2008-05-12T01:21:26.667+05:30</updated><title type='text'>autobook</title><content type='html'>A free online book on Autoconf Automake and Libtool..&lt;br /&gt;&lt;a href="http://sourceware.org/autobook/"&gt;http://sourceware.org/autobook/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For all those people who have been mystified by&lt;blockquote&gt;&lt;pre&gt;./configure&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;I'm yet to read the book.. Placing this post lest I lose the url&lt;br /&gt;&lt;br /&gt;--------- --------- --------- --------- --------- --------- --------- --------- &lt;br /&gt;(2008-05-12)&lt;br /&gt;Another book on auto-tools&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool"&gt;http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8696304471624906509?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8696304471624906509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8696304471624906509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8696304471624906509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8696304471624906509'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/autobook.html' title='autobook'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7346696563529786985</id><published>2008-02-09T13:02:00.000+05:30</published><updated>2008-02-09T13:04:09.784+05:30</updated><title type='text'>Linux from the scratch !</title><content type='html'>Learn to&lt;br /&gt;- install linux from source yourself&lt;br /&gt;- build liveCDs and distributions&lt;br /&gt;- build embedded linux systems&lt;br /&gt;and lot more&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linuxfromscratch.org/"&gt;http://www.linuxfromscratch.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7346696563529786985?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7346696563529786985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7346696563529786985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7346696563529786985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7346696563529786985'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/linux-from-scratch.html' title='Linux from the scratch !'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-8555492682954040067</id><published>2008-02-08T10:20:00.000+05:30</published><updated>2008-02-08T10:22:24.409+05:30</updated><title type='text'>PowerPC Simulators</title><content type='html'>PearPC &lt;a href="http://pearpc.sourceforge.net/"&gt;http://pearpc.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PSIM &lt;a href="http://sourceware.org/psim/"&gt;http://sourceware.org/psim/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-8555492682954040067?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/8555492682954040067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=8555492682954040067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8555492682954040067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/8555492682954040067'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2008/02/powerpc-simulators.html' title='PowerPC Simulators'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3497005230218338415</id><published>2007-12-04T12:28:00.000+05:30</published><updated>2007-12-04T12:29:44.858+05:30</updated><title type='text'>Coolest bugs</title><content type='html'>The URL gives a list of 10 cool bugs caused by software/hardware glitches..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.zdnet.com/2424-9595_22-177729.html"&gt;http://news.zdnet.com/2424-9595_22-177729.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3497005230218338415?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3497005230218338415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3497005230218338415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3497005230218338415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3497005230218338415'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/12/coolest-bugs.html' title='Coolest bugs'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-4014515744243609542</id><published>2007-10-19T01:22:00.000+05:30</published><updated>2007-10-19T01:28:13.248+05:30</updated><title type='text'>Damn Small Linux, aka DSL</title><content type='html'>Ever wanted a really small Linux live CD? This is the perfect one.&lt;br /&gt;&lt;a href="http://damnsmalllinux.org/"&gt;http://damnsmalllinux.org/&lt;/a&gt;&lt;br /&gt;It supports the X windowing system, and comes with Firefox web browser, a VNC viewer, basic word processors, media players, USB support and in short, everything you will need out of a basic computer.&lt;br /&gt;And the punch line is its amazingly small size of ~ 50mb!&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-4014515744243609542?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/4014515744243609542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=4014515744243609542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4014515744243609542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/4014515744243609542'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/10/damn-small-linux-aka-dsl.html' title='Damn Small Linux, aka DSL'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-6484357559912235522</id><published>2007-10-10T15:49:00.000+05:30</published><updated>2007-10-10T15:51:00.393+05:30</updated><title type='text'>BonaFide OS Development</title><content type='html'>A place all you folks interested in operating systems should check out !&lt;br /&gt;Some good documents on Operating Systems, oriented at the lesser discussed practical side.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.osdever.net/goal.php"&gt;http://www.osdever.net/goal.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-6484357559912235522?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/6484357559912235522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=6484357559912235522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6484357559912235522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/6484357559912235522'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/10/bonafide-os-development.html' title='BonaFide OS Development'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-5269647926373013279</id><published>2007-10-01T08:52:00.000+05:30</published><updated>2008-02-11T11:06:01.658+05:30</updated><title type='text'>The Minix3 Operating System</title><content type='html'>This is an Operating System created and maintained by Prof. Andrew S Tanenbaum, for use in the academia to provide students with first hand experience on OS code. Also among the design goals thankfully are readability, modularity, and control over code size.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.minix3.org/"&gt;http://www.minix3.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A good blog on minix&lt;a href="http://www.minixtips.com"&gt;&lt;br /&gt;http://www.minixtips.com&lt;/a&gt;&lt;br /&gt;Earliest posts:&lt;br /&gt;&lt;a href="http://www.minixtips.com/2006_06_01_archive.html"&gt;http://www.minixtips.com/2006_06_01_archive.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-5269647926373013279?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/5269647926373013279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=5269647926373013279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5269647926373013279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/5269647926373013279'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/10/minix3-operating-system.html' title='The Minix3 Operating System'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7769767289027301099</id><published>2007-10-01T08:43:00.000+05:30</published><updated>2007-10-01T08:47:35.393+05:30</updated><title type='text'>UIUC Choices</title><content type='html'>This is a research project going on at the University of Illinois, Urbana-Champaign, into developing an Object Oriented Operating System, called Choices. The various links of interest are&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://choices.cs.uiuc.edu/"&gt;http://choices.cs.uiuc.edu/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://choices.cs.uiuc.edu/uChoices.html"&gt;http://choices.cs.uiuc.edu/uChoices.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7769767289027301099?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7769767289027301099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7769767289027301099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7769767289027301099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7769767289027301099'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/09/uiuc-choices.html' title='UIUC Choices'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-59832934348322831</id><published>2007-05-24T22:44:00.000+05:30</published><updated>2008-02-14T02:49:22.902+05:30</updated><title type='text'>Python References</title><content type='html'>[This post has been translocated from my python blog to this blog, as I'm planning to close down my python blog.. It's not seeing much attention from me anyways :D ]&lt;br /&gt;&lt;br /&gt;Hm.. Now where do I learn python from.&lt;br /&gt;&lt;br /&gt;Well, I started with the book "&lt;a href="http://www.byteofpython.info/"&gt;A Byte of Python&lt;/a&gt;" &lt;span style="font-size:85%;"&gt;[&lt;a href="http://www.dpawson.co.uk/bop/byteofpython_120.pdf"&gt;pdf&lt;/a&gt;]&lt;/span&gt;.  This book is a concise and succinct tutorial for someone who has a background in some or other programming language.  I would recommend it to anyone who wishes to learn python, and you can learn from this book in under two weeks even at a relaxed pace of learning.&lt;br /&gt;&lt;br /&gt;Likewise, the book "&lt;a href="http://www.diveintopython.org/"&gt;Dive into Python&lt;/a&gt;" also seems to be a good resource. I must admit I haven't &lt;span style="font-style: italic;"&gt;dived&lt;/span&gt; into the book much to make a more accurate comment.&lt;br /&gt;&lt;br /&gt;The python official website can be found at &lt;a href="http://www.python.org/"&gt;http://www.python.org&lt;/a&gt; . You can download the version of python for your particular operating system. Python is free !&lt;br /&gt;&lt;br /&gt;You will also find Python documentation available for download at the site. [&lt;a href="http://www.python.org/doc/"&gt;http://www.python.org/doc/&lt;/a&gt;] There's one particular tutorial in this documentation [online copy @ &lt;a href="http://docs.python.org/tut/tut.html"&gt;http://docs.python.org/tut/tut.html&lt;/a&gt;]. The tutorial is very exhaustive and will make you pretty much the guru of Python. However, on the flip side, I found the tutorial a little too involved. If you can bolster the patience to pore through it, there's nothing like it.&lt;br /&gt;&lt;br /&gt;Have fun &lt;span style="font-style: italic;"&gt;charming&lt;/span&gt; the python !&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-59832934348322831?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/59832934348322831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=59832934348322831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/59832934348322831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/59832934348322831'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/05/python-references.html' title='Python References'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-7957084354366316068</id><published>2007-05-23T22:57:00.000+05:30</published><updated>2008-02-14T02:47:45.986+05:30</updated><title type='text'>The Python programming language</title><content type='html'>[This post has been translocated from my python blog to this blog, as I'm planning to close down my python blog.. It's not seeing much attention from me anyways :D ]&lt;br /&gt;&lt;br /&gt;Python was a buzzword around that time. Like an intelligent babe, this language was being exalted as simple and yet tremendously powerful. Well I never bothered; but instead just cleaved to the faith that the prodigious C++ was _the_ panacea for all programming imbroglio.&lt;br /&gt;&lt;br /&gt;That went on until I stumbled upon this book: '&lt;a href="http://www.byteofpython.info/"&gt;Byte of Python&lt;/a&gt;' by Swaroop C H [&lt;a href="http://www.byteofpython.info/"&gt;http://www.byteofpython.info/&lt;/a&gt;]&lt;br /&gt;And that day, I was bitten.&lt;br /&gt;&lt;br /&gt;Well, my old buddy &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B"&gt;C++&lt;/a&gt; is still my best buddy because she is the most adaptable and reliable programming language that I've learned. In fact C++ and her &lt;a href="http://en.wikipedia.org/wiki/Object_oriented_programming"&gt;object oriented&lt;/a&gt; lineage teaches you to think of programming situations from an entirely different perspective than what used to be conventional. C++ made you think more like you normally would.&lt;br /&gt;&lt;br /&gt;But then Python too borrows heavily from the same Object oriented approaches and additionally allows you the flexibility of more expressive expressions and concise statements. Also somewhere in her lineage python had some &lt;a href="http://en.wikipedia.org/wiki/Functional_programming"&gt;functional programming&lt;/a&gt; ancestry which allows scope for expressing certain situations more flexibly.&lt;br /&gt;&lt;br /&gt;So.. What exactly is this python?&lt;br /&gt;&lt;br /&gt;Well I'd qualify python by the following salient features&lt;br /&gt;- It's an interpreted programming language.&lt;br /&gt;- It's a language which uses type inference and dynamic typing, which means you needn't specify the type of variables at compile time, and variables can be assigned values of different types without having to worry too much about the risks involved.&lt;br /&gt;- It's an object oriented programming language.&lt;br /&gt;- Seasoned with condiments from functional programming, it delivers that flexibility too, without the concomitant obscurity associated with functional languages.&lt;br /&gt;- It has a _huge_ standard library base catering to almost all conceivable requirements.&lt;br /&gt;- It is concise and succinct, reducing code size to probably 30% of the C++ analogue.&lt;br /&gt;&lt;br /&gt;On the whole, it's one hell of a language.&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-7957084354366316068?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/7957084354366316068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=7957084354366316068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7957084354366316068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/7957084354366316068'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/05/python-programming-language.html' title='The Python programming language'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3048474650650761321</id><published>2007-04-30T01:54:00.000+05:30</published><updated>2008-02-14T02:44:31.629+05:30</updated><title type='text'>[python] image converter</title><content type='html'>[This post has been translocated from my python blog to this blog, as I'm planning to close down my python blog.. It's not seeing much attention from me anyways :D ]&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The following is a code for an image format converter cum resizing program.  It takes a source directory, a destination directory and a target file format as parameters and converts all images in the source directory to the target format and writes them at the destination, after resizing them.&lt;/p&gt;&lt;br /&gt;This is only a prototypical version and is rather rigid. You might have to modify it to suit your requirements.&lt;br /&gt;&lt;br /&gt;Also note that the program requires &lt;a href="http://www.pythonware.com/products/pil/" target="_blank"&gt;Python Image Library (PIL) &lt;/a&gt;  installed in addition to python.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;import os&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;import Image&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;def imageConvert (source, dest, ext):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    if os.path.isdir(source) and os.path.isdir(dest):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        result = [True,[]]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        for i in os.listdir(source):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;            if os.path.isdir(source + os.sep + i) == False:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                outfile = dest + os.sep + \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                    os.path.splitext(i)[0] + ext&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                infile = source + os.sep + i&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                if infile != outfile:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                    try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        im = Image.open(infile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        if ( im.size == (1024,768) ):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                            # Landscape Image&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                            im = im.resize( (640,480) )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        elif ( im.size == (768,1024) ):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                            # Portrait Image&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                            im = im.resize( (480,640) )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        im.save(outfile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        #Image.open(infile).save(outfile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                    except :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        result[0] = False&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                        result[1].append('cannot convert %s'\&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                                    % infile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        return result&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    else:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        return [False, ['Error, either the source or the' + \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;            'destination given is not a directory']]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;def main ():&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    source = raw_input('Enter source directory: ')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    dest = raw_input('Enter destination directory: ')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    ext = '.' + raw_input('Enter file format extension: ')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    r,l = imageConvert ( source, dest, ext )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    if r == False:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        for i in range(len(l)):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;            print l[i]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;if __name__ == '__main__':&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    main()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3048474650650761321?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3048474650650761321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3048474650650761321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3048474650650761321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3048474650650761321'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/04/python-image-converter.html' title='[python] image converter'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6597012557877575761.post-3301124903654124541</id><published>2007-01-13T00:40:00.000+05:30</published><updated>2008-02-14T02:42:16.835+05:30</updated><title type='text'>[Python] Permutations of a string</title><content type='html'>[This post has been translocated from my python blog to this blog, as I'm planning to close down my python blog.. It's not seeing much attention from me anyways :D ]&lt;br /&gt;&lt;br /&gt;Given a string of any length, this python program generates all permutations of the characters in the string. The program is capable of taking care of repeated occurrences of the same character&lt;br /&gt;&lt;br /&gt;&lt;pre style="color: brown;"&gt;&lt;br /&gt;count = 0  # a global counter to give a unique id to each permutation&lt;br /&gt;        # that is generated&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def constructDict (s):&lt;br /&gt; """Constructs the dictionary.&lt;br /&gt;&lt;br /&gt; Constructs the dictionary of&lt;br /&gt; unique character to no-of-occurance mapping.&lt;br /&gt; """&lt;br /&gt; d = {}&lt;br /&gt; for i in range(0,len(s)):&lt;br /&gt;     try:                           # if the character is already present&lt;br /&gt;         d[s[i]] = d[s[i]] + 1      # increment its count&lt;br /&gt;     except:                        # if the character is not already presetn&lt;br /&gt;         d[s[i]] = 1                # put it in and set its count as 1&lt;br /&gt; return d&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def recursivePermuter ( d, strSoFar, maxDepth, thisDepth = 0 ):&lt;br /&gt; """Constructs all permutations.&lt;br /&gt;&lt;br /&gt; d: the dictionary&lt;br /&gt; strSoFar: the prefix part of the string which&lt;br /&gt;           has been constructed so far&lt;br /&gt; maxDepth: this is same as the length of the&lt;br /&gt;           user input string&lt;br /&gt; thisDepth: this level of recursion (Default value 0)&lt;br /&gt;&lt;br /&gt; Each place in the permutation can be occupied by&lt;br /&gt; an "available" character. An "available" character is&lt;br /&gt; one whose value in the dictionary d is not zero.&lt;br /&gt; When we use/borrow an available character, we decrement&lt;br /&gt; its value in the dictionary; and when we backtrace/return&lt;br /&gt; the available character, we restore its value by&lt;br /&gt; incrementing once.&lt;br /&gt; """&lt;br /&gt; global count&lt;br /&gt; if (thisDepth == maxDepth):         # if we have completed one permutation&lt;br /&gt;     count = count + 1&lt;br /&gt;     print str(count) + ": " + strSoFar&lt;br /&gt;     return&lt;br /&gt; for key,value in d.items():&lt;br /&gt;     if value == 0:&lt;br /&gt;         continue&lt;br /&gt;     # all elements in d with value &gt; 0 are "candidates" to go&lt;br /&gt;     # into this place.. We give each a chance systematically..&lt;br /&gt;     d[key] = value - 1&lt;br /&gt;     recursivePermuter ( d, strSoFar + key, maxDepth, thisDepth + 1 )&lt;br /&gt;     d[key] = value&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def __main__ ():&lt;br /&gt; """The perpetrator of all evil.&lt;br /&gt; """&lt;br /&gt; s = raw_input("Enter String: ")     # get the user input string&lt;br /&gt; d = constructDict(s)                # construct the dictionary&lt;br /&gt; recursivePermuter(d, "", len(s))    # despatch to the guy&lt;br /&gt;                                     # who churns out permutations&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# you have to explicitly call the main&lt;br /&gt;# main, in python is a convention rather than&lt;br /&gt;# a mandate..&lt;br /&gt;__main__()&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;How it works..&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; get all the unique characters in a pool of pairs, each pair (symbol, no_of_occurances)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; consider each permutation as a set of n blanks, n = strlen(given string)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; for each position/blank in the permutations,&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;  we pick a symbol to go into that blank.. In picking, we reduce the number of occurance..&lt;br /&gt;  So obviously also note that we may not pick a symbol whose number of occurances is already zero.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; now we go down the line to the next blank and repeat 3 //this is a recursive step..&lt;br /&gt;&lt;/li&gt;&lt;li&gt; once the recursive function returns, we return the symbol we had borrowed for this instance&lt;br /&gt; of the recursive function.. We do so, by incrementing the number of occurances by one ..&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;http://varghese85-cs.blogspot.com/&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6597012557877575761-3301124903654124541?l=varghese85-cs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://varghese85-cs.blogspot.com/feeds/3301124903654124541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6597012557877575761&amp;postID=3301124903654124541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3301124903654124541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6597012557877575761/posts/default/3301124903654124541'/><link rel='alternate' type='text/html' href='http://varghese85-cs.blogspot.com/2007/01/python-permutations-of-string.html' title='[Python] Permutations of a string'/><author><name>matt</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
