<?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-4555758779042909992</id><updated>2012-02-16T10:46:32.707-08:00</updated><category term='free software'/><category term='technology'/><category term='Fedora'/><category term='shell expert'/><category term='Ubuntu'/><category term='Firefox'/><category term='open source'/><category term='light reading'/><category term='Linux'/><category term='wordpress'/><category term='kernel'/><category term='software development'/><title type='text'>Rubuntu - Rutul's Ubuntu Blog</title><subtitle type='html'>Experiences, Adventures, Appreciations, Notes, Tips, Tricks and References on using Ubuntu (sometimes Linux in general).</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default?start-index=101&amp;max-results=100'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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>105</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-5371878557246738479</id><published>2009-12-10T00:45:00.000-08:00</published><updated>2009-12-10T00:49:19.444-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>osalt.com</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://osalt.com/"&gt;&lt;img style="cursor: pointer; width: 191px; height: 78px;" src="http://airflake.cachefly.net/gfx/osalt_logo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Simply one of the most useful websites I have come across in recent time. It is a resource to find the open source alternatives to commercial software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5371878557246738479?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5371878557246738479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5371878557246738479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5371878557246738479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5371878557246738479'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/12/osaltcom.html' title='osalt.com'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5468605061864931640</id><published>2009-12-09T00:37:00.000-08:00</published><updated>2009-12-09T00:59:32.201-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>about time - Chrome for Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.google.com/tools/dlpage/res/chrome/images/chrome-205_noshadow.png"&gt;&lt;img style="cursor: pointer; width: 126px; height: 126px;" src="http://www.google.com/tools/dlpage/res/chrome/images/chrome-205_noshadow.png" alt="" border="0" /&gt;&lt;/a&gt;Google announced &lt;a href="http://news.cnet.com/8301-30685_3-10411398-264.html?tag=newsEditorsPicksArea.0"&gt;Chrome for Linux (and Mac today)&lt;/a&gt;.&lt;br /&gt;In the true Google tradition, it's a beta version.&lt;br /&gt;&lt;br /&gt;I have been waiting for this since Firefox 3.0. The frustrations with Firefox 3.0 and later have been well documented by many. Personally, I would really appreciate if my browser does not use more than 75% of memory on my system. This is regardless of if I have 512MB or 4 gigs.&lt;br /&gt;&lt;br /&gt;The challenge for Chrome is to get the quality and number of extensions that Firefox has. With this version of Chrome, there is support for extensions and the market place claims to have over 300 extensions. How well this works on Linux needs to be seen.&lt;br /&gt;&lt;br /&gt;The first thing I will need however is the ability to import and manage my bookmarks. I have been using &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2410"&gt;Xmarks in Firefox&lt;/a&gt; and can't believe how I would manage without this tool. Hopefully there is something equivalent with Chrome.&lt;br /&gt;&lt;br /&gt;On a relevant note, a while back I saw a commercial or a video where random people in New York were asked if they knew what Chrome was. As expected, it was interesting to see that most people did not know. In the bay area, we are blind-sighted by the access to new technology and information and we rarely think in terms of what real consumers experience, know and think. Google seemed to understand that and hopefully that understanding shows in Chrome's usability.&lt;br /&gt;&lt;br /&gt;In terms of product development, &lt;a href="http://sethgodin.typepad.com/seths_blog/"&gt;Seth Godin&lt;/a&gt; had an &lt;a href="http://sethgodin.typepad.com/seths_blog/2008/09/firefox-is-miss.html"&gt;interesting post&lt;/a&gt; a while back regarding what Firefox should be/could be doing to be a better product. Let's hope the world is relieved from the curse of Internet Explorer soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5468605061864931640?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5468605061864931640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5468605061864931640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5468605061864931640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5468605061864931640'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/12/about-time-chrome-for-linux.html' title='about time - Chrome for Linux'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2518189864930892524</id><published>2009-11-15T21:08:00.000-08:00</published><updated>2009-11-24T18:17:14.441-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>cobbler</title><content type='html'>A headache for most network administrators or engineers setting up labs is the installation process of numerous servers and systems. With Fedora, PXE-installation and kickstart files takes some of the manual challenges out of the process, but it is still fairly task intensive.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://fedorahosted.org/cobbler/"&gt;Cobbler&lt;/a&gt; takes care of this issue and does it in style (&lt;span style="font-style: italic;"&gt;Cobbler is an install server; batteries not included&lt;/span&gt;). It automates several of the tasks so that user doesn't end up switching between commands and applications when building new systems.&lt;br /&gt;&lt;br /&gt;I personally liked a feature that I didn't think the system would have. One of the systems I was setting up did not have the BIOS updated to be able to do a PXE install. Cobbler has an option to create an installable CD/DVD and your system matches the rest that you have installed doing the automated PXE-install.&lt;br /&gt;&lt;br /&gt;Fairly useful for organizations running a Linux servers network.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2518189864930892524?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2518189864930892524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2518189864930892524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2518189864930892524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2518189864930892524'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/11/cobbler.html' title='cobbler'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-402187978650050373</id><published>2009-10-24T17:30:00.000-07:00</published><updated>2009-11-24T22:52:10.922-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>tips for baby steps in kernel debugging</title><content type='html'>Even if you have been a programming in C for a while, getting into kernel debugging can be intimidating. If you are used to &lt;a href="http://en.wikipedia.org/wiki/Ctags"&gt;c-tags&lt;/a&gt; or using an IDE for your development, the task is even more challenging. However, a few tools listed below help you get started very quickly:&lt;br /&gt;&lt;br /&gt;Obviously the first step is getting the kernel, and depending on what kernel you are running and/or what Linux distribution you have, this can be tricky. For Fedora systems, there are &lt;a href="http://fedoraproject.org/wiki/Docs/CustomKernel"&gt;simple ways to get the kernel source&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LXR - Linux Cross Reference&lt;/span&gt;&lt;br /&gt;This is a very useful resource if you want to get a quick idea about the flow of code, structures. &lt;a href="http://lxr.linux.no/+trees"&gt;LXR&lt;/a&gt; is a toolset that has the entire kernel source indexed. It's an Ajax interface and makes it very easy to browse source code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;printk()&lt;/span&gt;&lt;br /&gt;This is the printf of the kernel. The syntax is similar to printf. The useful argument is the loglevels that can attach a level of importance to your messages. The definition of the loglevels are in include/linux/kernel.h&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;dump_stack()&lt;/span&gt;&lt;br /&gt;Sometimes, tracking the code flow is easier if you can &lt;a href="http://rutubuntu.blogspot.com/2009/04/backtrace.html"&gt;show the program stack&lt;/a&gt;. Most architectures have dump_stack() implemented. This can be a very useful weapon in a newbie kernel debugger's arsenal.&lt;br /&gt;&lt;br /&gt;There are some &lt;a href="http://www.tldp.org/LDP/lkmpg/2.6/html/index.html"&gt;good tutorials&lt;/a&gt; that do some hand-holding for writing kernel modules, but if you have to track an issue in the core kernel or just want to get a better understanding, the tools described above are very useful.&lt;br /&gt;&lt;br /&gt;Go on, get your feet wet in kernel debugging.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-402187978650050373?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/402187978650050373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=402187978650050373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/402187978650050373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/402187978650050373'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/10/tips-for-baby-steps-in-kernel-debugging.html' title='tips for baby steps in kernel debugging'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3465289913398767970</id><published>2009-10-14T23:54:00.000-07:00</published><updated>2009-11-24T18:05:35.960-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>handling the cross-compiling nightmare</title><content type='html'>If you have ever faced the challenge of running your code on different platforms with need to support different system libs (glibc/uClibc), you probably know it's not a simple task building the toolchains. Very simplistically, a toolchain is what makes up the tools that compile, assemble and link the code being developed.&lt;br /&gt;&lt;br /&gt;For this case, &lt;a href="http://freshmeat.net/projects/crosstool-ng/"&gt;crosstool-NG&lt;/a&gt; comes to your rescue. It's a versatile toolchain generator that is very simple to configure. You simply fill in the appropriate values with the adequate options in a configuration file. Then point your compiler option in the Makefiles to the right compiler.&lt;br /&gt;&lt;br /&gt;There is a decent tutorial on how to use crosstool-NG &lt;a href="http://www.aclevername.com/articles/linux-xilinx-tutorial/crosstool-ng-1.3.2.html"&gt;here&lt;/a&gt;, but it has not been updated for the newer releases. The current release is version 1.5.2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3465289913398767970?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3465289913398767970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3465289913398767970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3465289913398767970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3465289913398767970'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/10/handling-cross-compiling-nightmare.html' title='handling the cross-compiling nightmare'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-673329056990109155</id><published>2009-09-12T23:53:00.000-07:00</published><updated>2009-09-13T00:00:11.178-07:00</updated><title type='text'>linux in msft search</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OfjUoE_DRWs/SqyYVKYUClI/AAAAAAAABsE/zp7SKB0QAhE/s1600-h/msft-search.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 194px;" src="http://3.bp.blogspot.com/_OfjUoE_DRWs/SqyYVKYUClI/AAAAAAAABsE/zp7SKB0QAhE/s320/msft-search.jpg" alt="" id="BLOGGER_PHOTO_ID_5380843144131906130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I read about this somewhere else, but I had to try it out myself...&lt;br /&gt;&lt;br /&gt;The first two links in Microsoft Search when looking for Linux is "how to remove Linux". Elegant.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SqyX3Ia31MI/AAAAAAAABr8/vhz7wa6Nkrg/s1600-h/msft-search.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-673329056990109155?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/673329056990109155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=673329056990109155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/673329056990109155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/673329056990109155'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/09/linux-in-msft-search.html' title='linux in msft search'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SqyYVKYUClI/AAAAAAAABsE/zp7SKB0QAhE/s72-c/msft-search.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-5570811188788535901</id><published>2009-08-30T23:06:00.000-07:00</published><updated>2009-08-30T23:49:45.288-07:00</updated><title type='text'>you have to be kidding me with Vista</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OfjUoE_DRWs/SptyAxvXIkI/AAAAAAAABrc/JtpNdd1dFBQ/s1600-h/windows-ban.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 161px; height: 161px;" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/SptyAxvXIkI/AAAAAAAABrc/JtpNdd1dFBQ/s320/windows-ban.png" alt="" id="BLOGGER_PHOTO_ID_5376015937874371138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am not one to rant, and certainly not one to not appreciate the complications with building an operating system.&lt;br /&gt;&lt;br /&gt;But, you have got to be kidding me with the Vista crap. I have been using it on a work laptop (was provided with it) since about a week and I have had my laptop actually CRASH (blue screen) after plugging-in and unplugging a usb mouse, my usb cell phone and after trying to wake up after hibernating.&lt;br /&gt;&lt;br /&gt;Oh, and unless I enable "sending of null packets to keep session active" and enable TCP keepalives in my putty sessions, I get "Network error: Software caused connection abort" every few minutes.&lt;br /&gt;&lt;br /&gt;People pay to buy this crap?&lt;br /&gt;&lt;br /&gt;Okay, rant over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5570811188788535901?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5570811188788535901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5570811188788535901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5570811188788535901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5570811188788535901'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/you-have-to-be-kidding-me-with-vista.html' title='you have to be kidding me with Vista'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/SptyAxvXIkI/AAAAAAAABrc/JtpNdd1dFBQ/s72-c/windows-ban.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-8046443558565559122</id><published>2009-08-24T15:24:00.000-07:00</published><updated>2009-08-24T23:32:20.205-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>final sign on the "road to 64-bit"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OfjUoE_DRWs/SpODKg4XP4I/AAAAAAAABq8/DggYxk_QZOY/s1600-h/R3-4+NoUTurn.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 155px;" src="http://3.bp.blogspot.com/_OfjUoE_DRWs/SpODKg4XP4I/AAAAAAAABq8/DggYxk_QZOY/s320/R3-4+NoUTurn.gif" alt="" id="BLOGGER_PHOTO_ID_5373782997031403394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I &lt;a href="http://rutubuntu.blogspot.com/2009/08/leap-to-64-bit.html"&gt;wrote about switching to 64-bit Ubuntu&lt;/a&gt; a few days ago.&lt;br /&gt;&lt;br /&gt;Then I added an &lt;a href="http://rutubuntu.blogspot.com/2009/08/update-on-road-to-64-bit.html"&gt;update&lt;/a&gt; a few days later with more information.&lt;br /&gt;&lt;br /&gt;The major conclusion there was that if you have &gt; 3GB RAM, unless you are using a customized kernel or the 64-bit Ubuntu, you are not going to be able to use more than 3GB RAM.&lt;br /&gt;&lt;br /&gt;Anyways, not that I needed more convincing, but tuxradar has a damn good write-up with performance numbers comparing Ubuntu 9.04 with 32-bit and 64-bit version:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.tuxradar.com/content/ubuntu-904-32-bit-vs-64-bit-benchmarks"&gt;Ubuntu 9.04 32-bit v/s 64-bit performance numbers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think this conclusion summarizes it nicely -&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Putting aside the issue of Flash for a moment, moving from 32-bit to 64-bit is pretty much painless. In fact, you can't tell the difference without running uname -a in a terminal - all the programs you're used to are likely to run identically, and ultimately it's only a matter of time before x86-64 becomes the standard.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;There is no turning back, I am convinced 64-bit is the way to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8046443558565559122?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8046443558565559122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8046443558565559122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8046443558565559122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8046443558565559122'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/final-sign-on-road-to-64-bit.html' title='final sign on the &quot;road to 64-bit&quot;'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SpODKg4XP4I/AAAAAAAABq8/DggYxk_QZOY/s72-c/R3-4+NoUTurn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-5200573322007203442</id><published>2009-08-17T00:51:00.000-07:00</published><updated>2009-08-17T01:08:15.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>update on "the road to 64-bit"</title><content type='html'>A couple of days ago, I &lt;a href="http://rutubuntu.blogspot.com/2009/08/leap-to-64-bit.html"&gt;wrote about moving to 64-bit&lt;/a&gt; ; seems like it's going to be a simple decision for me. &lt;p&gt;A 32-bit operating system is limited to 4 GB of memory ( you can only reference 2 ^ 32 = 4GB ). However, 32-bit Ubuntu is limited to 3 GB. If you are considering between 32-bit and 64-bit Ubuntu and you have more than 3 GB of memory that should be a simple decision.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There is a workaround however if you are still not convinced 64-bit is the way to go - install server kernel as it has support for upto 4 GB. But think about the future when your 4GB will not be enough and you add more memory?&lt;br /&gt;&lt;/p&gt;There is a bug (&lt;a href="https://bugs.launchpad.net/bugs/74179" title=""&gt;=4GB memory"&gt;Bug 74179)&lt;/a&gt; that covers releasing a 32 bit option for high memory ( &gt; 3 GB) system.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kerneltrap.org/node/2450"&gt;kerneltrap.org&lt;/a&gt; has a good page on kernel and high memory with a good explanation of physical memory versus virtual memory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5200573322007203442?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5200573322007203442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5200573322007203442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5200573322007203442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5200573322007203442'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/update-on-road-to-64-bit.html' title='update on &quot;the road to 64-bit&quot;'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5628387945324685974</id><published>2009-08-17T00:47:00.000-07:00</published><updated>2009-08-23T12:24:56.484-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>memory leak with inheritance and destructors</title><content type='html'>I use inheritance and virtual functions fairly frequently, but I am wondering how common this is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A little bit of context -&lt;/span&gt;&lt;br /&gt;&lt;p&gt;When using inheritance, destructors are called in the reverse order of inheritance. If a base class pointer points to a derived class object,  and later we use the delete operator to delete the object, then the derived class destructor is not called. Refer to the code that follows: &lt;/p&gt;&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 200px; text-align: left;"&gt;&lt;br /&gt;#include &lt;iostream.h&gt;&lt;br /&gt;class base&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;~base()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class derived : public base&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;~derived()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;base *ptr = new derived();&lt;br /&gt;// some code&lt;br /&gt;delete ptr;&lt;br /&gt;}&lt;br /&gt;&lt;/iostream.h&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;The result is a memory leak.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-style: italic;"&gt;Solution to avoid this -&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Make the destructor virtual in the base class. A virtual destructor is one that is declared as virtual in the base class.  &lt;/p&gt; &lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 200px; text-align: left;"&gt;&lt;br /&gt;#include &lt;iostream.h&gt;&lt;br /&gt;class base&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;virtual ~base()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class derived : public base&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;~derived()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;base *ptr = new derived();&lt;br /&gt;// some code&lt;br /&gt;delete ptr;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Does this mean when using virtual functions, it is always a good idea have the destructor virtual as well?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5628387945324685974?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5628387945324685974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5628387945324685974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5628387945324685974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5628387945324685974'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/memory-leak-with-inheritance-and.html' title='memory leak with inheritance and destructors'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8599003738474806500</id><published>2009-08-16T12:27:00.000-07:00</published><updated>2009-08-16T12:57:24.688-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>what is ld-linux.so.2</title><content type='html'>Back in April, &lt;a href="http://rutubuntu.blogspot.com/2009/04/ld-linuxso2.html"&gt;I wrote&lt;/a&gt; about a particular use of ld-linux.so.2. It's important to know however what the purpose of ld-linux.so.2 is in a little more detail.&lt;br /&gt;&lt;br /&gt;ld-linux.so is the locater and loader of dynamic (shared libs) on your system. Most applications these days use shared libs (instead of statically built-in libs). When a program is loaded, Linux&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;&lt;/span&gt;&lt;/tt&gt; passes control to ld-linux.so.2 instead of normal entry point of the application. Now ld-linux.so.2&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;&lt;/span&gt;&lt;/tt&gt; searches for and loads the unresolved libraries, and then it passes control to the application starting point.&lt;br /&gt;&lt;br /&gt;To understand how a program loads, it's useful to understand ELF. The ELF (Executable and Linking Format) specification defines how an object file is composed and organized. With this information, the kernel and the binary loader (ld in our case) know how to load the file, where to look for the code, where to look the initializeddata, which shared library that needs to be loaded and so on.&lt;br /&gt;&lt;br /&gt;ld-linux.so.2 is the runtime component for the linker (&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;ld&lt;/span&gt;&lt;/tt&gt;) which locates and loads into memory the dynamic libraries used by the applicaiton.&lt;br /&gt;&lt;br /&gt;A little more about ELF (from wikipedia).&lt;br /&gt;&lt;p&gt;Each ELF file is made up of one ELF header, followed by file data. The file data can include:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Program header table, describing zero or more segments&lt;/li&gt;&lt;li&gt;Section header table, describing zero or more sections&lt;/li&gt;&lt;li&gt;Data referred to by entries in the program header table, or the section header table&lt;/li&gt;&lt;/ul&gt; The segments contain information that is necessary for runtime execution of the file, while sections contain important data for linking and relocation.&lt;br /&gt;&lt;br /&gt;There are a few useful tools to read ELF files:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ldd prints the shared library dependencies.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;readelf&lt;/code&gt; is a Unix binary utility that displays information about one or more ELF files.&lt;/li&gt;&lt;li&gt;&lt;code&gt;&lt;a href="http://en.wikipedia.org/wiki/Objdump" title="Objdump"&gt;objdump&lt;/a&gt;&lt;/code&gt; provides a wide range of information about ELF files and other object formats.&lt;/li&gt;&lt;/ul&gt;example:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 200px; text-align: left;"&gt;&lt;br /&gt;rutul@ubuntu:~/test_progs$ gcc hello_world.c&lt;br /&gt;rutul@ubuntu:~/test_progs$ ldd a.out&lt;br /&gt;       linux-gate.so.1 =&gt;  (0xb7ef2000)&lt;br /&gt;       libc.so.6 =&gt; /lib/tls/i686/cmov/libc.so.6 (0xb7d80000)&lt;br /&gt;       /lib/ld-linux.so.2 (0xb7ef3000)&lt;br /&gt;rutul@ubuntu:~/test_progs$&lt;br /&gt;rutul@ubuntu:~/test_progs$ readelf -l a.out&lt;br /&gt;&lt;br /&gt;Elf file type is EXEC (Executable file)&lt;br /&gt;Entry point 0x8048310&lt;br /&gt;There are 8 program headers, starting at offset 52&lt;br /&gt;&lt;br /&gt;Program Headers:&lt;br /&gt; Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align&lt;br /&gt; PHDR           0x000034 0x08048034 0x08048034 0x00100 0x00100 R E 0x4&lt;br /&gt; INTERP         0x000134 0x08048134 0x08048134 0x00013 0x00013 R   0x1&lt;br /&gt;     [Requesting program interpreter: /lib/ld-linux.so.2]&lt;br /&gt; LOAD           0x000000 0x08048000 0x08048000 0x004c4 0x004c4 R E 0x1000&lt;br /&gt; LOAD           0x000f0c 0x08049f0c 0x08049f0c 0x00108 0x00110 RW  0x1000&lt;br /&gt; DYNAMIC        0x000f20 0x08049f20 0x08049f20 0x000d0 0x000d0 RW  0x4&lt;br /&gt; NOTE           0x000148 0x08048148 0x08048148 0x00020 0x00020 R   0x4&lt;br /&gt; GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4&lt;br /&gt; GNU_RELRO      0x000f0c 0x08049f0c 0x08049f0c 0x000f4 0x000f4 R   0x1&lt;br /&gt;&lt;br /&gt;Section to Segment mapping:&lt;br /&gt; Segment Sections...&lt;br /&gt;  00   &lt;br /&gt;  01     .interp&lt;br /&gt;  02     .interp .note.ABI-tag .hash .gnu.hash .dynsym .dynstr .gnu.version .gn&lt;br /&gt;u.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame&lt;br /&gt;  03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss&lt;br /&gt;  04     .dynamic&lt;br /&gt;  05     .note.ABI-tag&lt;br /&gt;  06   &lt;br /&gt;  07     .ctors .dtors .jcr .dynamic .got&lt;br /&gt;rutul@ubuntu:~/test_progs$&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8599003738474806500?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8599003738474806500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8599003738474806500' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8599003738474806500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8599003738474806500'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/what-is-ld-linuxso2.html' title='what is ld-linux.so.2'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7740063100013271138</id><published>2009-08-14T14:58:00.000-07:00</published><updated>2009-08-14T17:14:00.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>the road to 64-bit?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OfjUoE_DRWs/SoXiVa8kcEI/AAAAAAAABq0/nbtu9hb_quc/s1600-h/600px-US_64.svg.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 124px; height: 124px;" src="http://1.bp.blogspot.com/_OfjUoE_DRWs/SoXiVa8kcEI/AAAAAAAABq0/nbtu9hb_quc/s320/600px-US_64.svg.png" alt="" id="BLOGGER_PHOTO_ID_5369946988347682882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am trying out a spanking new laptop with Intel T4300 (Dual Core) CPU which came pre-installed with a 64-bit Windows.&lt;br /&gt;&lt;br /&gt;Since it's time to get Ubuntu setup on here, the question I am researching is if I should make the leap to 64-bit Ubuntu.&lt;br /&gt;&lt;br /&gt;From what I have read so far on the discussion boards, there is not much in  terms of what is missing on the 64-bit. The two questions:&lt;br /&gt;a) Is there any benefit of running 64-bit?&lt;br /&gt;b) Is "everything" supported on 64-bit?&lt;br /&gt;&lt;br /&gt;a) Maybe I will not notice a performance improvement on applications like Firefox or Eclipse. If I am doing any image or video processing, maybe that shows improvement. I suppose I might even see improvement in mp3 decoding/encoding.&lt;br /&gt;Though, the major benefit it seems is in using 64-bit is to expand the user-base. The key being, the more people use it, the more issues get reported and resolved.&lt;br /&gt;&lt;br /&gt;b) If there are any missing packages on 64-bit, I should have an idea of those before I get set up. That is an exercise in itself.&lt;br /&gt;One of the issues I read with versions before 8.04 was that the kernel did not have tickless support, which meant a drain on the battery. That's not going to be an issue since I am planning to install 9.04.&lt;br /&gt;There were a few complains about flash and java plug-ins in Firefox.&lt;br /&gt;&lt;br /&gt;I suppose the best option is to try it out and when you run into issues turn to the trusty Ubuntu forums for help.&lt;br /&gt;&lt;br /&gt;Ok, ready drive...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7740063100013271138?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7740063100013271138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7740063100013271138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7740063100013271138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7740063100013271138'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/leap-to-64-bit.html' title='the road to 64-bit?'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SoXiVa8kcEI/AAAAAAAABq0/nbtu9hb_quc/s72-c/600px-US_64.svg.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-1783712897454123066</id><published>2009-08-14T02:00:00.000-07:00</published><updated>2009-08-14T02:08:51.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Joe's Chinese setup tips in Ubuntu</title><content type='html'>It is always good to meet fellow Ubuntu enthusiasts who are passionate about sharing information, experiences and knowledge.&lt;br /&gt;&lt;br /&gt;Joe has written a few useful posts on setting up your Ubuntu system for Chinese. It also has good information on using Chinese input methods and fonts in OpenOffice.&lt;br /&gt;&lt;br /&gt;Be sure to check it out if interested: &lt;a href="http://www.pinyinjoe.com/linux/ubuntu-chinese-setup.htm"&gt;Pinyin Joe's Ubuntu Linux Chinese setup&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1783712897454123066?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1783712897454123066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1783712897454123066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1783712897454123066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1783712897454123066'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/joes-ubuntu-chinese-setup-tips.html' title='Joe&apos;s Chinese setup tips in Ubuntu'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-9158818123330110281</id><published>2009-08-10T02:01:00.000-07:00</published><updated>2009-08-10T02:06:54.763-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>virtual memory and The Thing King</title><content type='html'>Knowing how Virtual Memory works is very useful in programming. Jeff Berryman's explanation from  1972 of the basics is just too useful to get started.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Thing King and the Paging Game&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Note: This note is a formal non-working paper of the Project MAC Computer Systems Research Division. It should be reproduced and distributed wherever levity is lacking, and may be referenced at your own risk in other publications.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Rules&lt;br /&gt;1.Each player gets several million things.&lt;br /&gt;2.Things are kept in crates that hold 4096 things each. Things in the same crate are called crate-mates.&lt;br /&gt;3.Crates are stored either in the workshop or the warehouses. The workshop is almost always too small to hold all the crates.&lt;br /&gt;4.There is only one workshop but there may be several warehouses. Everybody shares them.&lt;br /&gt;5.Each thing has its own thing number.&lt;br /&gt;6.What you do with a thing is to zark it. Everybody takes turns zarking.&lt;br /&gt;7.You can only zark your things, not anybody else’s.&lt;br /&gt;8.Things can only be zarked when they are in the workshop.&lt;br /&gt;9.Only the Thing King knows whether a thing is in the workshop or in a warehouse.&lt;br /&gt;10.The longer a thing goes without being zarked, the grubbier it is said to become.&lt;br /&gt;11.The way you get things is to ask the Thing King. He only gives out things by the crateful. This is to keep the royal overhead down.&lt;br /&gt;12.The way you zark a thing is to give its thing number. If you give the number of a thing that happens to be in a workshop it gets zarked right away. If it is in a warehouse, the Thing King packs the crate containing your thing back into the workshop. If there is no room in the workshop, he first finds the grubbiest crate in the workshop, whether it be yours or somebody else’s, and packs it off with all its crate-mates to a warehouse. In its place he puts the crate containing your thing. Your thing then gets zarked and you never know that it wasn’t in the workshop all along.&lt;br /&gt;13.Each player’s stock of things have the same numbers as everybody else’s. The Thing King always knows who owns what thing and whose turn it is, so you can’t ever accidentally zark somebody else’s thing even if it has the same thing number as one of yours.&lt;br /&gt;Notes&lt;br /&gt;1.Traditionally, the Thing King sits at a large, segmented table and is attended to by pages (the so-called “table pages”) whose job it is to help the king remember where all the things are and who they belong to.&lt;br /&gt;2.One consequence of Rule 13 is that everybody’s thing numbers will be similar from game to game, regardless of the number of players.&lt;br /&gt;3.The Thing King has a few things of his own, some of which move back and forth between workshop and warehouse just like anybody else’s, but some of which are just too heavy to move out of the workshop.&lt;br /&gt;4.With the given set of rules, oft-zarked things tend to get kept mostly in the workshop while little-zarked things stay mostly in a warehouse. This is efficient stock control.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-9158818123330110281?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/9158818123330110281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=9158818123330110281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/9158818123330110281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/9158818123330110281'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/virtual-memory-and-thing-king.html' title='virtual memory and The Thing King'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2955542881545226623</id><published>2009-08-06T02:02:00.000-07:00</published><updated>2009-08-06T02:18:20.697-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>const pointer and pointer to a const</title><content type='html'>Here is a good question; What's the different between:&lt;br /&gt;a) const char* c;&lt;br /&gt;b) char* const c;&lt;br /&gt;&lt;br /&gt;Answer:&lt;br /&gt;A pointer is itself a variable which holds a memory address of another variable - it can be used as a "handle" to the variable whose address it holds.&lt;br /&gt;&lt;br /&gt;a) This is a changeable handle/pointer to a const variable.&lt;br /&gt;b) This is a const handle/pointer to a changeable variable.&lt;br /&gt;&lt;br /&gt;This example might explain better:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 200px; text-align: left;"&gt;#include &lt;stdio.h&gt;&lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt; int for_a = 100;&lt;br /&gt; int for_b = 200;&lt;br /&gt; int for_test = 300;&lt;br /&gt;&lt;br /&gt; const int* a = &amp;amp;for_a;&lt;br /&gt; int* const b = &amp;amp;for_b;&lt;br /&gt;&lt;br /&gt; a++; // allowed&lt;br /&gt; a--;&lt;br /&gt;//    *a = for_test; // not allowed: "assignment of read-only location"&lt;br /&gt;&lt;br /&gt;//    b++; // not allowed: "increment of read-only variable"&lt;br /&gt; *b = for_test; // allowed&lt;br /&gt;&lt;br /&gt; printf("Value of *a = %d, value of *b = %d  \n", *a, *b);&lt;br /&gt;&lt;br /&gt; return 1;&lt;br /&gt;}&lt;br /&gt;&lt;/stdio.h&gt;&lt;/stdio.h&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Irrelevant, but then 'const char* const c;' would mean a non-changeable pointer to a non-changeable variable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2955542881545226623?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2955542881545226623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2955542881545226623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2955542881545226623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2955542881545226623'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/const-pointer-and-pointer-to-const.html' title='const pointer and pointer to a const'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3974211424041990407</id><published>2009-08-05T17:11:00.000-07:00</published><updated>2009-08-10T01:56:38.215-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>what does segmentation fault mean?</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_OfjUoE_DRWs/Sn_glk0TwJI/AAAAAAAABqs/JPOAC8NExio/s1600-h/warning.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 135px; FLOAT: left; HEIGHT: 113px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5368256216991776914" border="0" alt="" src="http://3.bp.blogspot.com/_OfjUoE_DRWs/Sn_glk0TwJI/AAAAAAAABqs/JPOAC8NExio/s320/warning.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Probably the best explanation of program memory I have seen is this article:&lt;br /&gt;&lt;a href="http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory"&gt;Anatomy of a Program Memory&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;Once you understand the program memory, you get a better idea what causes a "segmentation fault:&lt;br /&gt;&lt;br /&gt;In summary, the major reasons for a segmentation fault are:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;a) Trying to read from or write to addresses in kernel space of your program memory.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;b) Trying to feed to push to the stack more data that it can fit.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;c) Trying to write to the text segment of the process memory (text segment is where the binary image of the process is stored).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;d) Trying to access unallocated memory.&lt;br /&gt;When you ask for memory from the OS, the kernel creates an entry for you in the VMA - Virtual Memory Area. If you try to access a address in the memory and not suitable VMA exists for it, your program is going to have the segmentation fault. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3974211424041990407?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3974211424041990407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3974211424041990407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3974211424041990407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3974211424041990407'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/what-does-segmentation-fault-mean.html' title='what does segmentation fault mean?'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/Sn_glk0TwJI/AAAAAAAABqs/JPOAC8NExio/s72-c/warning.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-541490066820109276</id><published>2009-08-05T11:40:00.000-07:00</published><updated>2009-08-05T11:53:47.937-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>extern/static in function declaration</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;I have never really paid attention to the 'extern' keyword in a function declaration, so here is my understanding of this.&lt;/span&gt;&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;In C:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;In the simplest form, the 'extern' keyword changes the linkage so that the resolving is deferred to the linker. It is assumed that the function is defined/available somewhere else. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Whereas a 'static' keyword when declaring a function, it makes the function local to that file. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eskimo.com/%7Escs/cclass/notes/sx5b.html"&gt;&lt;span style="font-family: arial;"&gt;I suppose if you don't use the extern/static keyword when declaring the function, it defaults to extern. &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;static c variables are of course different than non-static variables.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-weight: bold;"&gt;In C++:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;'static' functions in C++ have a very different usage. A static member function of a class is generally called without having to instantiate an object of the class. This is same for the static member variables of the class as well. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;The static functions do have their limitations:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;font-family:Arial, Helvetica, sans-serif;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: arial;font-family:Arial, Helvetica, sans-serif;font-size:100%;"  &gt;A static member function can access only static member data, static member functions and  data and functions outside the class.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;A static member function cannot be declared virtual, whereas a non-static member functions can be declared as virtual.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;A static member function cannot have access to the 'this' pointer of the class.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-541490066820109276?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/541490066820109276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=541490066820109276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/541490066820109276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/541490066820109276'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/externstatic-in-function-declaration.html' title='extern/static in function declaration'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-1275132353124650347</id><published>2009-08-05T00:16:00.000-07:00</published><updated>2009-08-05T00:25:44.559-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>wubi and update to new release</title><content type='html'>I have been recommending &lt;a href="http://www.wubi-installer.org"&gt;Wubi&lt;/a&gt; to a lot of folks as a simple way to switch to using Ubuntu without having to worry about partitioning, etc. &lt;a href="http://en.wikipedia.org/wiki/Wubi_%28installer%29"&gt;Wikipedia&lt;/a&gt; has a pretty good write-up on Wubi.&lt;br /&gt;&lt;br /&gt;The problem, as I had expected, is that upgrading to a new release when available comes with a host of problems.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=977225"&gt;This&lt;/a&gt; discussion thread talk about the problem. It is fairly recent, so I don't think there is a solution for this yet. Does anybody have some different information?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1275132353124650347?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1275132353124650347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1275132353124650347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1275132353124650347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1275132353124650347'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/wubi-and-update-to-new-release.html' title='wubi and update to new release'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8803250851237489128</id><published>2009-08-04T15:53:00.000-07:00</published><updated>2009-08-04T16:00:55.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>which version?</title><content type='html'>I keep having to look up which version of the distribution I am running and like every thing Linux, every distribution has decided to use it's own way.&lt;br /&gt;&lt;br /&gt;For Ubuntu:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 88px; text-align: left;"&gt;# cat /etc/lsb-release&lt;br /&gt;DISTRIB_ID=Ubuntu&lt;br /&gt;DISTRIB_RELEASE=8.04&lt;br /&gt;DISTRIB_CODENAME=hardy&lt;br /&gt;DISTRIB_DESCRIPTION="Ubuntu 8.04.3 LTS"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For RedHat/Fedora:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 66px; text-align: left;"&gt;&lt;br /&gt;#cat /etc/redhat-release&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For SUSE:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 3px; overflow: auto; width: 98%; height: 66px; text-align: left;"&gt;$ cat /etc/SuSE-release&lt;br /&gt;openSUSE 11.1 (i586)&lt;br /&gt;VERSION = 11.1&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8803250851237489128?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8803250851237489128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8803250851237489128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8803250851237489128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8803250851237489128'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/08/which-version.html' title='which version?'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7092650636684381400</id><published>2009-07-27T17:26:00.000-07:00</published><updated>2009-07-27T17:27:44.848-07:00</updated><title type='text'>the power of sudo</title><content type='html'>&lt;a href="http://imgs.xkcd.com/comics/sandwich.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 360px; DISPLAY: block; HEIGHT: 299px; CURSOR: hand" border="0" alt="" src="http://imgs.xkcd.com/comics/sandwich.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7092650636684381400?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7092650636684381400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7092650636684381400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7092650636684381400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7092650636684381400'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/07/power-of-sudo.html' title='the power of sudo'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3980368651660221739</id><published>2009-07-26T12:12:00.001-07:00</published><updated>2009-07-26T12:16:05.775-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>msft drivers for Linux</title><content type='html'>This has been all over tech news last week. Microsoft contributing code to the kernel (GPL for the first time). The drivers help Linux run better on a Windows host.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.cnet.com/8301-13860_3-10290818-56.html"&gt;http://news.cnet.com/8301-13860_3-10290818-56.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I like the note at the bottom of the article...&lt;br /&gt;"For those that want to hear Microsoft's take on the news, here's a video of Hanrahan discussing the move with Sam Ramji, the company's senior director of platform strategy. (Note: Silverlight is required.) "&lt;br /&gt;&lt;br /&gt;Irony anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3980368651660221739?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3980368651660221739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3980368651660221739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3980368651660221739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3980368651660221739'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/07/msft-drivers-for-linux.html' title='msft drivers for Linux'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-587543240860796384</id><published>2009-07-16T16:06:00.000-07:00</published><updated>2009-07-16T16:10:31.474-07:00</updated><title type='text'>crowdsourcing to find answers</title><content type='html'>&lt;iframe src="http://stackoverflow.com/users/flair/95758.html?theme=clean" marginwidth="0" marginheight="0"         frameborder="0"  scrolling="no" width="210px" height="60px"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;I have been using &lt;a href="http://www.stackoverflow.com/"&gt;stackoverflow&lt;/a&gt; every so often to get answers and it's generally to questions others have asked.&lt;br /&gt;&lt;br /&gt;Figured it's finally time to get a little more proactive in looking for answers by asking the questions myself.&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/1134931/reading-understanding-third-party-code"&gt;http://stackoverflow.com/questions/1134931/reading-understanding-third-party-code&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-587543240860796384?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/587543240860796384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=587543240860796384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/587543240860796384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/587543240860796384'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/07/crowdsourcing-to-find-answers.html' title='crowdsourcing to find answers'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8330998905813384388</id><published>2009-07-16T15:55:00.000-07:00</published><updated>2009-07-16T16:05:23.842-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>use gcc to help you deprecate methods/functions in c/c++</title><content type='html'>Every so often you need to deprecate/remove/rename classes and functions in a very large project. Rather than grep'ing your way through the large source tree and trial-&amp;amp;-error method of compiling the project, a good way to do this would be to use the __attribute__ macro.&lt;br /&gt;&lt;br /&gt;You assign the "deprecated" attribute to the variables, functions, methods that you plan to phase out.&lt;br /&gt;&lt;br /&gt;GCC will  cause a warning at all the places it is called.&lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;class Foo {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;public:    Foo() __attribute__((deprecated)) {}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The thing to check would be that you are not using &lt;a href="http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Warning-Options.html#index-Wno_002ddeprecated_002ddeclarations-417" rel="nofollow"&gt;-Wno-deprecated-declarations&lt;/a&gt; when building.&lt;br /&gt;&lt;br /&gt;Since I recently switched over to using &lt;a href="http://www.netbeans.org/"&gt;NetBeans&lt;/a&gt;, I can do a "Find Usages" in the entire project, but very often your project only covers the part of the code base you personally have been working on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8330998905813384388?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8330998905813384388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8330998905813384388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8330998905813384388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8330998905813384388'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/07/use-gcc-to-help-you-deprecate.html' title='use gcc to help you deprecate methods/functions in c/c++'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2937960017679185266</id><published>2009-07-15T10:17:00.000-07:00</published><updated>2009-07-15T10:23:19.425-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>MontaVista 1-second boot</title><content type='html'>It is impressive when you can boot within a second, even in an embedded environment. MontaVista is marketing the right feature in this video.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-l_DSZe8_F8&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/-l_DSZe8_F8&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Obviously this is difficult to achieve on different architectures with storage devices and need to load drivers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2937960017679185266?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2937960017679185266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2937960017679185266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2937960017679185266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2937960017679185266'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/07/montavista-1-second-boot.html' title='MontaVista 1-second boot'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6790812407279447120</id><published>2009-07-05T13:40:00.000-07:00</published><updated>2009-07-05T13:45:53.115-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>openproj</title><content type='html'>I recently tried out OpenProj and it worked well for some minimal stuff. It seems to be feature rich and useful to open MSProject files as well.&lt;br /&gt;&lt;br /&gt;Check it out at &lt;a href="http://openproj.org/"&gt;http://openproj.org/&lt;/a&gt; or on &lt;a href="http://sourceforge.net/projects/openproj/"&gt;sourceforge&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;OpenProj by Serena Software is a desktop replacement of Microsoft Project. OpenProj has equivalent functionality, a familiar user interface and even opens existing MSProject files. OpenProj is interoperable with Project, with a Gantt Chart and PERT chart.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6790812407279447120?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6790812407279447120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6790812407279447120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6790812407279447120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6790812407279447120'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/07/openproj.html' title='openproj'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2484117218117859106</id><published>2009-07-04T10:05:00.000-07:00</published><updated>2009-07-04T20:19:21.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>wchar and unicode</title><content type='html'>Instead of using the standard ASCII characters, there is sometimes a need to support an alphabet that has more than 256 (2^8) characters. That is where you use Unicode where every character is 16 bits, thus giving you 65536 (2^16) characters.&lt;br /&gt;&lt;br /&gt;In C for example, a wchar would be a Unicode character. The regular C string functions won't work on Unicode strings, so instead you use the C runtime library functions available for Unicode strings, prefixed with wcs.&lt;br /&gt;Example: wcslen, wcscpy and such.&lt;br /&gt;&lt;br /&gt;Of course the C compiler and the runtime library must have support for Unicode if you plan to use it.&lt;br /&gt;&lt;br /&gt;You tell the C compiler that you plan to use Unicode through a macro:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;_UNICODE // Tell C we're using Unicode, notice the _&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#include &lt;/span&gt;&lt;/span&gt;&lt;wchar.h&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; // Include Unicode support functio&lt;/span&gt;&lt;/span&gt;ns&lt;br /&gt;&lt;br /&gt;Then define a Unicode string:&lt;br /&gt;&lt;/wchar.h&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;wchar_t string[] = L"Ubuntu rocks";&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;wchar.h&gt;The L macro tell the compiler that this is a Unicode literal and not a char (unsigned short) variable.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.opengroup.org/onlinepubs/007908775/xsh/wchar.h.html"&gt;Here&lt;/a&gt; is the wchar.h header file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/wchar.h&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2484117218117859106?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2484117218117859106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2484117218117859106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2484117218117859106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2484117218117859106'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/06/wchar-and-unicode.html' title='wchar and unicode'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5749380289894270372</id><published>2009-06-10T23:58:00.000-07:00</published><updated>2009-06-11T00:23:11.296-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>now reading</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SjCwyAaHi3I/AAAAAAAABns/DVQvzghcfjQ/s1600-h/sb-book-photo-front-medium.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 107px; height: 180px;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/SjCwyAaHi3I/AAAAAAAABns/DVQvzghcfjQ/s200/sb-book-photo-front-medium.png" alt="" id="BLOGGER_PHOTO_ID_5345967130838272882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's surprising how much fun it is getting free stuff!&lt;br /&gt;&lt;br /&gt;I received my free copy of "Best Kept Secrets of Peer Code Reivew" and it has been fun reading so far. I would recommend &lt;a href="http://smartbear.com/codecollab-code-review-book.php"&gt;getting yourself a free copy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On a related note, I was recently discussing the topic of how computer science and specifically programming courses are taught in schools/colleges/universities. Too little emphasis is placed on reading code and more is placed on writing code. I think realistically it should be the other way around. In the years of software engineering I have been doing, I have probably spent more time reading or understanding or reusing or modifying or removing code than writing. And that is a skill I had to unfortunately pick up once I started working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5749380289894270372?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5749380289894270372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5749380289894270372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5749380289894270372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5749380289894270372'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/06/now-reading.html' title='now reading'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://2.bp.blogspot.com/_OfjUoE_DRWs/SjCwyAaHi3I/AAAAAAAABns/DVQvzghcfjQ/s72-c/sb-book-photo-front-medium.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-44902205214809740</id><published>2009-06-09T12:06:00.000-07:00</published><updated>2009-06-09T12:08:52.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>useful link for crossplatform c++ development</title><content type='html'>Found this link in one of the replies on a &lt;a href="http://www.stackoverflow.com"&gt;StackOverflow&lt;/a&gt; question.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://predef.sourceforge.net/index.php"&gt;http://predef.sourceforge.net/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It has a lot of useful information and links if you need write code to run on multiple platforms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-44902205214809740?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/44902205214809740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=44902205214809740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/44902205214809740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/44902205214809740'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/06/useful-link-for-crossplatform-c.html' title='useful link for crossplatform c++ development'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8889263899543826741</id><published>2009-06-08T10:06:00.000-07:00</published><updated>2009-06-08T10:14:23.931-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>mcelog</title><content type='html'>At work, I have to decode kernel panics on 64-bit systems occasionally.&lt;br /&gt;&lt;br /&gt;`&lt;a href="http://freshmeat.net/projects/mcelog/"&gt;mcelog&lt;/a&gt;´ it seems could be a useful tool.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mcelog decodes machine check events (hardware errors) on x86-64 machines running a 64-bit Linux kernel. It should be run regularly as a cron job on any x86-64 Linux system (if it is not in the default packages on your x86-64 distribution, please complain to your distributor). It can also decode machine check panic messages from console logs.&lt;/blockquote&gt;I don't have a good example on it´s usage, but on one of my systems, I noticed this in /var/log/mcelog (the cron script is setup to write to /var/log/mcelog in Fedora distributions).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;MCE 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;HARDWARE ERROR. This is *NOT* a software problem!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Please contact your hardware vendor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;CPU 2 BANK 3 TSC c82ff2586f6b0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ADDR 219540 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;STATUS 942000470001010a MCGSTATUS 0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8889263899543826741?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8889263899543826741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8889263899543826741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8889263899543826741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8889263899543826741'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/06/mcelog.html' title='mcelog'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-4773686886611492930</id><published>2009-06-02T09:36:00.000-07:00</published><updated>2009-06-02T09:53:08.920-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><title type='text'>ss - clear TCP and UDP socket information</title><content type='html'>&lt;span style="font-family: arial;"&gt;The &lt;/span&gt;&lt;a style="font-family: arial;" href="http://linux.die.net/man/8/ss"&gt;ss&lt;/a&gt;&lt;span style="font-family: arial;"&gt; command gives very detailed TCP and UDP sockets information and can be useful when breaking down the information that &lt;/span&gt;&lt;a style="font-family: arial;" href="http://linux.die.net/man/8/netstat"&gt;netstat&lt;/a&gt;&lt;span style="font-family: arial;"&gt; provides.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Most useful options are:&lt;/span&gt;&lt;br /&gt;&lt;dl style="font-family: arial;" compact="compact"&gt;&lt;dt&gt;-m, --memory &lt;/dt&gt;&lt;dd&gt;Show socket memory usage. &lt;/dd&gt;&lt;dt&gt;-p, --processes &lt;/dt&gt;&lt;dd&gt;Show process using socket. &lt;/dd&gt;&lt;dt&gt;-i, --info &lt;/dt&gt;&lt;dd&gt;Show internal TCP information.&lt;/dd&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-4773686886611492930?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/4773686886611492930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=4773686886611492930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4773686886611492930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4773686886611492930'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/06/ss-clear-tcp-and-udp-socket-information.html' title='ss - clear TCP and UDP socket information'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5373723756070063163</id><published>2009-05-26T17:37:00.001-07:00</published><updated>2009-05-26T17:44:53.797-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>neat link trick</title><content type='html'>I wonder why more web pages that have instructions on how to install/configure/setup stuff in Ubuntu don´t use this trick. Apparently, you can use Firefox to install applications.&lt;br /&gt;&lt;br /&gt;For example this: &lt;a href="apt://compizconfig-settings-manager"&gt;apt:compizconfig-settings-manager&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I might be wrong, but it seems all you need is to setup the hyper-link to ¨apt://&lt;app-name&gt;¨. Neat.&lt;br /&gt;&lt;/app-name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5373723756070063163?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5373723756070063163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5373723756070063163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5373723756070063163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5373723756070063163'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/05/neat-link-trick.html' title='neat link trick'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-35746815579573205</id><published>2009-05-26T17:28:00.000-07:00</published><updated>2009-05-26T17:32:29.971-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><title type='text'>c++filt</title><content type='html'>Every now and then when debugging some source code in c++, I come across mangled function names.&lt;br /&gt;&lt;br /&gt;You can use c++filt to demangle the junk you see into recognizable user-level function names.&lt;br /&gt;&lt;br /&gt;The theory is that the function names get mangled due to overloading. From the man page - ¨All C++ and Java function names are encoded into a low-level assembly label (this process is known as &lt;dfn&gt;mangling&lt;/dfn&gt;). The &lt;span class="command"&gt;c++filt&lt;/span&gt;&lt;a rel="footnote" href="http://sourceware.org/binutils/docs-2.16/binutils/c_002b_002bfilt.html#fn-1" name="fnd-1"&gt;&lt;/a&gt; program does the inverse mapping: it decodes (&lt;dfn&gt;demangles&lt;/dfn&gt;) low-level names into user-level names so that the linker can keep the overloaded functions from clashing.¨&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-35746815579573205?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/35746815579573205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=35746815579573205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/35746815579573205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/35746815579573205'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/05/cfilt.html' title='c++filt'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6101494112347884253</id><published>2009-05-26T17:17:00.000-07:00</published><updated>2009-05-26T17:27:37.515-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>mouting a cifs server that you can access</title><content type='html'>Itś troubling that I had to do a lot of searching do be able to do something as simple as this:&lt;br /&gt;a) On my Ubuntu desktop, mount a cifs server where I have an account as a user ¨xyz¨.&lt;br /&gt;b) Access the mount with my Ubuntu desktop user account ¨abc¨.&lt;br /&gt;&lt;br /&gt;I suppose I don´t clearly understand the problem. The issue as I see it is that you can only mount using sudo. And once mounted, the local Ubuntu account cannot access it without having hte right permissions on the mount point.&lt;br /&gt;&lt;br /&gt;I had to do the following:&lt;br /&gt;a) The local mount point/directory needs to have the permissions for ¨abc¨.&lt;br /&gt;b) ¨&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo mount -t cifs /cifs_server/xyz_account /mnt/local_mount_point -o rw,nosuid,nodev,noatime,uid=1000,umask=077&lt;/span&gt;&lt;/span&gt;¨&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6101494112347884253?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6101494112347884253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6101494112347884253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6101494112347884253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6101494112347884253'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/05/mouting-cifs-server-that-you-can-access.html' title='mouting a cifs server that you can access'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7321605209424618497</id><published>2009-04-24T09:48:00.000-07:00</published><updated>2009-04-24T09:55:06.748-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Let's get Jaunty</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OfjUoE_DRWs/SfHuDoOH4fI/AAAAAAAABkc/NfwK2rvwsDw/s1600-h/Distribution+Upgrade.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 165px;" src="http://1.bp.blogspot.com/_OfjUoE_DRWs/SfHuDoOH4fI/AAAAAAAABkc/NfwK2rvwsDw/s200/Distribution+Upgrade.png" alt="" id="BLOGGER_PHOTO_ID_5328301580259680754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am currently upgrading one of my desktops to Jaunty. It is a system I use at work and for the longest time it was running 8.04 which I was happy with.&lt;br /&gt;&lt;br /&gt;Then I read about &lt;a href="http://do.davebsd.com/"&gt;GNOME Do&lt;/a&gt; in 8.10, and was tempted to upgrade so that I stop using katapult. However, my experience with 8.10 wasn't very satisfactory. There were a couple of X Windows crashes which I did not have time to look into.&lt;br /&gt;&lt;br /&gt;Anyways, I decided to give 9.04 a shot.&lt;br /&gt;&lt;br /&gt;On a related note, I came across &lt;a href="http://news.cnet.com/8301-1001_3-10226746-92.html?tag=mncol;posts"&gt;this&lt;/a&gt; article on how Jaunty Jackalope (9.04) is "as slick as Windows 7 and Mac OS X". Not sure if that is the experience that I am looking for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7321605209424618497?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7321605209424618497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7321605209424618497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7321605209424618497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7321605209424618497'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/04/lets-get-jaunty.html' title='Let&apos;s get Jaunty'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SfHuDoOH4fI/AAAAAAAABkc/NfwK2rvwsDw/s72-c/Distribution+Upgrade.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-4609350875941067888</id><published>2009-04-14T16:09:00.000-07:00</published><updated>2009-04-14T16:13:15.719-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Free Ubuntu eBooks</title><content type='html'>&lt;a href="http://www.ubuntugeek.com/free-ubuntu-linux-e-books.html"&gt;This link&lt;/a&gt; has a list free (as in speech) Ubuntu eBooks.&lt;br /&gt;&lt;br /&gt;I have never read or even flipped through a Linux distribution book, so I am not sure how useful these are. I suppose one of these days I have to stop relying on google search to give me answers and actually pick up/print a book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-4609350875941067888?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/4609350875941067888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=4609350875941067888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4609350875941067888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4609350875941067888'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/04/free-ubuntu-ebooks.html' title='Free Ubuntu eBooks'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7821368001054934432</id><published>2009-04-13T22:35:00.000-07:00</published><updated>2009-05-26T18:07:57.502-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>stacktrace</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OfjUoE_DRWs/ShySJeoQLBI/AAAAAAAABls/VGeHb5yQYj0/s1600-h/stack.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 133px; height: 200px;" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/ShySJeoQLBI/AAAAAAAABls/VGeHb5yQYj0/s200/stack.jpg" alt="" id="BLOGGER_PHOTO_ID_5340303949692939282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;One of the quickest ways to debug code is to be able to tell how you got to a certain point in your code. So it is useful to be able to dump a backtrace/stacktrace at any point in your code.&lt;br /&gt;&lt;br /&gt;I think you can find really good resources elsewhere to understand what a program stack is (for example &lt;a href="http://stackoverflow.com/questions/79923/what-and-where-are-the-stack-and-heap"&gt;this&lt;/a&gt; or &lt;a href="http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory"&gt;this&lt;/a&gt;), so I won´t get into it. As a side note, those two links are some of the best ones I have found to understanding program memory and the difference between program heap and stack.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In C/C++:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linuxjournal.com/article/6391"&gt;This&lt;/a&gt; article gives really good information.&lt;br /&gt;In summary, glibc provides &lt;span style="font-family:courier new;"&gt;backtrace()&lt;/span&gt; and &lt;span style="font-family:courier new;"&gt;backtrace_symbols()&lt;/span&gt; to do this quickly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In JAVA:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use the very useful Throwable class with your logging.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;Throwable t = new Throwable();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Log.getStackTraceString(t));&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7821368001054934432?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7821368001054934432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7821368001054934432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7821368001054934432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7821368001054934432'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/04/backtrace.html' title='stacktrace'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/ShySJeoQLBI/AAAAAAAABls/VGeHb5yQYj0/s72-c/stack.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-2389897885008260287</id><published>2009-04-13T22:28:00.000-07:00</published><updated>2009-04-13T22:34:32.707-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><title type='text'>ld-linux.so.2</title><content type='html'>When running your application, the shared libraries will be searched in wherever the LD_LIBRARY_PATH environment variable is pointing to.&lt;br /&gt;&lt;br /&gt;However, sometimes when running applications that your receive with a specific library, you could use another way to indicate just that. ld-linux.so.2 is the Linux ELF program loader. It has a few options, but for our use, we need the --library-path option.&lt;br /&gt;&lt;br /&gt;  --list                list all dependencies and how they are resolved&lt;br /&gt;  --verify              verify that given object really is a dynamically linked&lt;br /&gt;                        object we can handle&lt;br /&gt;  --library-path PATH   use given PATH instead of content of the environment&lt;br /&gt;                        variable LD_LIBRARY_PATH&lt;br /&gt;  --inhibit-rpath LIST  ignore RUNPATH and RPATH information in object names&lt;br /&gt;                        in LIST&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;# /lib/ld-linux.so.2 --library-path my/shared/libs my_app&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2389897885008260287?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2389897885008260287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2389897885008260287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2389897885008260287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2389897885008260287'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/04/ld-linuxso2.html' title='ld-linux.so.2'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-4696468217568078207</id><published>2009-03-06T16:29:00.000-08:00</published><updated>2009-03-10T14:27:27.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>write in C</title><content type='html'>&lt;p&gt;Nerdy and funny.....he is right, 'Write in C'&lt;/p&gt;&lt;p&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XHosLhPEN3k&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/XHosLhPEN3k&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-4696468217568078207?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/4696468217568078207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=4696468217568078207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4696468217568078207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4696468217568078207'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/03/write-in-c.html' title='write in C'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-1663970086700307835</id><published>2009-03-03T11:38:00.001-08:00</published><updated>2009-03-04T11:01:54.768-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><title type='text'>wordpress - disable/enable comments on all posts</title><content type='html'>Since I finally got a chance to enable &lt;a href="http://recaptcha.net/plugins/wordpress/"&gt;CAPTCHA&lt;/a&gt; on my personal blog which uses wordpress, I needed a quick to way to turn on comments that I had disabled for my posts.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lancelhoff.com/enable-or-disable-comments-on-all-posts-in-one-step/"&gt;This&lt;/a&gt; tutorial was good, but I do not have myPhpAdmin.&lt;br /&gt;&lt;br /&gt;So, my steps were:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mysql -u &lt;my_user_name&gt;-p &lt;my_wordpress_db_name&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mysql&gt; show tables; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;+--------------------+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;tables in .... &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;+--------------------+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;find&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mysql&gt; UPDATE wp_posts p SET comment_status = 'open' ping_status = 'open' where comment_status = 'closed';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:+0;"&gt;Of course, to reverse this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mysql&gt; UPDATE wp_posts p SET comment_status = 'closed' ping_status = 'closed' where comment_status = 'open';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;worked like a charm.&lt;br /&gt;&lt;br /&gt;--- Addition&lt;br /&gt;&lt;br /&gt;Enabling comments was fine, but the SpamBots are now abusing the trackbacks option. So, I need to disable trackbacks too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mysql&gt; UPDATE wp_options SET option_value = 'closed' WHERE wp_options.option_id =20 AND wp_options.blog_id =0;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1663970086700307835?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1663970086700307835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1663970086700307835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1663970086700307835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1663970086700307835'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/03/wordpress-disableenable-comments-on-all.html' title='wordpress - disable/enable comments on all posts'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3730404611803920701</id><published>2009-02-24T18:10:00.000-08:00</published><updated>2009-02-24T18:39:01.140-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu and Eclipse and svn</title><content type='html'>In the last two months, I have been spending some time developing phone applications in JAVA and using Eclipse as the IDE. Not having ever written in JAVA before, I cannot even imagine how long the whole development process would have taken was it not for the IDE.&lt;br /&gt;&lt;br /&gt;So far in my development life, all my C/C++ code writing has required:&lt;br /&gt;- a Linux system (i.e 'grep')&lt;br /&gt;- ssh access to the build server (with right kernel, glibc, gcc version)&lt;br /&gt;- vim + ctags for source code&lt;br /&gt;- valgrind for finding memory leaks&lt;br /&gt;- gdb for deugging&lt;br /&gt;&lt;br /&gt;So the whole Eclipse+JAVA experience got me thinking if I could get any benefit from using a Eclipse for a large C++ project that I am involved with at work. Maybe it will at least help prevent &lt;a href="http://en.wikipedia.org/wiki/Carpal_tunnel_syndrome"&gt;carpal-tunnel&lt;/a&gt; from having to grep the life out of the project.&lt;br /&gt;&lt;br /&gt;It seems the default Eclipse install for Ubuntu 8.04 is version 3.2 which is fairly old. So, it is best to download the &lt;a href="http://www.eclipse.org/downloads/"&gt;newest version &lt;/a&gt;rather than use apt-get.&lt;br /&gt;&lt;br /&gt;Next challenge was to get &lt;a href="http://subclipse.tigris.org/servlets/ProjectProcess;jsessionid=2CFDC851975CF076A5AC852172B907B5?pageID=p4wYuA"&gt;Subversion plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Apparently, trying to add the svn plugin kept giving me an error&lt;br /&gt;"&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;An error occured during provisioning.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Cannot connect to keystore.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;JKS&lt;/span&gt;&lt;br /&gt;"&lt;br /&gt;&lt;br /&gt;Fortunately, some google searching pointed me to the fix. The plugin install needs Java 1.6 or newer. Also, the Java 1.6 has to be the default JRE which most likely it wont' be even after doing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;sudo apt-get install sun-java6-bin sun-java6-jdk &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Ubuntu Java Installation documentation explains how to select the default Java version on your system.&lt;br /&gt;&lt;br /&gt;You could use&lt;br /&gt;&lt;span style="font-size:85%;"&gt;update-java-alternatives -l &lt;/span&gt;&lt;br /&gt;or&lt;br /&gt;manually pick the java-6-sun using &lt;span style="font-family:courier new;font-size:85%;"&gt;sudo update-alternatives --config java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oh well, I now finally have the C++ project under Eclipse pulled in from svn, I can at least browse the code.&lt;br /&gt;&lt;br /&gt;Also, if anybody is looking for suggestions on what other developers perfer when doing C++ coding, check out this &lt;a href="http://stackoverflow.com/questions/17228/what-tools-do-you-use-to-develop-c-applications-on-linux"&gt;stackoverflow link&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3730404611803920701?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3730404611803920701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3730404611803920701' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3730404611803920701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3730404611803920701'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/ubuntu-and-eclipse-and-svn.html' title='Ubuntu and Eclipse and svn'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6568434974656182731</id><published>2009-02-20T16:46:00.001-08:00</published><updated>2009-02-20T17:04:40.544-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>testing software systems with a GUI</title><content type='html'>I am not a QA engineer or play one in my professional life, but I read/heard this somewhere recently and it makes sense.&lt;br /&gt;&lt;br /&gt;If you are testing a software or a system &lt;em&gt;with a&lt;/em&gt; GUI, don't test the software or the system functionality &lt;em&gt;using&lt;/em&gt; the GUI. Develop alternate methods to do that. Just devote separate efforts to testing the GUI itself, since there is enough logic and code to build the GUI itself that need to be tested.&lt;br /&gt;&lt;br /&gt;I believe a "Unix way of software development" is to build a command line interface as a first step to any future GUI enhancements. That gives you a perfect seperation between functionality and GUI and gives you a good avenue to do testing.&lt;br /&gt;&lt;br /&gt;Also part of that same note was this nice line where the author said, the Unix-way of development does has its con in that it does not necessarily lead to a great app, because the GUI almost follows the comamnd line. The solution; if you disabled the command line access for all Unix programmers in the world, you will have a substantial imporvement in the GUI quality of those applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6568434974656182731?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6568434974656182731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6568434974656182731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6568434974656182731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6568434974656182731'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/testing-software-systems-with-gui.html' title='testing software systems with a GUI'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-834421762018433488</id><published>2009-02-19T16:06:00.000-08:00</published><updated>2009-02-19T16:14:36.892-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><title type='text'>open source venture funding</title><content type='html'>Since I am a sucker for all things open source, I found &lt;a href="http://blogmaverick.com/2009/02/09/the-mark-cuban-stimulus-plan-open-source-funding/"&gt;a recent post&lt;/a&gt; by Mark Cuban on his blog challenging anybody with an idea to submit a business plan and be funded instantly very interesting.&lt;br /&gt;&lt;br /&gt;As he puts it..... &lt;blockquote&gt;You must post your business plan here on my blog where I expect other people can and will comment on it. I also expect that other people will steal the idea and use it elsewhere. That is the idea. Call this an open source funding environment.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Pretty cool challenge. I expect a lot of phone applications that will meet the 13 criterias listed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-834421762018433488?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/834421762018433488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=834421762018433488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/834421762018433488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/834421762018433488'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/open-source-venture-funding.html' title='open source venture funding'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5623577951148229458</id><published>2009-02-19T15:53:00.000-08:00</published><updated>2009-02-19T16:06:02.513-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>grub error 17</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_OfjUoE_DRWs/SZ3zsslKC5I/AAAAAAAABhA/4fLci9F3yRA/s1600-h/warning.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5304663885319113618" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 75px; CURSOR: hand; HEIGHT: 66px" alt="" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/SZ3zsslKC5I/AAAAAAAABhA/4fLci9F3yRA/s200/warning.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I finally managed to free up an old system at work and put it in the lab so that others on my team can start getting comfortable using a Linux desktop. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I installed 8.04 since I am still a little wary of 8.10. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;A very simple install with just a single root partition and a swap partition. Things seemed fine, for a few days after which the system just locked up. After forcing a power cycle, grub complained saying "Error 17".&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A quick google search will tell you that this has something to do with the hard-disk. Probably a failed disk or at the very least some errors. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Fortunately it was just the case of errors on the disk which I was able to fix by booting the live-cd and doing the following:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;sudo -s&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;fdisk -l # to figure out the root partition.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ext3fsck -y /dev/sda2 # to find and fix disk errors &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;fsck found and fixed a few errors. The subsequent reboot was fine. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Searching for the error on google, showed a good discussion on the Ubuntu forums about another case when you might run into this error after a fresh install. Probably the case if you have multiple disks and/or more partitions. Check it out:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=442945"&gt;http://ubuntuforums.org/showthread.php?t=442945&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5623577951148229458?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5623577951148229458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5623577951148229458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5623577951148229458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5623577951148229458'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/grub-error-17.html' title='grub error 17'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/SZ3zsslKC5I/AAAAAAAABhA/4fLci9F3yRA/s72-c/warning.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-4411512333366454295</id><published>2009-02-16T22:00:00.000-08:00</published><updated>2009-02-16T22:13:43.472-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>wubi and booting error</title><content type='html'>I have been running 8.04 at work using &lt;a href="http://wubi-installer.org/"&gt;wubi&lt;/a&gt; and it has been working like a charm since the last 6 months.&lt;br /&gt;&lt;br /&gt;However, I just ran into an issue where after a reboot, instead of booting, it dropped me into a busybox prompt. The problem was that grub could not find the initrd, probably  due to a few _corrupted_ disk sectors where wubi had my Ubuntu image installed.&lt;br /&gt;&lt;br /&gt;Simple fix, boot into Windows (hopefully that still works) and run 'chkdsk' on the drive.&lt;br /&gt;&lt;br /&gt;Oh well, the price you pay for not giving yourself a dedicated partition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-4411512333366454295?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/4411512333366454295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=4411512333366454295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4411512333366454295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4411512333366454295'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/wubi-and-booting-error.html' title='wubi and booting error'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6392658431852453914</id><published>2009-02-09T18:19:00.000-08:00</published><updated>2009-02-09T18:24:38.039-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><title type='text'>formating a drive for fat32</title><content type='html'>To quickly format a drive to fat32 (for Windows) use mkfs.msdos:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Example: &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: arial;"&gt;sudo mkfs.msdos -I -F 32 /dev/sdc&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Other formatting options:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: arial;"&gt;mkfs.bfs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.ext2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.minix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.reiserfs  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.cramfs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.ext3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.msdos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;mkfs.vfat&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6392658431852453914?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6392658431852453914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6392658431852453914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6392658431852453914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6392658431852453914'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/formating-drive-for-fat32.html' title='formating a drive for fat32'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3266066531504190848</id><published>2009-02-02T18:55:00.000-08:00</published><updated>2009-02-02T19:01:38.572-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu Pocket Guide</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SYey5Zr7-_I/AAAAAAAABfw/UaJ4-LsMee8/s1600-h/ubuntu-logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 100px; height: 90px;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/SYey5Zr7-_I/AAAAAAAABfw/UaJ4-LsMee8/s200/ubuntu-logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5298400185842138098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;One of the strongest reasons for Ubuntu's rise in popularity as the Linux desktop distribution of choice is that you can pretty much search for answers to any of your questions. In case the entire Internet is not enough to give you the information you are looking for, feel free to download this &lt;a href="http://www.cyberciti.biz/tips/ubuntu-pocket-guide-reference-pdf-book.html"&gt;Ubuntu Pocket Book and Reference Guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Free (as in open source) download!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3266066531504190848?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3266066531504190848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3266066531504190848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3266066531504190848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3266066531504190848'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/02/ubuntu-pocket-guide.html' title='Ubuntu Pocket Guide'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://2.bp.blogspot.com/_OfjUoE_DRWs/SYey5Zr7-_I/AAAAAAAABfw/UaJ4-LsMee8/s72-c/ubuntu-logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-5938896500876481800</id><published>2009-01-08T13:12:00.000-08:00</published><updated>2009-01-08T14:50:52.037-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Windows 7 eerily similar to Fedora</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OfjUoE_DRWs/SWZwhjZZ8wI/AAAAAAAABfY/jYeG61CPADo/s1600-h/Fedora-Core_3.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 160px;" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/SWZwhjZZ8wI/AAAAAAAABfY/jYeG61CPADo/s200/Fedora-Core_3.jpg" alt="" id="BLOGGER_PHOTO_ID_5289038534133019394" border="0" /&gt;&lt;/a&gt;    versus     &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SWZwPZ-Ev0I/AAAAAAAABfQ/hzYnJ08rLTE/s1600-h/Windows7.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/SWZwPZ-Ev0I/AAAAAAAABfQ/hzYnJ08rLTE/s200/Windows7.jpg" alt="" id="BLOGGER_PHOTO_ID_5289038222364819266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Seems like this will be the year for a &lt;a href="http://news.cnet.com/8301-10805_3-10136418-75.html?tag=newsLeadStoriesArea.1"&gt;Windows 7&lt;/a&gt; release.&lt;br /&gt;&lt;br /&gt;I haven't used Vista at all, and the last time I booted into XP was a while ago. But, the first thing that strikes me when I look at the screen shot is how similar it is to the Fedora look. Then again, it has been a while since I used Fedora either.&lt;br /&gt;&lt;br /&gt;If at all Windows was trying to pick up design inspirations, they should have just google'd '&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=ubuntu+screenshots&amp;amp;btnG=Google+Search&amp;amp;aq=f&amp;amp;oq="&gt;Ubuntu Screenshots&lt;/a&gt;'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5938896500876481800?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5938896500876481800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5938896500876481800' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5938896500876481800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5938896500876481800'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/01/windows-7-eerily-similar-to-fedora.html' title='Windows 7 eerily similar to Fedora'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/SWZwhjZZ8wI/AAAAAAAABfY/jYeG61CPADo/s72-c/Fedora-Core_3.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-2904815670319974084</id><published>2009-01-07T23:23:00.000-08:00</published><updated>2009-01-07T23:37:28.534-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>static variables in a C++ class</title><content type='html'>Certainly mature methods of software coding recommend that you avoid global variables. So sometimes you end up using static data members within C++.&lt;br /&gt;&lt;br /&gt;I recently learned this about using static variables in C++ classes. You need to define the static data member outside the class  declaration. Failure to do this results in a linker error, the reason being because without the definition the compiler doesn't know which translation unit (hence object file) the member is supposed to go.&lt;br /&gt;&lt;br /&gt;Sample code:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;foo.h&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;class bar {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    int getBar1();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    static int bar1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;foo.cpp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#include "foo.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;int bar::bar1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;....&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;One more reason why I don't consider myself a C++ programmer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2904815670319974084?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2904815670319974084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2904815670319974084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2904815670319974084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2904815670319974084'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/01/static-variables-in-c-class.html' title='static variables in a C++ class'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5425336296385674947</id><published>2009-01-07T23:14:00.001-08:00</published><updated>2009-01-07T23:22:50.117-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Flying Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SWWn8b2pMCI/AAAAAAAABfA/fq1GinH43Mc/s1600-h/flying.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 114px; height: 96px;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/SWWn8b2pMCI/AAAAAAAABfA/fq1GinH43Mc/s200/flying.gif" alt="" id="BLOGGER_PHOTO_ID_5288817994127454242" border="0" /&gt;&lt;/a&gt;As I am getting ready for a flight this weekend on Virgin America, I remembered something I read a few months back.&lt;br /&gt;&lt;br /&gt;The in-flight entertainment system on Virgin America, RED runs on Fedora/Red Hat Linux. Very cool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crunchgear.com/2008/03/27/all-about-linux-2008-penguins-fly-an-interview-with-charles-virgin-airs-head-of-in-flight-entertainment/"&gt;Here&lt;/a&gt; is a good interview with Charles Ogilvie, the Director of In-flight Entertainment and designer of RED. I am certainly looking forward to checking it out. At least there are still one or &lt;a href="http://remixconcepts.blogspot.com/2009/01/sexy-air-hostess-photos.html"&gt;two &lt;/a&gt;good reasons to fly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5425336296385674947?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5425336296385674947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5425336296385674947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5425336296385674947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5425336296385674947'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2009/01/flying-linux.html' title='Flying Linux'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://2.bp.blogspot.com/_OfjUoE_DRWs/SWWn8b2pMCI/AAAAAAAABfA/fq1GinH43Mc/s72-c/flying.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-155986044724971435</id><published>2008-09-07T23:51:00.000-07:00</published><updated>2009-01-08T00:16:00.122-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>once you go penguin, you don't go back</title><content type='html'>I was having a conversation with a colleague today who switched to Ubuntu a few months back and has not had to "boot into Windows since". Good deal, very much the kind of experience most people have once they start using Ubuntu. I have not yet switched to 8.10, but my experience with 8.04 has been exceptional. I still dual boot, but don't remember the last time I booted Windows.&lt;br /&gt;&lt;br /&gt;And since I am Windows b*tching, I can't believe that Dell charges something close to $160 if you are purchasing and customizing your spanking new system and want XP instead of Vista. Because nothing says freedom of choice like having to pay extra for an older version of a software.&lt;br /&gt;&lt;br /&gt;Not necessarily on topic, but had this &lt;a href="http://ostatic.com/blog/free-but-not-open-source-eight-must-have-tools"&gt;link&lt;/a&gt; bookmarked about best free (not open source) software to try out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-155986044724971435?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/155986044724971435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=155986044724971435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/155986044724971435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/155986044724971435'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/09/once-you-go-penguin-you-dont-go-back.html' title='once you go penguin, you don&apos;t go back'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6362259272614941081</id><published>2008-08-08T00:17:00.000-07:00</published><updated>2009-01-08T00:19:54.450-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>manually mounting the windows partition</title><content type='html'>I had to manually mount my windows partition the other day because after a reboot, it did not get auto mounted.&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" defer="defer"&gt; if (typeof YAHOO == "undefined") {  var YAHOO = {}; } YAHOO.Shortcuts = YAHOO.Shortcuts || {}; YAHOO.Shortcuts.hasSensitiveText = false; YAHOO.Shortcuts.sensitivityType = []; YAHOO.Shortcuts.doUlt = false; YAHOO.Shortcuts.location = "us"; YAHOO.Shortcuts.document_id = 0; YAHOO.Shortcuts.document_type = ""; YAHOO.Shortcuts.document_title = "mount windows partition in ubuntu"; YAHOO.Shortcuts.document_publish_date = ""; YAHOO.Shortcuts.document_author = "rutul98@yahoo.com"; YAHOO.Shortcuts.document_url = ""; YAHOO.Shortcuts.document_tags = ""; YAHOO.Shortcuts.document_language = ""; YAHOO.Shortcuts.annotationSet = { "lw_1231402670_0": { "text": "http://www.cyberciti.biz/faq/mounting-windows-partition-onto-ubuntu-linux/", "extended": 0, "startchar": 168, "endchar": 241, "start": 168, "end": 241, "extendedFrom": "", "predictedCategory": "", "predictionProbability": "0", "weight": 1, "relScore": 0, "type": ["shortcuts:/us/instance/identifier/hyperlink/http"], "category": ["IDENTIFIER"], "wikiId": "", "relatedWikiIds": [], "relatedEntities": [], "showOnClick": [], "context": "", "metaData": { "linkHref": "http://www.cyberciti.biz/faq/mounting-windows-partition-onto-ubuntu-linux/", "linkProtocol": "http", "linkTarget": "_blank", "visible": "true" }  } }; YAHOO.Shortcuts.headerID = "417821dc2a78da3aae2f2f72c40907db"; &lt;/script&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo mount -t ntfs -o nls=utf8,umask=0222 /dev/hdb1 /media/c&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6362259272614941081?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6362259272614941081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6362259272614941081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6362259272614941081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6362259272614941081'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/08/manually-mounting-windows-partition.html' title='manually mounting the windows partition'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8422269835999247825</id><published>2008-07-07T23:38:00.000-07:00</published><updated>2009-01-07T23:47:51.547-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>inotify</title><content type='html'>I recently stumbled upon inotify. A set of calls to monitor file system events on an individual file or a directories.&lt;br /&gt;&lt;br /&gt;Used in combination with read(), you can read an event from an inotify file descriptor that is "watching" files or directories. On a successful event, read() returns a buffer containing an inotify_event.&lt;br /&gt;&lt;br /&gt;checkout &lt;span style="font-family: courier new;"&gt;man inotify&lt;/span&gt; for more information. IBM's DeveloperWorks has a good writeup on it &lt;a href="http://www.ibm.com/developerworks/linux/library/l-ubuntu-inotify/index.html?ca=drs-"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8422269835999247825?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8422269835999247825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8422269835999247825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8422269835999247825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8422269835999247825'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/07/inotify.html' title='inotify'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-308614720681526791</id><published>2008-06-03T00:52:00.000-07:00</published><updated>2008-06-03T01:10:54.730-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>cool Firefox add-on</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://addons.mozilla.org/en-US/firefox/images/addon_preview/4258/1"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 131px; height: 98px;" src="https://addons.mozilla.org/en-US/firefox/images/addon_preview/4258/1" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am still &lt;a href="http://rutubuntu.blogspot.com/2008/04/load-of-do-do.html"&gt;struggling to make my peace with Firefox 3-beta&lt;/a&gt; recently...&lt;br /&gt;&lt;br /&gt;But a new issue that has bothered me enough that I have had to switch to using IE on the Windows XP system at work, is that pages with lots of Flash or Java script content takes way too long to load and the browser completely freezes another 30 seconds - 1 minute after that.&lt;br /&gt;&lt;br /&gt;I have tried the obvious things:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;disable all add-ons&lt;/li&gt;&lt;li&gt;uninstall all add-ons&lt;/li&gt;&lt;li&gt;uninstall/reinstall Firefox&lt;/li&gt;&lt;/ul&gt;Switched back to using 2.0.0.14 which got me back all my Add-ons, but didn't still rid me of the problem.&lt;br /&gt;&lt;br /&gt;Anyways, in the frustration, I stumbled onto a damn cool add-on call &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4258"&gt;Tab Effect&lt;/a&gt;. Its a "Ubuntu desktop-effects-cube-inspired" transition between multiple tabs. And as expected, it is still not available for Firefox 3.&lt;br /&gt;&lt;br /&gt;Oh well, I still need to find a solution to my Firefox woes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-308614720681526791?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/308614720681526791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=308614720681526791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/308614720681526791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/308614720681526791'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/06/cool-firefox-add-on.html' title='cool Firefox add-on'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7171881686221922929</id><published>2008-06-03T00:12:00.000-07:00</published><updated>2009-11-24T23:20:29.014-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>header guard</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OfjUoE_DRWs/SETvma60LpI/AAAAAAAABH8/o0TjNfSDiPM/s1600-h/headguard.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/SETvma60LpI/AAAAAAAABH8/o0TjNfSDiPM/s200/headguard.JPG" alt="" id="BLOGGER_PHOTO_ID_5207550512487214738" border="0" /&gt;&lt;/a&gt;When working on large software development projects, you often include header files from various parts of the source repository and a cool trick to avoid redefinitions is by use of "header guard".&lt;br /&gt;&lt;br /&gt;The concept is fairly simple. Consider the following header files:&lt;br /&gt;foo.h&lt;br /&gt;-----&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 1px; overflow: auto; width: 98%; height: 75px; text-align: left;"&gt;typedef struct {&lt;br /&gt;int x;&lt;br /&gt;} foo;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;bar.h&lt;br /&gt;-----&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 1px; overflow: auto; width: 98%; height: 75px; text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;#include "foo.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;typedef struct {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;foo f;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;} bar;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now when you include these files as follows:&lt;br /&gt;mainfile.c&lt;br /&gt;----------&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 1px; overflow: auto; width: 98%; height: 100px; text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;#include "foo.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#include "bar.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Obviously you will run into a "redefinition" error when compiled.&lt;br /&gt;&lt;br /&gt;The solution:&lt;br /&gt;Place&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ifndef &lt;unique&gt; &lt;/unique&gt;&lt;/span&gt;/*  unique symbol is generally some form of the file name */&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define &lt;unique&gt;&lt;/unique&gt;&lt;/span&gt;&lt;br /&gt;at the beginning of the header file, and&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#endif &lt;/span&gt;&lt;br /&gt;at the end of the header file.&lt;br /&gt;&lt;br /&gt;What this does is that the first time the unique symbol is encountered, the symbol gets defined and none of the definitions in the header file are then redefined.&lt;br /&gt;&lt;br /&gt;So foo.h would look like:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 1px; overflow: auto; width: 98%; text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;#ifndef _FOO_H_&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define _FOO_H_&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; typedef struct {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  int x;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; } foo;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#endif /* _FOO_H_ */&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and bar.h is like:&lt;br /&gt;&lt;pre class="bbcodeblock" dir="ltr" style="border: 1px inset ; margin: 0px -99999px 0px 0px; padding: 1px; overflow: auto; width: 98%; height: 150px; text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;#ifndef _BAR_H_&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define _BAR_H_&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; #include "foo.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; typedef struct {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  foo f;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; } bar; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#endif /* _BAR_H_ */&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7171881686221922929?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7171881686221922929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7171881686221922929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7171881686221922929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7171881686221922929'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/06/header-guard.html' title='header guard'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/SETvma60LpI/AAAAAAAABH8/o0TjNfSDiPM/s72-c/headguard.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-6001363115078065</id><published>2008-05-31T21:33:00.000-07:00</published><updated>2008-05-31T21:46:44.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Splashtop: simple and useful technology......goes on my wishlist</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OfjUoE_DRWs/SEIpohyZjvI/AAAAAAAABHY/7YJPdqGAIrE/s1600-h/splashtoplogo-TM.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/SEIpohyZjvI/AAAAAAAABHY/7YJPdqGAIrE/s200/splashtoplogo-TM.png" alt="" id="BLOGGER_PHOTO_ID_5206769895434981106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have been keeping up with the release news and information about &lt;a href="http://eeepc.asus.com/us/index.htm"&gt;ASUS Eee PC&lt;/a&gt; and am convinced enough that it is going to be my next laptop purchase.  And if I needed more reasons to do so, &lt;a href="http://www.splashtop.com/index.php"&gt;Splashtop&lt;/a&gt; provides me with a really strong one.&lt;br /&gt;&lt;br /&gt;The simple and useful idea is to be able to launch complete applications, browsers, Skype, instant messengers, etc without having to boot the entire operating system which typically takes up to 2-3 minutes.&lt;br /&gt;&lt;br /&gt;It is bundled within the motherboard and is already available on ASUS laptops and is know as ASUS Express Gate.&lt;br /&gt;&lt;br /&gt;I have very little knowledge about how such a technology would work. I would think the challenge of course is to run the entire application (hopefully in its full capacity and not a subset of features) with network access, which means a subset of the operating system features. I am guessing an application that access disk/local filesystem might present its own additional challenges.&lt;br /&gt;&lt;br /&gt;Here is a good video demo about it:&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qd_kZhbXkXA&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/qd_kZhbXkXA&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6001363115078065?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6001363115078065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6001363115078065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6001363115078065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6001363115078065'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/simple-and-useful-technologygoes-on-my.html' title='Splashtop: simple and useful technology......goes on my wishlist'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/SEIpohyZjvI/AAAAAAAABHY/7YJPdqGAIrE/s72-c/splashtoplogo-TM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-8098727439585150235</id><published>2008-05-31T21:17:00.000-07:00</published><updated>2008-06-03T00:46:35.418-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell expert'/><title type='text'>new command a day / a few days / a week</title><content type='html'>Here is trying to start something that I probably will not be able to keep up with unless I keep a "floating" frequency option. The idea is to try and note a previously unused shell command.&lt;br /&gt;&lt;br /&gt;Today's entry:&lt;br /&gt;lsof -i : lsof will list open files, and the "-i" option is to list files/sockets for an interface.&lt;br /&gt;Seems to be more useful as compared to "netstat" for listing open TCP/UDP connections.&lt;br /&gt;&lt;br /&gt;example:&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rutul@rutul-laptop:~$ sudo lsof -i  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;COMMAND     PID  USER   FD   TYPE DEVICE SIZE NODE NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;avahi-dae  4865 avahi   14u  IPv4  12827       UDP *:mdns &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;avahi-dae  4865 avahi   15u  IPv4  12828       UDP *:50260 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cupsd      4895  root    2u  IPv4  12863       TCP localhost:ipp (LISTEN)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dhclient3  5601  dhcp    4u  IPv4  12003       UDP *:bootpc &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dhclient3  6112  dhcp    4u  IPv4  11489       UDP *:bootpc &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;firefox   13310 rutul   19u  IPv4 114592       TCP rutul-laptop.local:39018-&gt;ar-in-f191.google.com:www (ESTABLISHED)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rutul@rutul-laptop:~$ &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8098727439585150235?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8098727439585150235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8098727439585150235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8098727439585150235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8098727439585150235'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/new-command-day-few-days-week.html' title='new command a day / a few days / a week'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8138770205385508319</id><published>2008-05-13T16:07:00.000-07:00</published><updated>2008-05-13T16:22:38.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='light reading'/><title type='text'>Linux file systems in a high-performance server</title><content type='html'>I was reading this &lt;a href="http://www.internetnews.com/commentary/article.php/3746041/Linux+File+Systems+You+Get+What+You+Pay+For.htm"&gt;article&lt;/a&gt; on analysing Linux ext(2/3/4)fs in a high-performance server environment as an appropriate file system.&lt;br /&gt;&lt;br /&gt;The idea of the article certainly raised my curiousity and the start of it did pique my interest. I was looking for the answer to this particular question asked early on:&lt;br /&gt;"&lt;em&gt;Can Linux file systems, which I will define as ext-4, XFS and xxx, match the performance of file systems on other UNIX-based large SMP servers such as IBM and Sun?"&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;Unfortunately, the rest of the information did little to assert the claim that for now (ext3 fs) and in the near future (with ext4 fs), are not designed to support large file systems that are typical with high-performance server environments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8138770205385508319?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8138770205385508319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8138770205385508319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8138770205385508319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8138770205385508319'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/linux-file-systems-in-high-performance.html' title='Linux file systems in a high-performance server'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5906553705669510621</id><published>2008-05-13T15:50:00.001-07:00</published><updated>2008-05-13T16:04:20.685-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Fedora 9 released</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_OfjUoE_DRWs/SCob3dEZGUI/AAAAAAAABG8/oWPxfKRxzaQ/s1600-h/f9release.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5199999359262464322" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" height="74" alt="" src="http://3.bp.blogspot.com/_OfjUoE_DRWs/SCob3dEZGUI/AAAAAAAABG8/oWPxfKRxzaQ/s200/f9release.png" width="145" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Like a lot of open source and particularly Linux-as-a-desktop users, I spent a fair share of my time with early &lt;a href="http://en.wikipedia.org/wiki/Fedora"&gt;RedHat Linux and eventually Fedora &lt;/a&gt;releases until I was saved by Ubuntu. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;In fact, I still use Fedora for various projects at work which are running either Fedora 6 or 7 depending on the confidence the rest of the development team has on the stability and the kernel. These are either server systems or even embedded platforms that do not have the traditional restrictions of processor speed, RAM or even disk space. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;So, the news of interest today, has been the release of Fedora 9, which &lt;a href="http://docs.fedoraproject.org/release-notes/f9/en_US/"&gt;among some cutting edge features&lt;/a&gt;, includes KDE 4.0 that Ubuntu Hardy (8.04) stayed away from. I am not a KDE user, so my opinion on the impact is insignificant. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5906553705669510621?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5906553705669510621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5906553705669510621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5906553705669510621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5906553705669510621'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/fedora-9-released.html' title='Fedora 9 released'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SCob3dEZGUI/AAAAAAAABG8/oWPxfKRxzaQ/s72-c/f9release.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-604201344543229937</id><published>2008-05-05T21:57:00.000-07:00</published><updated>2008-05-05T22:27:05.763-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>saving PDF forms</title><content type='html'>I have needed to save PDF forms after filling them with data instead of just having the option to print them. Obviously &lt;a href="http://www.adobe.com/products/acrobatpro/"&gt;Adobe Acrobat Professiona&lt;/a&gt;l would do the trick, but in the world of free software, Linux and Ubuntu, it would be criminal to use that.&lt;br /&gt;&lt;br /&gt;Found a very good software (free ware) called &lt;a href="http://www.cabaret-solutions.com/en/"&gt;CABAReT Stage&lt;/a&gt;..."&lt;h1 style="font-weight: normal; font-size: 1em;"&gt;... is a flexible software for your daily work with PDF-Documents.  With it you may open and view PDF-Documents, &lt;b&gt;complete and save PDF-Forms&lt;/b&gt;, as well as send them."&lt;/h1&gt;The Ubuntu install was just a download, untar and then running the &lt;span style="font-family:courier new;"&gt;./cabaretstage.sh&lt;/span&gt; script.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-604201344543229937?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/604201344543229937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=604201344543229937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/604201344543229937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/604201344543229937'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/saving-pdf-forms.html' title='saving PDF forms'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6574917343908198510</id><published>2008-05-05T21:42:00.000-07:00</published><updated>2008-05-05T21:56:30.339-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>the case of the disappearing audio - solved</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OfjUoE_DRWs/SB_iXKgJfMI/AAAAAAAABGY/Anq4o-AEfcw/s1600-h/sherlock2a.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 145px; height: 161px;" src="http://3.bp.blogspot.com/_OfjUoE_DRWs/SB_iXKgJfMI/AAAAAAAABGY/Anq4o-AEfcw/s200/sherlock2a.gif" alt="" id="BLOGGER_PHOTO_ID_5197121382592904386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An annoying little problem I ran into the other day:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;After Firefox 3b5 and flash locked up the screen, I had to force power cycle. &lt;/li&gt;&lt;li&gt;On reboot, the master audio control showed it muted. &lt;/li&gt;&lt;li&gt;On un-muting, no luck. The audio was completely absent. &lt;/li&gt;&lt;/ul&gt;Solution:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I re-installed the&lt;a href="http://packages.ubuntu.com/dapper/sound/alsa-base"&gt; alsa driver&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get remove alsa-base&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install alsa-base&lt;/span&gt; (it prompted me to insert the 8.04 alternate DVD)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6574917343908198510?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6574917343908198510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6574917343908198510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6574917343908198510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6574917343908198510'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/case-of-disappearing-audio-solved.html' title='the case of the disappearing audio - solved'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SB_iXKgJfMI/AAAAAAAABGY/Anq4o-AEfcw/s72-c/sherlock2a.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-950040925241525985</id><published>2008-05-04T23:49:00.000-07:00</published><updated>2008-05-05T00:11:38.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>more Ubuntu evangelism</title><content type='html'>People write blogs for various reasons. There are some really good Ubuntu users with &lt;a href="http://www.ubuntuweblogs.org/"&gt;well written blogs&lt;/a&gt; that describe Ubuntu features and tools and tricks when they have been brave and smart enough to try out the latest releases and new applications.&lt;br /&gt;&lt;br /&gt;I like to think that I walk a couple of steps behind these users. Mainly because I always want to have a _working_ system as I don't have the luxury of a backup. Which is why I am still unhappy with an upgrade to 8.04 that installed Firefox 3b5 that disabled a lot of my add-ons because of incompatibility.&lt;br /&gt;&lt;br /&gt;Anyways, without digressing too much, the point being that I write this blog mainly for evangelizing Ubuntu rather than it being a technical source of "all things Ubuntu". So, on that theme of doing my "job", I read recently a note from Eric S Raymond, a well known Open Source proponent and the author of some well known books (including &lt;a href="http://books.google.com/books?id=yGFNKDloXq0C&amp;amp;dq=Eric+S+Raymond&amp;amp;hl=en&amp;amp;prev=http://www.google.com/search%3Fhl%3Den%26q%3Deric%2Bs%2Braymond%26btnG%3DGoogle%2BSearch&amp;amp;sa=X&amp;amp;oi=print&amp;amp;ct=result&amp;amp;cd=3&amp;amp;cad=author-navigational"&gt;the one I am currently reading&lt;/a&gt;). &lt;a href="http://www.redhat.com/archives/fedora-devel-list/2007-February/msg01006.html"&gt;He switched&lt;/a&gt; from being a Fedora Core user onto Ubuntu. It is a common trend and the recent news about &lt;a href="http://rutubuntu.blogspot.com/2008/04/more-of-good-thing.html"&gt;how Red Hat and Novell have decided to focus on Enterprise/Server markets&lt;/a&gt; rather than Desktops (thankfully!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-950040925241525985?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/950040925241525985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=950040925241525985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/950040925241525985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/950040925241525985'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/05/more-ubuntu-evangelism.html' title='more Ubuntu evangelism'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6269434192380158529</id><published>2008-04-28T16:28:00.000-07:00</published><updated>2008-04-29T23:33:09.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><title type='text'>RTFM</title><content type='html'>Two skills that have deteriorated due to the excessive use of computers are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;writing with a pencil/pen.&lt;/li&gt;&lt;li&gt;reading, but not really reading.&lt;/li&gt;&lt;/ul&gt;Sure, the latter is, to some extent, a result of laziness. But having the option to search keywords in digital documents when reading them on a computer screen has contributed significantly.&lt;br /&gt;&lt;br /&gt;The direct effect of this was felt very recently as I have been trying to manage a small personal website using &lt;a href="http://www.wordpress.org/"&gt;Wordpress&lt;/a&gt; as a Content Management System (CMS). I am not web-development expert, though I do volunteer as a project manager/web developer for an &lt;a href="http://www.taprootfoundation.org/"&gt;organization that helps non-profits&lt;/a&gt; with their website needs.&lt;br /&gt;&lt;br /&gt;Wordpress is great, pretty simple to use and with very little php or sql knowledge, you can have a &lt;a href="http://www.employee.org/%7Erutul"&gt;pretty decent website&lt;/a&gt; (blatant link promotion) ready in minutes. Besides a few other things, I had a simple desire to have the first page/home page/front page be static and the dynamic content (blog, etc) be linked from there. Fairly simple as a feature, yet I managed make it way too hard on myself by not RTFming (this is a G-rated blog folks...) the manual.&lt;br /&gt;&lt;br /&gt;As it turns out, it is fairly simple, and here are a few methods to do this:&lt;br /&gt;a) Page-template + Configuration option&lt;br /&gt;&lt;a href="http://codex.wordpress.org/Pages#Page_Templates"&gt;Create a page template&lt;/a&gt; for static home page and configure your wordpress settings to show static page and point your blog/posts to another static page. This is also a good way to have your static page also be dynamic, where say it shows your most recent 5 posts. You would do this by coding that part in the php template that you create.&lt;br /&gt;&lt;br /&gt;b) php hacking&lt;br /&gt;&lt;a href="http://turbochargedcms.com/2006/11/building-a-true-home-page-into-your-wordpress-blog/"&gt;This&lt;/a&gt; seems more like a hack. And it worked well until I upgraded to Wordpress 2.5. Since then the link for pointing to the blog/posts always ended up taking me to the static homepage.&lt;br /&gt;&lt;br /&gt;c) Adding a Wordpress plugin&lt;br /&gt;A google search points me to more than one Wordpress plugin that is supposed to make setting (and managing) a static home page fairly easy to do. Never tried it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6269434192380158529?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6269434192380158529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6269434192380158529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6269434192380158529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6269434192380158529'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/rtfm.html' title='RTFM'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7584469647239002596</id><published>2008-04-24T15:39:00.000-07:00</published><updated>2008-06-03T01:05:11.497-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>load of do-do</title><content type='html'>&lt;div&gt;I believe one of the most brilliant examples of open source software projects is Firefox. Since I have been feeling a little bold these days (will write later about the experiences with &lt;a href="http://www.ubuntu.com/getubuntu/releasenotes/804"&gt;Ubuntu 8.04&lt;/a&gt;  that was released today), so I upgraded to &lt;a href="http://www.mozilla.com/en-US/firefox/3.0b5/releasenotes/"&gt;Firefox 3.0b5 &lt;/a&gt;on the Windows desktop that I _use_ at work. &lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;The experience so far has been very disappointing.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;1) This was expected, but it disabled a ton of Add-ons that were not compatible:&lt;/div&gt;&lt;div&gt;Answers&lt;/div&gt;&lt;div&gt;Firebug&lt;/div&gt;&lt;div&gt;Gmail Space&lt;/div&gt;&lt;div&gt;RealPlayer Broswer Record Plugin&lt;/div&gt;&lt;div&gt;Session Fix&lt;/div&gt;&lt;div&gt;View Source Chart (and I was just starting to use this...)&lt;/div&gt;&lt;div&gt;Zoho Notebook Helper&lt;/div&gt;&lt;div&gt;Zoho QuickRead &lt;/div&gt;&lt;br /&gt;&lt;div&gt;2) The integrated Flash Player is not reliable at all. Nuemorous times I have had to refresh the page because the Flash movie would not play on the frist attempt. Also, I have had Firefox crash due to the player.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;3) More than a couple of times today Firefox has frozen when using multiple tabs and switching between them. I normally have about 5 to 8 tabs open which isn't a lot.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;4) I have history disabled, but for a session, I was able to see all the urls that I have typed in. That has been replaced by what seems to be the bookmarks. Any way I can just see the history there?&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;5) Crashed today when playing a quicktime audio file (must have been mp3).&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;6) It forced me to write this post in IE!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Since I don't really care about the new features, to me it has just been a load of do-do. I quickly checked and Hardy has Firefox 3 beta 4 as its default browser. There has already been some noise about the&lt;a href="https://bugs.edge.launchpad.net/ubuntu/+source/pulseaudio/+bug/192888"&gt; issue with Flash player killing Firefox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am downgrading back to Firefox 2.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7584469647239002596?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7584469647239002596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7584469647239002596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7584469647239002596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7584469647239002596'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/load-of-do-do.html' title='load of do-do'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5156181238474773797</id><published>2008-04-23T10:36:00.000-07:00</published><updated>2008-04-23T10:53:54.813-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>more of a good thing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OfjUoE_DRWs/SA90GKgJe4I/AAAAAAAABCQ/w5AeHyBy-qg/s1600-h/penguin_king.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_OfjUoE_DRWs/SA90GKgJe4I/AAAAAAAABCQ/w5AeHyBy-qg/s200/penguin_king.jpg" alt="" id="BLOGGER_PHOTO_ID_5192496544628702082" border="0" /&gt;&lt;/a&gt;Some news and information worth sharing.&lt;br /&gt;&lt;br /&gt;* In a recent &lt;a href="https://www.osscensus.org/"&gt;Open Source Census&lt;/a&gt; report, Ubuntu tops the list with 46% of installations. Its a global project to count the number of each open source distributions. Obviously it focuses on businesses, which gives Ubuntu an edge with it becoming the distribution of choice for desktop installations.&lt;br /&gt;&lt;br /&gt;Want to &lt;a href="https://www.osscensus.org/how-to-contribute.php"&gt;sumbit a report&lt;/a&gt; for your organization?&lt;br /&gt;&lt;br /&gt;* Also in relevant news earlier in the week, RedHat and Novell (Fedora for desktops) have decided to let Ubuntu be the distribution of choice for end-user desktop installations and concentrate their focus on &lt;a href="http://www.press.redhat.com/2008/04/16/whats-going-on-with-red-hat-desktop-systems-an-update/"&gt;desktops for commercial markets&lt;/a&gt;. In a way, Ubuntu is &lt;a href="http://news.bbc.co.uk/2/hi/technology/7358483.stm"&gt;reaping the rewards&lt;/a&gt; of work done by the earlier by RedHat and later on by Fedora.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5156181238474773797?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5156181238474773797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5156181238474773797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5156181238474773797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5156181238474773797'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/more-of-good-thing.html' title='more of a good thing'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SA90GKgJe4I/AAAAAAAABCQ/w5AeHyBy-qg/s72-c/penguin_king.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-4549278742674563355</id><published>2008-04-21T23:26:00.000-07:00</published><updated>2008-04-22T00:07:35.475-07:00</updated><title type='text'>never go hungry ...feeds</title><content type='html'>&lt;span style="font-size:100%;"&gt;I am slowly getting to a point where it just seems like there is more information that I am required to digest than I can keep up with. And having good tools to get you that information does make the task itself easier, but nothing makes the amount of information any lesser. Come to think of it, wouldn't it be great to have a hash function that maps segments of information into your brain with a key for easy retrieval later?&lt;br /&gt;&lt;br /&gt;Anyways I digress. A few days ago I heard a smart person say that a good way to judge what the other person knows is just by looking at his/her &lt;a href="http://http://en.wikipedia.org/wiki/OPML"&gt;OPML&lt;/a&gt;. In case you have your feeds on Yahoo!, if you are logged into your account, this is where you can get your OPML:&lt;br /&gt;&lt;a href="http://api2.my.yahoo.com/2.0/content/getsubs"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Arial;"&gt;&lt;a rel="nofollow" target="_blank"&gt;&lt;span class="yshortcuts" id="lw_1208845469_0"&gt;http://api2.my.yahoo.com/2.0/content/getsubs&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have been using &lt;a href="http://liferea.sourceforge.net/"&gt;Liferea Feed Reader&lt;/a&gt; recently which does a good job of bringing your feeds to the desktop. But I am looking for something prettier, something more apt for Ubuntu. Its adequate, but not attractive. Any suggestions? &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-4549278742674563355?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/4549278742674563355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=4549278742674563355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4549278742674563355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4549278742674563355'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/never-go-hungry-feeds.html' title='never go hungry ...feeds'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7767087078400295238</id><published>2008-04-21T23:00:00.000-07:00</published><updated>2008-04-21T23:23:16.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>cheesy name....yet useful</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SA2EBagJe3I/AAAAAAAABCI/HbpRhV1V6Rw/s1600-h/terminator64.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/SA2EBagJe3I/AAAAAAAABCI/HbpRhV1V6Rw/s200/terminator64.png" alt="" id="BLOGGER_PHOTO_ID_5191951105256946546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/SA2AragJe2I/AAAAAAAABCA/3SvA6VorcYg/s1600-h/terminator.png"&gt;&lt;img style="margin: 0px auto 10px; display: none; text-align: center; cursor: pointer; width: 205px; height: 128px; outline-color: invert; outline-style: none; outline-width: medium;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/SA2AragJe2I/AAAAAAAABCA/3SvA6VorcYg/s200/terminator.png" alt="" id="BLOGGER_PHOTO_ID_5191947428764941154" border="0" /&gt;&lt;/a&gt;&lt;a href="https://launchpad.net/%7Egnome-terminator"&gt;Terminator&lt;/a&gt;.....really? I guess sometimes you cannot have both; a useful tool and a good name (&lt;a href="http://en.wikipedia.org/wiki/Katapult"&gt;katapult&lt;/a&gt; anyone?)&lt;br /&gt;&lt;br /&gt;Anybody who has needed to use the terminal, generally needs more than one all the time. So a tool that arranges multiple GNOME (I have never been a KDE convert) terminals on the screen and manages to add/remove/resize and jump between these multiple terminal windows is a useful addition to your applications.&lt;br /&gt;&lt;br /&gt;On first impressions, Terminator seems to do the job nicely. When you launch it, you get one screen. You can split this horizontally or vertically and keep adding and use your screen space in an efficient manner. The moving between the terminals using the keyboard can take a little getting used to (ctrl + shit + n and ctrl + shit + p).&lt;br /&gt;&lt;br /&gt;Seems like for Hardy (8.04) you can do a:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install terminator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For 7.10 (yay! I finally upgraded) and below you need to &lt;a href="https://launchpad.net/terminator/+download"&gt;download the source code&lt;/a&gt; and install.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7767087078400295238?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7767087078400295238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7767087078400295238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7767087078400295238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7767087078400295238'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/cheesy-nameyet-useful.html' title='cheesy name....yet useful'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://2.bp.blogspot.com/_OfjUoE_DRWs/SA2EBagJe3I/AAAAAAAABCI/HbpRhV1V6Rw/s72-c/terminator64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-5607943456887602692</id><published>2008-04-19T22:26:00.000-07:00</published><updated>2008-04-19T22:48:32.635-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu community strength</title><content type='html'>I am probably not the first to make this observation, but its worthy of a mention since the single biggest reason why I use Ubuntu is the strength of the community.&lt;br /&gt;&lt;br /&gt;More often than not, you are going to find the information that is exactly relevant to what you are looking for in the &lt;a href="http://ubuntuforums.org"&gt;Ubuntu forums&lt;/a&gt; or on another discussion through a simple Google search. That gives me enough confidence to try out anything that I am curious about and that remotely sounds of use to me. That makes the experience of using Ubuntu a very nice one and in turn the feedback the community developers receive of those new features improves them and in general the overall experience.&lt;br /&gt;&lt;br /&gt;Since I have been having trouble enabling desktop effects (more on that in a later post), I have been trying out more than a few things including installing and removing packages (without completely understanding/reading the information). After one of such experiments, I ended up getting a "The X system keyboard settings differ from your current GNOME keyboard settings" message each time X server started. The fix, described with a brief explanation of the possible reason was found, where else, but on a &lt;a href="http://ubuntuforums.org/showthread.php?t=619604"&gt;Ubuntu forums thread&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5607943456887602692?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5607943456887602692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5607943456887602692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5607943456887602692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5607943456887602692'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/ubuntu-community-strength.html' title='Ubuntu community strength'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-72560170086619708</id><published>2008-04-19T21:52:00.000-07:00</published><updated>2008-04-19T22:18:40.222-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>upgrading to 7.10</title><content type='html'>The feature list for Gusty Gibbon (Ubuntu 7.10) never provided me reason(s) enough to upgrade from my fairly satisfactory 7.04. So, it was ironic that it was on the day when the &lt;a href="http://www.ubuntu.com/testing/804rc"&gt;8.04 release candidate&lt;/a&gt; was announced, I decided to finally move up.&lt;br /&gt;&lt;br /&gt;Some of the lessons learned in the upgrade process:&lt;br /&gt;&lt;br /&gt;- You can upgrade only to the next release up. So 7.04 -&gt; 7.10 -&gt; 8.04 -&gt; and so on.&lt;br /&gt;- The &lt;a href="http://http://www.ubuntu.com/getubuntu/download"&gt;Live CD&lt;/a&gt; is great for a new install. However, to upgrade from your current version, you need a alternate CD (make sure to check on the selection button that says "Check here if you need the alternate desktop CD".&lt;br /&gt;- The best way to upgrade would have been to use the &lt;a href="http://www.ubuntu.com/getubuntu/upgrading"&gt;Network Upgrade method&lt;/a&gt;, but I have a slow wireless Internet connection and the (clever?) Update Manager never shows me that option.&lt;br /&gt;- The entire upgrade process is fairly hands-off, prompts the users about 3 or 4 times, but does the bluk of the work without any inputs......the way it should be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-72560170086619708?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/72560170086619708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=72560170086619708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/72560170086619708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/72560170086619708'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/upgrading-to-710.html' title='upgrading to 7.10'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3484687718424684989</id><published>2008-04-19T21:42:00.000-07:00</published><updated>2008-04-19T22:49:01.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>update - on Online Television and Ubuntu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OfjUoE_DRWs/SArLUBhAodI/AAAAAAAABBg/ntiHI_HBEnE/s1600-h/chickenidle.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 123px; height: 123px;" src="http://1.bp.blogspot.com/_OfjUoE_DRWs/SArLUBhAodI/AAAAAAAABBg/ntiHI_HBEnE/s200/chickenidle.jpg" alt="" id="BLOGGER_PHOTO_ID_5191185065362629074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A few days ago, I &lt;a href="http://rutubuntu.blogspot.com/2008/03/online-television-programming-and.html"&gt;wrote about watching television online&lt;/a&gt;. Looks like my concern about having a common interface to be able to watch good quality shows from various networks on any platform (more specifically on my Ubuntu laptop) without having to install a different player is being address by a startup called &lt;a href="http://www.hulu.com/"&gt;Hulu&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;All you need is a fairly recent version of Flash Player (probably Flash player 9 and higher). The quality seems great and they host content from a lot of networks including ABC and NBC. Of course television shows (new and old) isn't the only option available. There are full length movies and NBA network clips also available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3484687718424684989?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3484687718424684989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3484687718424684989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3484687718424684989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3484687718424684989'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/update-on-online-television-and-ubuntu.html' title='update - on Online Television and Ubuntu'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/SArLUBhAodI/AAAAAAAABBg/ntiHI_HBEnE/s72-c/chickenidle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-7780283795098052440</id><published>2008-04-18T12:30:00.000-07:00</published><updated>2008-04-18T12:33:37.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux marketing</title><content type='html'>I know I have been slacking (hey...it was tax season, and I also need to make a living), but have enough posts drafted out that I will publish over the next few days. Meanwhile, some Linux marketing that could cater to the consumer markets rather than enterprise vendors and customers:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PLHjT5-XM9o&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PLHjT5-XM9o&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7780283795098052440?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7780283795098052440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7780283795098052440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7780283795098052440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7780283795098052440'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/linux-marketing.html' title='Linux marketing'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-1153046778900915085</id><published>2008-04-04T00:48:00.000-07:00</published><updated>2008-06-03T01:06:08.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>top firefox extensions</title><content type='html'>One more along the line of "slacker" posts....&lt;br /&gt;&lt;br /&gt;Some/all of my favorite Firefox extensions (not in any particular order)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://amb.vis.ne.jp/mozilla/scrapbook/"&gt;ScrapBook&lt;/a&gt; - save web pages, notes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.downloadhelper.net/"&gt;Download Helper&lt;/a&gt; - Save YouTube and other Flash (.flv videos).&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1264"&gt;Yahoo&lt;/a&gt; and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/173"&gt;Gmail&lt;/a&gt; Notifier - Notifies you when new messages arrive.  Though, it can be distracting if you are an email-addict.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/743"&gt;CustomizeGoogle Options&lt;/a&gt; - I wonder how people who do not use this option ever have a clean Internet experience.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1730"&gt;ScribeFire&lt;/a&gt; - Its a blog editor that pops up that makes it easy to post to your blog. Can be great if you think of something worth while and do not wish you spend a few clicks to log into your blog.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/googlenotebook/faq.html"&gt;Google Notebook&lt;/a&gt; - It used to be useful for taking notes and putting links, etc that you can access from other machines. I use it most as a bookmarks tab that I can open in any place. Scrapbook is a better option.&lt;br /&gt;&lt;br /&gt;There are a few extensions that are very useful, even for the minimal web-development work I do for non-profits:&lt;br /&gt;Source Chart&lt;br /&gt;Firebug&lt;br /&gt;Web Developer&lt;br /&gt;YSlow&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1153046778900915085?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1153046778900915085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1153046778900915085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1153046778900915085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1153046778900915085'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/top-firefox-extensions.html' title='top firefox extensions'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3531554509816898309</id><published>2008-04-03T15:45:00.000-07:00</published><updated>2008-04-04T16:58:18.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Online Television programming and Ubuntu</title><content type='html'>Have had this in the "drafts" section since a while.....&lt;br /&gt;&lt;br /&gt;Even though I have a 46" LCD TV, I am not too keen on paying my cable distributor an exorbitant amount of money each month to receive HD, keep a DVR and then watch the few TV shows of interest on my own time which is generally between 12:30am and 2:30am in the night. So, the most convenient way for me is to watch them on my laptop which has a decent 15.4" screen and the Toshiba TruBrite (c) technology.&lt;br /&gt;&lt;br /&gt;Obviously the convenience of not being tied to the television schedule helps, but even the commercials are fewer for the online versions and you can run some scripts while watching without having to look up from your screen!&lt;br /&gt;&lt;br /&gt;As a simple desire, &lt;a href="http://www.thedailyshow.com/"&gt;The Daily Show&lt;/a&gt; is available the next day in flash which plays in Firefox, so thats a start.&lt;br /&gt;&lt;br /&gt;As for network stations, here is the breakup for the big three stations (non-cable)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.abc.com/"&gt;ABC&lt;/a&gt; - This has probably the best quality HD programming which looks great on a large LCD if you try it. The catch is however, that even though it works great it Firefox, it needs Windows. I haven't checked recently, but I doubt there is a Ubuntu port for that flash player/codec?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nbc.com/"&gt;NBC &lt;/a&gt;- They have some of their best shows (which is not many) available in flash and the player/interface is not bad. Plays in Firefox.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fox.com/"&gt;Fox&lt;/a&gt; - Their flash player also needs an installer for Windows, but probably runs in Firefox. Can't get it to play in Ubuntu...than again, I don't want to spend any effort figuring this out to be able to watch How I Met Your Mother!&lt;br /&gt;&lt;br /&gt;I had read an &lt;a href="http://www.businessweek.com/magazine/content/07_47/b4059401.htm"&gt;article in Business Week &lt;/a&gt;a few months ago talking about this thing in particular;  Online TV (as opposed to IPTV, which is a little different). Its an interesting read, and things are constantly changing it seems and moving in the right direction.....as far as the consumers are concerned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3531554509816898309?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3531554509816898309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3531554509816898309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3531554509816898309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3531554509816898309'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/online-television-programming-and.html' title='Online Television programming and Ubuntu'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2416182869751858150</id><published>2008-04-03T00:26:00.001-07:00</published><updated>2008-04-03T00:44:56.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>trying out some apps</title><content type='html'>Over the last few weeks I have been lazy and distracted from doing actual work (as in something that pays) in the evenings. Thats why I have been doing searches like &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=top+10+ubuntu+apps&amp;amp;btnG=Google+Search&amp;amp;aq=f"&gt;Top 10 Ubuntu applications&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Some of what I have installed and started using (not in any particular order):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Katapult&lt;/span&gt; (&lt;span style="font-family: courier new;"&gt;sudo apt-get install katapult&lt;/span&gt;)&lt;br /&gt;Application launcher that matches the application name as soon as you start typing the first few letters. Launch it using Alt-Space.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Kopete&lt;/span&gt; (&lt;span style="font-family: courier new;"&gt;sudo apt-get install kopet&lt;/span&gt;e)&lt;br /&gt;Enhanced multi-protocol chat client, webcam and voice(?). Like the interface on first impressions, but it will take a lot more to move away from Pidgin.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GParted&lt;/span&gt; (&lt;span style="font-family: courier new;"&gt;sudo apt-get install gparted&lt;/span&gt;)&lt;br /&gt;Gnome Partition Editor, utility for disk partitions that reformats hard drives into many formats including FAT16, FAT32 and NTFS. Will need to try it out soon since I am running out of disk space in my Ubuntu partition if I keep installing applications at this rate!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Some that I have installed and then un-installed (of course in that order):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gayachi&lt;/span&gt;&lt;br /&gt;Tried it as an enhanced chat client that does webcam and voice, but the interface is crappy at best.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Some that I would soon try (probably in that particular order)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Amarok&lt;/span&gt;&lt;br /&gt;music player with last.fm plugin and some other features (I will find out).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Liferea&lt;/span&gt;&lt;br /&gt;Desktop RSS feed reader (&lt;span style="font-family: courier new;"&gt;sudo apt-get install liferea)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2416182869751858150?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2416182869751858150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2416182869751858150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2416182869751858150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2416182869751858150'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/04/trying-out-some-apps.html' title='trying out some apps'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-3391208128529514785</id><published>2008-03-31T11:08:00.000-07:00</published><updated>2008-03-31T11:16:18.222-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='light reading'/><title type='text'>MySQL and database design for Web 2.0</title><content type='html'>Disclaimer: I am not a Web 2.0 developer, just somebody who likes to read about technology and architecture design.&lt;br /&gt;&lt;br /&gt;On &lt;a href="http://radar.oreilly.com/"&gt;O'Reilly Radar&lt;/a&gt;, which blogs about emerging technologies, back in 2006, there were a few &lt;a href="http://www.oreillynet.com/databases/blog/2006/04/database_war_stories.html"&gt;interesting posts&lt;/a&gt; on how some Web 2.0 companies use databases that I stumbled upon recently.&lt;br /&gt;&lt;br /&gt;p.s. I guess I need a new category for such posts not particularly related to Ubuntu or Linux or software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-3391208128529514785?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/3391208128529514785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=3391208128529514785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3391208128529514785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/3391208128529514785'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/mysql-and-database-design-for-web-20.html' title='MySQL and database design for Web 2.0'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8383071661001972386</id><published>2008-03-28T15:08:00.000-07:00</published><updated>2008-03-28T15:22:51.618-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>metacity bug in 7.04</title><content type='html'>Yesterday evening when I booted my laptop and logged in, gnome started, but things were a bit strange. I could launch applications, actually a single application, e.g. Firefox, but it would start without any window handles (minimize, maximize and close) and missing the title bar. Moreover, I could not switch to another application if it was already launched.&lt;br /&gt;&lt;br /&gt;So, after a quick search found out that it is a documented bug in Fiesty where "metacity" fails to launch. Since metacity is the default window manager, and it wasn't being launched after startup/login. All I had to do was to launch "metacity" from command line and things got back to normal. It also was able to run metacity the next time I logged in after logout and restart.&lt;br /&gt;&lt;br /&gt;As always with anything Ubuntu related, I am not the first one to face this and the forums provide excellent information:&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=446881"&gt;http://ubuntuforums.org/showthread.php?t=446881&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8383071661001972386?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8383071661001972386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8383071661001972386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8383071661001972386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8383071661001972386'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/metacity-bug-in-704.html' title='metacity bug in 7.04'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-131580558516443058</id><published>2008-03-25T15:41:00.000-07:00</published><updated>2008-03-25T15:53:38.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux partitions (ext2 and ext3) from Windows</title><content type='html'>For reasons which don't hold much weight if I am willing to spend more time figuring it out myself (such as need to use Sopcast for watching soccer online), I have always had a dual-boot system, even in the ugly days when I was a &lt;a href="http://www.badgeplanet.co.uk/badges_large/crazy-person-1.jpg"&gt;RedHat/Fedora user&lt;/a&gt;. And my ext3 partition which hold Ubuntu 7.04, is just a small 10GB OS-only partition and my data is still on a NTFS partition that is accessible by both Windows XP and Ubuntu.&lt;br /&gt;&lt;br /&gt;So, I have never needed to access anything from my Linux partition from XP. But, seems like there are enough free tools available to achieve this. The most useful being &lt;a href="http://www.diskinternals.com/linux-reader/"&gt;Linux Reader&lt;/a&gt; (freeware and closed source) and &lt;a href="http://www.fs-driver.org/"&gt;Ext2 FS&lt;/a&gt; (freeware and closed source). The options are nicely analyzed and explained &lt;a href="http://tombuntu.com/index.php/2008/03/19/four-applications-for-accessing-ext3-partitions-from-windows/"&gt;here&lt;/a&gt;.&lt;br /&gt;(p.s. Interestingly, I wasn't the first to think that I could prefix 'ubuntu' with my name/initial and it would be a clever blog title.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-131580558516443058?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/131580558516443058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=131580558516443058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/131580558516443058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/131580558516443058'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/linux-partitions-ext2-and-ext3-from.html' title='Linux partitions (ext2 and ext3) from Windows'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5940532774492643120</id><published>2008-03-24T11:52:00.000-07:00</published><updated>2008-03-24T12:07:02.556-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>hot sun</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/R-f7EvMCWRI/AAAAAAAAA9U/0MaHq4ZRyic/s1600-h/Sun.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 92px; height: 128px;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/R-f7EvMCWRI/AAAAAAAAA9U/0MaHq4ZRyic/s200/Sun.jpg" alt="" id="BLOGGER_PHOTO_ID_5181385955118045458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;More news that shows how Ubuntu is gaining traction faster than any other Linux distribution recently. Its the perfect personal computer/laptop distribution, but has started to make significant headway in the Enterprise/Server/Data Center markets. Sun Systems has now started distributing its SMB servers with the option of Ubuntu:&lt;br /&gt;&lt;a href="http://www.sun.com/solutions/smb/products.jsp"&gt;http://www.sun.com/solutions/smb/products.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;RedHat does continue to dominate the server market, but having a strong vendor with not-so-cheap customer support/service can only be positive for Ubuntu. Also, the next release (8.04), contains several server-focused enhancements as discussed and mentioned &lt;a href="http://allaboutubuntu.wordpress.com/2008/03/14/standing-by-for-ubuntu-server-push-in-may/"&gt;here&lt;/a&gt; and there is talk about Dell and HP certifying their server-line products for Hardy Heron (8.04).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5940532774492643120?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5940532774492643120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5940532774492643120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5940532774492643120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5940532774492643120'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/hot-sun.html' title='hot sun'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://2.bp.blogspot.com/_OfjUoE_DRWs/R-f7EvMCWRI/AAAAAAAAA9U/0MaHq4ZRyic/s72-c/Sun.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-1737127179636442122</id><published>2008-03-21T15:39:00.000-07:00</published><updated>2008-03-21T16:18:12.212-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>hardy heron</title><content type='html'>Today Ubuntu's next release, 8.04 beta aka Hardy Heron was released. I am yet to move from Feisty Fawn (7.04) to Gusty Gibbon (7.10), so thats that.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ubuntu.com/testing/hardy/beta"&gt;http://www.ubuntu.com/testing/hardy/beta&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the feature list, all the new stuff seems great. The most interesting feature is &lt;a href="http://wubi-installer.org/"&gt;Wubi&lt;/a&gt;. Its an installer for Ubuntu under Windows. No partitions, or boot loader changes, just installs Ubuntu as a Windows Application. Right now, there is a beta for installing 7.04 on the Wubi site. Or if you are bold enough you can try the 8.04 installer &lt;a href="http://downloads.sourceforge.net/wubi/Wubi-8.04-alpha-rev431.exe?use_mirror=osdn"&gt;here&lt;/a&gt;. That  seems worth trying out on my work Windows desktop where I have been running Fedora and Ubuntu using VMware Server. The installer seems to download the image when you install, so judging by how my corporate network has been crawling, I would have to make that a weekend project one of these days.&lt;br /&gt;&lt;br /&gt;Once again, Ubuntu takes a giant step in easing Windows users into Linux-world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1737127179636442122?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1737127179636442122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1737127179636442122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1737127179636442122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1737127179636442122'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/hardy-heron.html' title='hardy heron'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2128617122496105192</id><published>2008-03-18T10:48:00.000-07:00</published><updated>2008-03-18T10:56:26.052-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Vista toilet paper</title><content type='html'>I am not one of those extremist-Open Source supports with a tattoo of a penguin on my a** and a Linus shrine in my home office. In fact, I refuse to go Linux-only and still maintain a dual-boot with Windows XP (and refrain from labeling the Windows partition as "Windoze") because I still haven't figured out how to get &lt;a href="http://www.sopcast.com"&gt;Sopcast &lt;/a&gt;running in Ubuntu. But thats for another post.&lt;br /&gt;&lt;br /&gt;However, &lt;a href="http://www.engadget.com/2008/03/16/vista-sp1-sp1-toilet-paper-hit-japan/"&gt;this story&lt;/a&gt; about Vista toilet paper is still funny, even though uncalled for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2128617122496105192?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2128617122496105192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2128617122496105192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2128617122496105192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2128617122496105192'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/vista-toilet-paper.html' title='Vista toilet paper'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7629839896381470851</id><published>2008-03-18T10:39:00.000-07:00</published><updated>2008-03-18T10:48:34.418-07:00</updated><title type='text'>timeout</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OfjUoE_DRWs/R9_-zzpdTLI/AAAAAAAAA9M/HeZynoCh5E8/s1600-h/PR25517.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_OfjUoE_DRWs/R9_-zzpdTLI/AAAAAAAAA9M/HeZynoCh5E8/s200/PR25517.JPG" alt="" id="BLOGGER_PHOTO_ID_5179138262490238130" border="0" /&gt;&lt;/a&gt;I have been sitting on the sidelines since the last couple of weeks as my laptop, which has had power problems before (it was just the connector then which I had fixed), suddenly decided to not cooperate anymore.  It seems like not enough power is being propagated to drive the screen and the drives. Thats just my theory.&lt;br /&gt;&lt;br /&gt;So, this is me taking a timeout for a few weeks.&lt;br /&gt;&lt;br /&gt;On an unrelated note, I have been reading &lt;a href="http://www.linuxjournal.com/"&gt;The Linux Journal &lt;/a&gt;these days with all this time that I have, and there are always so many useful notes in there for anybody with a faint interest in the Linux world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7629839896381470851?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7629839896381470851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7629839896381470851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7629839896381470851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7629839896381470851'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/03/timeout.html' title='timeout'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://2.bp.blogspot.com/_OfjUoE_DRWs/R9_-zzpdTLI/AAAAAAAAA9M/HeZynoCh5E8/s72-c/PR25517.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-8058496489909458707</id><published>2008-02-29T17:18:00.000-08:00</published><updated>2008-06-04T20:43:48.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><title type='text'>wordpress upgrade - four simple steps</title><content type='html'>Recently I was forced to upgrade my wordpress and in the past having not had the patience to read the &lt;a href="http://codex.wordpress.org/Upgrading_WordPress"&gt;documentation&lt;/a&gt;, my attempts were not very successful.&lt;br /&gt;&lt;br /&gt;So, it was good to have found a good source which described the process in four simple steps using the shell. It worked.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Step 1: Backup the existing database. &lt;/em&gt;&lt;br /&gt;I would not want to lose my work, specially the blog, so against my natural tendency, I did backup.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;[me@mywebserver]# mysqldump -u lazyinvestor -p &lt;wordpress-dbname&gt;&gt; backup_`data +%m-%d-%y`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Step 2: Get the latest wordpress .zip and unzip&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;This would generally work, but you should be smart enough to know there are other ways.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;[me@mywebserver]# wget &lt;/span&gt;&lt;a href="http://wordpress.org/latest.zip"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;http://wordpress.org/latest.zip&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;[me@mywebserver]# unzip latest.zip&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Step 3: Overwrite all the new files onto your old ones&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;[me@mywebserver]# cd [to_whereever_your_wordpress_files_are]&lt;br /&gt;[me@mywebserver]# cp -avr [from_the_unziped_latest.zip]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 4: Open &lt;a href="http://yourblog_url/wp-admin/upgrade.php"&gt;http://yourblog_url/wp-admin/upgrade.php&lt;/a&gt; in your &lt;a href="http://rutubuntu.blogspot.com/search/label/Firefox"&gt;favorite browser&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8058496489909458707?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8058496489909458707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8058496489909458707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8058496489909458707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8058496489909458707'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/wordpress-upgrade-tips.html' title='wordpress upgrade - four simple steps'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-128948816613566132</id><published>2008-02-29T16:46:00.000-08:00</published><updated>2008-02-29T16:57:27.077-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>brainstorm Ubuntu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OfjUoE_DRWs/R8ip5D1GgCI/AAAAAAAAA9E/7jTDfaONqek/s1600-h/idea-logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_OfjUoE_DRWs/R8ip5D1GgCI/AAAAAAAAA9E/7jTDfaONqek/s200/idea-logo.png" alt="" id="BLOGGER_PHOTO_ID_5172570969780682786" border="0" /&gt;&lt;/a&gt;There is probably is a clever marketing-theory terminology to refer to this, but some of the best feedback for any kind of product comes from people who use it.....a lot.&lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://brainstorm.ubuntu.com/"&gt;http://brainstorm.ubuntu.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The best part is you get to submit your ideas and also vote on what is of more importance to you.&lt;br /&gt;&lt;br /&gt;Power management and suspend/hibernate enhancements obviously are high up on the list. That is all good for making Ubuntu better for laptops. Even though I am very a happy with how things run on my laptop, some things like efficient power-management enhancements and faster booting will be great additions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-128948816613566132?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/128948816613566132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=128948816613566132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/128948816613566132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/128948816613566132'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/brainstorm-ubuntu.html' title='brainstorm Ubuntu'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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/_OfjUoE_DRWs/R8ip5D1GgCI/AAAAAAAAA9E/7jTDfaONqek/s72-c/idea-logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-6146307345859978304</id><published>2008-02-26T11:05:00.000-08:00</published><updated>2008-02-26T11:12:28.487-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>TCP optimizations and sysctl</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;Time and again, I have needed to tweak a server running a variety of TCP/IP application(s) so that it shows some improvement with some simple steps. I am not a System Administrator, so the quickest trick for me is to tweak simple TCP characteristics:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;a) Increase TCP window size&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;        net.ipv4.tcp_window_scaling=1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;b) Enable TCP SYN cookies. This prevents SYN floods on incoming connections&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;        net.ipv4.tcp_syncookies=1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;c) Increase TCP send and receive buffers&lt;/span&gt;&lt;br /&gt;&lt;code style="font-family: arial; color: rgb(0, 0, 0);"&gt;        net.core.rmem_max = 16777216&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;        &lt;/span&gt;&lt;code style="font-family: arial; color: rgb(0, 0, 0);"&gt;net.core.wmem_max = 16777216&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;        &lt;/span&gt;&lt;code style="font-family: arial; color: rgb(0, 0, 0);"&gt;net.ipv4.tcp_rmem = 4096 87380 16777216&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;        &lt;/span&gt;&lt;code style="font-family: arial;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;net.ipv4.tcp_wmem = 4096 65536 16777216&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;All these are edits to /etc/sysctl.conf which is a configuration file to configure/edit kernel parameters at runtime.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Do&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;#sysctl -p /etc/sysctl.conf &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;to enable your changes, and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;#sysctl -a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;to see what else has been configured.&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6146307345859978304?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6146307345859978304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6146307345859978304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6146307345859978304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6146307345859978304'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/tcp-optimizations-and-sysctl.html' title='TCP optimizations and sysctl'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8789545361970452558</id><published>2008-02-25T14:52:00.000-08:00</published><updated>2008-02-25T15:00:09.174-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>hup hup and away</title><content type='html'>I have used other ways to do this, and never really thought about this until somebody recently asked me how to run a command so that it continues to run even after you exit the terminal/logout.&lt;br /&gt;&lt;br /&gt;Since I have been working with systems software development, the first thing that comes to my mind would be to make your executable a service and use the 'service [program] start/stop/restart' commands to control it.&lt;br /&gt;The other option is to use a tool called '&lt;a href="http://www.gnu.org/software/screen/"&gt;screen&lt;/a&gt;' which I did try it for a few months, but never got comfortable with the scrolling up/down.&lt;br /&gt;&lt;br /&gt;The simpler (and probably more obvious) way is to execute the program such that it is immune to hangups i.e. the 'nohup' command.&lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;nohup ./keep_this_running&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;This will dump the output to a file called nohup.out.&lt;br /&gt;&lt;br /&gt;To get more control over the output, try this:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;nohup ./keep_this_running 1&gt;output.log 2&gt;error.log&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8789545361970452558?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8789545361970452558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8789545361970452558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8789545361970452558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8789545361970452558'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/hup-hup-and-away.html' title='hup hup and away'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-4346865744317466180</id><published>2008-02-25T13:06:00.001-08:00</published><updated>2008-02-25T13:15:42.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>be nice</title><content type='html'>&lt;span style="font-family: arial;"&gt;In my &lt;a href="http://rutubuntu.blogspot.com/2008/02/and-no-dvdshrink.html"&gt;previous post&lt;/a&gt;, I gave an example command to create an (uncompressed) ISO image from a CD/DVD. The actual command was preceded by '&lt;span style="font-family: courier new;"&gt;nice -n +19&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;Briefly, a little bit about this 'nice' command since even though I don't use it very often, it can be a very useful tool, specially on laptops like mine where I am anyways struggling for processor resources.&lt;br /&gt;&lt;br /&gt;So, 'nice' is a command for POSIX-complaint OS'es using which you can control the priority of a process with -20 being the highest value and +19 being the lowest priority. The default value is 0, which is inherited from its parent (shell being the most likely parent).&lt;br /&gt;&lt;br /&gt;Obviously, a lot depends on how the scheduler is designed, where the 'nice' value is probably just a part of a complicated set of parameters used to determine which task should be run next. But, it does give you a user-level control, specially when doing non-priority tasks like creating ISO copies, etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-4346865744317466180?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/4346865744317466180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=4346865744317466180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4346865744317466180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/4346865744317466180'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/be-nice.html' title='be nice'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7172982241785394430</id><published>2008-02-20T19:10:00.000-08:00</published><updated>2008-02-25T13:15:48.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>and no DVDShrink</title><content type='html'>In the previous post, I talked about using DVDShrink to save .iso from DVDs onto your laptop so that you can play movies in your favorite DVD player just like you would with regular DVDs.&lt;br /&gt;&lt;br /&gt;What I did not mention was that, IF unlike me you are not looking to _shrink_ the original DVD and are fine with your ISO using (almost for all feature DVDs) 8GB of your precious disk space, there is an easier way:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;rutul@rutul-laptop: nice -n +19 mkisofs -dvd-video -V BILL_MAHER_IM_SWISS -o /media/sda1/BILL_MAHER_IM_SWISS.iso /media/cdrom &gt; /dev/null 2&gt; /var/log/mkisofserrors.log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But, if you ever (don't do it, it's probably illegal) want to make a DVD out of that .iso, you will need a dual-layer DVD burner and an appropriate disk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7172982241785394430?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7172982241785394430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7172982241785394430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7172982241785394430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7172982241785394430'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/and-no-dvdshrink.html' title='and no DVDShrink'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5025425311470117448</id><published>2008-02-20T18:48:00.000-08:00</published><updated>2008-02-25T13:15:48.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>dvdshrink</title><content type='html'>I wanted to write a little about &lt;a href="http://www.getautomatix.com/"&gt;Automatix&lt;/a&gt; before I got into details about how useful the packages installed using it have been. But life doesn't pan out as one plans.....I have been realizing that lately. Anyways, more about Automatix some other time. Just know that if you use Ubuntu as your primary OS, you will appreciate having that package manager along with the obviously awesome Synaptic Package Manager.&lt;br /&gt;&lt;br /&gt;I sometimes don't get enough time to watch a movie that I have picked up from the library, and they don't allow renewals. So, I tend to keep a soft copy of the DVD onto my laptop in ISO format, so that I can play it later. This is great if you travel a lot and like to watch movies in flight.&lt;br /&gt;&lt;br /&gt;Step 1: Get DVDShrink (trust me, just use Automatix)&lt;br /&gt;&lt;br /&gt;Step 2: Configure it so that you "Create ISO file only" (very intuitive to select this).&lt;br /&gt;             Specify where you want to create the .iso (directory).&lt;br /&gt;             Specify you want to remove temporary files when done.&lt;br /&gt;             Start&lt;br /&gt;&lt;br /&gt;Step 3: Once you have your .iso at the appropriate location, mount the .iso&lt;br /&gt;            &lt;span style="font-family: courier new;"&gt;sudo mkdir -p /media/movie&lt;/span&gt;&lt;br /&gt;            &lt;span style="font-family: courier new;"&gt;sudo mount -o loop BILL_MAHER_IM_SWISS.iso /media/movie/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 4: Play the .iso&lt;br /&gt;            &lt;span style="font-family: courier new;"&gt;totem /media/movie&lt;/span&gt;&lt;br /&gt;            or&lt;br /&gt;            &lt;span style="font-family: courier new;"&gt;xine /media/movie&lt;/span&gt; (trust me, get Automatix)&lt;br /&gt;&lt;br /&gt;Easy enough and convenient enough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5025425311470117448?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5025425311470117448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5025425311470117448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5025425311470117448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5025425311470117448'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/dvdshrink.html' title='dvdshrink'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-8729501391015542868</id><published>2008-02-19T00:30:00.000-08:00</published><updated>2008-02-19T00:46:24.450-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>more command line tips</title><content type='html'>I &lt;a href="http://rutubuntu.blogspot.com/2008/01/aging-losing-memory-useful-command-line.html"&gt;wrote a few days ago&lt;/a&gt; about a reference document that organizes the commands in well defined categories for quick look-ups. That is useful, but &lt;a href="http://www.pixelbeat.org/cmdline.html#monitor"&gt;this list&lt;/a&gt; is probably better for users like me who know the basic command, but are too lazy and impatient with the man pages since the list gives the commands in form of examples, commonly used.&lt;br /&gt;&lt;br /&gt;Oh well, as with the previous document, not sure if I will ever use it, but it never hurts to keep a bookmark.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-8729501391015542868?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/8729501391015542868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=8729501391015542868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8729501391015542868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/8729501391015542868'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/more-command-line-tips.html' title='more command line tips'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5235068009930915741</id><published>2008-02-18T23:35:00.000-08:00</published><updated>2008-06-03T00:45:12.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>software (un)development</title><content type='html'>My theory is that there are two kinds of software developers (broadly categorized); There are those  that love the science, the art of programming and view each challenge as something to be designed and developed as a precious diamond. And the other kind who get things to work, get features completed and manage to write code that mostly works. I tend to believe that I belong to the latter category. Actually there is a third kind, but they should be fired anyways, so not relevant. But I digress.....&lt;br /&gt;&lt;br /&gt;I recently read an interesting &lt;a href="http://www.inc.com/magazine/20071101/how-hard-could-it-be-five-easy-ways-to-fail.html"&gt;article by Joel Spolsky&lt;/a&gt; in Inc magazine about five reasons/ways a software project fails. Now, I might not be the best judge of what seem to be very obvious bad software development management practices, but I have observed these in my not very long development career, so they make sense to me.&lt;br /&gt;&lt;br /&gt;It is really weird that managers, who have spent years in the field, and even those in successful companies and with successful products, are not immune to these bad practices. All of them should pick up a magazine or two, because asking them to read a book might be a bit too much.&lt;br /&gt;&lt;br /&gt;Briefly, here are the reasons:&lt;br /&gt;1. mediocre team of developers&lt;br /&gt;      Its the manager's responsibility to pick the right people.&lt;br /&gt;2. set weekly milestones&lt;br /&gt;      Weekly? I have worked with someone who require a daily update!&lt;br /&gt;3. negotiate the deadline&lt;br /&gt;      As in wishful thinking because the manager lacks the skills to do effective planning when        starting off and as things progress.&lt;br /&gt;4. divide tasks equitably&lt;br /&gt;     This gets even more interesting when the manager doesn't have a clue about the details of and tries to "balance" the project.&lt;br /&gt;5. Work till midnight&lt;br /&gt;     If it takes X 1 hour to write a 5 line macro, can he write 10 macros in 10 hours?&lt;br /&gt;&lt;br /&gt;I am sure I am not the only engineer who agrees with the list, specially due to having experienced this in their development-lifetime.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5235068009930915741?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5235068009930915741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5235068009930915741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5235068009930915741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5235068009930915741'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/software-undevelopment.html' title='software (un)development'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2127451159084583988</id><published>2008-02-14T23:22:00.000-08:00</published><updated>2008-02-14T23:32:12.215-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>coolbuntu</title><content type='html'>The desktop effects, with Feisty Fawn and then much more advanced in Gusty Gibbon are way too much fun to play around with. I have been meaning to write about my experiences, but thats for another post.&lt;br /&gt;&lt;br /&gt;If you are every looking to get excited over funky desktop effects, make sure to check out the default effects and eventually, if your hardware supports it, beryl.&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xC5uEe5OzNQ&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xC5uEe5OzNQ&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2127451159084583988?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2127451159084583988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2127451159084583988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2127451159084583988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2127451159084583988'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/coolbuntu.html' title='coolbuntu'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6368336440585688232</id><published>2008-02-13T20:02:00.000-08:00</published><updated>2008-02-19T00:30:30.037-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>dosemu</title><content type='html'>Now this is one of those things where I wonder either I have to have way to much time to sit around and try this out, or I am just a nerd. But don't judge, if you grew up in the days of Windows 3.1 and Windows 95 playing shareware PC games (from those much coveted CDs included in PC Magazines), you will understand the joy of it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dosemu.sourceforge.net/"&gt;DOSEMU&lt;/a&gt; is an emulation program for running a _lot_ of DOS executables in Linux. I believe &lt;a href="http://www.winehq.org"&gt;WINE&lt;/a&gt; is great for Windows programs, but this is specifically for DOS, as in Dangerous Dave anyone?&lt;br /&gt;&lt;br /&gt;And not surprisingly, for my Ubuntu laptop, all I had to do was:&lt;br /&gt;    &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install dosemu&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next step, finding my most favorite games, Asteroids, Dangerous Dave, Need for Speed and Wolf. A Google search and some minutes on &lt;a href="http://www.dosgamesarchive.com/list/"&gt;DOS Games Archives&lt;/a&gt; later, I was up and running Need for Speed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6368336440585688232?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6368336440585688232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6368336440585688232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6368336440585688232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6368336440585688232'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/dosemu.html' title='dosemu'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-115591758843802653</id><published>2008-02-12T21:08:00.000-08:00</published><updated>2008-02-13T16:07:43.901-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>et tu, Linux?</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;Well, how is that for a dramatic title? A little Shakespeare &lt;/span&gt;&lt;a style="font-family: arial; color: rgb(51, 51, 255);" href="http://www.bartleby.com/59/6/ettubrute.html"&gt;reference&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;So, a few days ago, a _serious_ bug in the 2. 6 kernel (from 2.6.17 to 2.6.24.1) was discovered. Very well documented on what exactly it is and how to reproduce it locally (if you are one of those) in this &lt;/span&gt;&lt;a style="font-family: arial; color: rgb(51, 51, 255);" href="http://it.slashdot.org/article.pl?sid=08/02/10/2011257&amp;amp;from=rss"&gt;Slashdot article&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;. The issue is that a user can gain access as 'root' if the exploit is execute on your system, which means that now that user has complete access to your system. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;On my personal laptop, it obviously doesn't matter. The issue is when you are running multiuser access servers, as in a University network. I am not a systems administrator, but if I was, I would be worried to say the list. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;Well, it didn't take long to find a patch. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;For us smart Ubuntu users, don't worry about things if you don't know what a patch means. Because we have the strength of Synaptic Update Manager with us. Just simply click on the update notification (which you should have received sometime today) and relax. If you are really curious, &lt;/span&gt;&lt;a style="font-family: arial; color: rgb(51, 51, 255);" href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2008-0600"&gt;this&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt; is the issue that was patch'ed. It will update all the necessary headers, kernel image and source files. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;If you are one of the unfortunate Fedora or RedHat users and running the affected 2.6 kernel, applying the patch to your kernel source and recompiling the kernel is do-able, but not without raising your heartbeat a few notches. This might work for you:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;1. Get the patch from here. It also has a lot of information of how to apply it, etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;&lt;br /&gt;2. cd to the kernel source (hopefully you have it installed). Generally should be /usr/src/linux-2.6.x.x.     If not installed, try this:&lt;/span&gt;&lt;br /&gt;&lt;code  style="color: rgb(0, 0, 0);font-family:arial;"&gt;        &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-x.y.z.tar.bz2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;" &gt;3. Apply the patch to the kernel source. &lt;/span&gt;&lt;br /&gt;       &lt;code  style="color: rgb(0, 0, 0);font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;patch &lt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Compile and install. This can be little tricky if your kernel configuration (.config) is not created for your system. This would be the case if you just downloaded the source.&lt;br /&gt;&lt;br /&gt;If you have the .config for your system, just follow these steps:&lt;br /&gt;a) &lt;/code&gt;&lt;code style="color: rgb(0, 0, 0); font-family: arial;" face="arial"&gt;$ make&lt;br /&gt;&lt;br /&gt;b) &lt;/code&gt;&lt;code style="color: rgb(0, 0, 0); font-family: arial;" face="arial"&gt;$ make modules&lt;br /&gt;&lt;br /&gt;c) $ &lt;/code&gt;&lt;code style="color: rgb(0, 0, 0); font-family: arial;" face="arial"&gt;su -&lt;br /&gt;           #  make modules_install&lt;br /&gt;&lt;br /&gt;d) $&lt;/code&gt;&lt;code style="color: rgb(0, 0, 0); font-family: arial;" face="arial"&gt; make install&lt;br /&gt;&lt;br /&gt;   This should have created the following in your /boot:&lt;br /&gt;       * System.map-2.6.x.x&lt;br /&gt;       * config-2.6.x.x&lt;br /&gt;       * vmlinuz-2.6.x.x&lt;br /&gt;&lt;br /&gt; e) Create initrd image:&lt;br /&gt;       &lt;/code&gt;&lt;code style="color: rgb(0, 0, 0); font-family: arial;" face="arial"&gt;# cd /boot&lt;br /&gt;       # mkinitrd -o initrd.img-2.6.23 2.6.23&lt;br /&gt;&lt;br /&gt;f) Update /etc/grub.conf (as in I am not a fan of LILO)&lt;br /&gt;&lt;br /&gt;g) Say a prayer and reboot&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-115591758843802653?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/115591758843802653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=115591758843802653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/115591758843802653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/115591758843802653'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/et-tu-linux.html' title='et tu, Linux?'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6910126390777335038</id><published>2008-02-08T00:34:00.000-08:00</published><updated>2008-02-13T16:07:56.666-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>conky</title><content type='html'>As I spend more time on my laptop these days, I tend to play around with the more _cooler_ tools that make the whole Linux-as-a-desktop-experience a little more interesting. Very recently Linux Trovalds expressed &lt;a href="http://blog.wired.com/monkeybites/2008/02/linus-torvalds.html"&gt;his thoughts&lt;/a&gt; on Linux desktop which is an interesting read.&lt;br /&gt;&lt;br /&gt;The tool I enjoyed mucking around with recently is called &lt;a href="http://conky.sourceforge.net/"&gt;conky&lt;/a&gt; - a light weight system monitor that embeds itself into the desktop and you can configure it to feel and look exactly how you want it to.&lt;br /&gt;&lt;br /&gt;Of course, the Ubuntu experience is worth spending a few minutes configuring it exactly the way you want it to with all the information you can get from &lt;a href="http://ubuntuforums.org/showthread.php?t=205865"&gt;this forum&lt;/a&gt;. As you try and set it up to give the exact bits of information, this l&lt;a href="http://conky.sourceforge.net/variables.html"&gt;ist of conky variables&lt;/a&gt; is very useful, however I am having trouble setting up the following two things:&lt;br /&gt;&lt;br /&gt;- battery display only works when the laptop is charging.&lt;br /&gt;- the wireless-link bar doesn't display anything.&lt;br /&gt;&lt;br /&gt;My &lt;a href="http://www.employees.org/%7Erutul/WWW/wp-content/.conky"&gt;.conkyrc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6910126390777335038?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6910126390777335038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6910126390777335038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6910126390777335038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6910126390777335038'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/conky.html' title='conky'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-7128963929498844850</id><published>2008-02-05T01:37:00.000-08:00</published><updated>2008-06-03T00:43:54.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>glamorous != software development</title><content type='html'>As almost every software engineer, I wish our jobs can gain acceptance in society as being a glamorous profession one day! That way I can get rid of my fake visiting cards in which I am a model scout and live in LA but travel to Europe once a week, but which gets tiring since all that the models ever want to do is go out drinking........well I digress, but you get the point!&lt;br /&gt;&lt;br /&gt;Anyways, if you like reading nerdy-stuff, Slashdot had a &lt;a href="http://http//www.jonandnic.com/topics/ravings/embracing-my-inner-geek-part-2-the-job"&gt;link to this vent&lt;/a&gt; written by a software engineer/developer with a pretty unique take on making it sound way more interesting than it really is. But hey, if that changes the opinion about "our kind' for the cute red head at the coffee shop next door, I am not complaining.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-7128963929498844850?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/7128963929498844850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=7128963929498844850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7128963929498844850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/7128963929498844850'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/glamorous-software-development.html' title='glamorous != software development'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-6709255674675897024</id><published>2008-02-04T10:18:00.000-08:00</published><updated>2008-02-05T01:36:05.172-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>mobile penguins</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OfjUoE_DRWs/R6gtpWIU4XI/AAAAAAAAA88/2c6fcuv08As/s1600-h/phone.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_OfjUoE_DRWs/R6gtpWIU4XI/AAAAAAAAA88/2c6fcuv08As/s200/phone.jpg" alt="" id="BLOGGER_PHOTO_ID_5163427161118663026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ever since &lt;a href="http://code.google.com/android/"&gt;Google's Android&lt;/a&gt; development platform was released, I keep noticing the Linux mobile development platforms getting a lot more news. Either that, or its like when you are decide to buy a car and then suddenly you start noticing only that model on the road everywhere.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.limofoundation.org/"&gt;LiMo&lt;/a&gt;, recently announced it will be coming out with a standard specification for creating shared and open mobile applications/platforms. There is another group, &lt;a href="http://www.lipsforum.org/"&gt;Linux Phone Standards&lt;/a&gt;, doing pretty much the same thing.&lt;br /&gt;&lt;br /&gt;Lot more details in this &lt;a href="http://www.news.com/Key-mobile-Linux-platform-out-in-March/2100-1039_3-6229032.html?tag=nefd.top"&gt;news.com&lt;/a&gt; article.&lt;br /&gt;&lt;br /&gt;The most interesting however was reading about how Ubuntu is making a strong impact on stacking claim as being the best distribution for being the best platform for mobile/handheld devices. Gusty Gibbion (which I have yet to try out) includes support for Ubuntu Mobile and Embedded (UME) project that "aims to derive an operating system for mobile internet devices using Ubuntu as a base".&lt;br /&gt;&lt;br /&gt;There is this &lt;a href="http://www.ibm.com/developerworks/edu/l-dw-linux-ubuntu-i.html"&gt;nice tutorial&lt;/a&gt; on quickly getting yourself acquainted with the embedded development framework and tools to get start.&lt;br /&gt;&lt;br /&gt;I want to get myself involved with one of these projects, but I am still thinking of what application do I really want built into my phone? I am old fashioned I guess since besides wanting to make and receive phone calls reliably, I really don't expect much out of my phone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-6709255674675897024?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/6709255674675897024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=6709255674675897024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6709255674675897024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/6709255674675897024'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/limo.html' title='mobile penguins'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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://4.bp.blogspot.com/_OfjUoE_DRWs/R6gtpWIU4XI/AAAAAAAAA88/2c6fcuv08As/s72-c/phone.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4555758779042909992.post-1239138102012334975</id><published>2008-02-03T22:13:00.000-08:00</published><updated>2008-02-05T01:36:14.448-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>slashdot - data center</title><content type='html'>Going through &lt;a href="http://slashdot.org/"&gt;Slashdot&lt;/a&gt; used to be part of a daily routine some time ago. Anyways, I had gone through &lt;a href="http://meta.slashdot.org/article.pl?sid=07/10/18/1641203"&gt;this&lt;/a&gt; interesting article on Slashdot's data center setup back in October, 2007. It was certainly an interesting read, since it is good to know what it takes to setup and administer a pretty heavy website.&lt;br /&gt;&lt;br /&gt;The interesting part was reading about what software they would be running on the Web Servers. As expected, all of their 16 servers run Linux, but RedHat 9 (really???...well, I guess this was setup back in 1999). I guess the distribution doesn't really matter as long as you can manage and upgrade whenever necessary.&lt;br /&gt;In addition, they have 7 databases, running CentOS.&lt;br /&gt;&lt;br /&gt;I am not an administrator, but the &lt;a href="http://meta.slashdot.org/article.pl?sid=07/10/22/145209"&gt;second part&lt;/a&gt; of the article did get into details about the Apache setup on the 16 servers which could be interesting to read.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1239138102012334975?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1239138102012334975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1239138102012334975' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1239138102012334975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1239138102012334975'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/slashdot-data-center.html' title='slashdot - data center'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-5304877875302204114</id><published>2008-02-01T16:07:00.001-08:00</published><updated>2008-02-01T16:21:58.540-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>pdsh - rsh to multiple remote systems</title><content type='html'>A useful tool, specially when you are working with multiple systems/servers is &lt;a href="http://linux.die.net/man/1/pdsh"&gt;pdsh&lt;/a&gt;. A variant of rsh, where it runs the command on multiple remote systems.  And it does this smart where it fans out sending the command (multiple threads) so that we are not waiting for timeouts on some connections if that happens.&lt;br /&gt;&lt;br /&gt;The man page is fairly detailed, and the impressive feature is that the command accepts host lists in general format (Its not really regular expressions, but does the job effectively. ) I can do the following:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;[rutul@rutul-laptop]#pdsh -w 10.35.74.[66-72] ls&lt;br /&gt;10.35.74.72: anaconda-ks.cfg&lt;br /&gt;10.35.74.72: bin&lt;br /&gt;10.35.74.71: ssh: connect to host 10.35.74.71 port 22: Connection refused&lt;br /&gt;10.35.74.69: ssh: connect to host 10.35.74.71 port 22: Connection refused&lt;br /&gt;10.35.74.66: anaconda-ks.cfg&lt;br /&gt;10.35.74.66: Desktop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pressing ctrl-c once shows status of all the connections:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;pdsh@rutul-laptop: interrupt (one more within 1 sec to abort)&lt;br /&gt;pdsh@rutul-laptop:  (^Z within 1 sec to cancel pending threads)&lt;br /&gt;pdsh@rutul-laptop: 10.35.74.67: command in progress&lt;br /&gt;pdsh@rutul-laptop: 10.35.74.68: command in progress&lt;br /&gt;pdsh@rutul-laptop: 10.35.74.70: command in progress&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;and another ctrl-c within one second aborts:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;sending SIGTERM to ssh 10.35.74.67 pid 8161&lt;br /&gt;sending SIGTERM to ssh 10.35.74.68 pid 8162&lt;br /&gt;sending SIGTERM to ssh 10.35.74.70 pid 8164&lt;br /&gt;pdsh@rutul-laptop: interrupt, aborting.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Very useful if you spend some time working on clusters and are clever at scripting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-5304877875302204114?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/5304877875302204114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=5304877875302204114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5304877875302204114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/5304877875302204114'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/pdsh.html' title='pdsh - rsh to multiple remote systems'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-2580288969784287091</id><published>2008-02-01T15:27:00.000-08:00</published><updated>2008-02-01T16:21:58.541-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>heavyreading....for later</title><content type='html'>I haven't yet setup the LAMP server that I mentioned in &lt;a href="http://rutubuntu.blogspot.com/2008/01/search-for-server-distribution.html"&gt;a previous post&lt;/a&gt;, but once I am up and running, I expect to do some tuning for performance improvements.&lt;br /&gt;&lt;br /&gt;IBM's DeveloperWorks often has some very up-to-date articles on Linux and open source and came across &lt;a href="http://www.ibm.com/developerworks/views/linux/libraryview.jsp?topic_by=All+topics+and+related+products&amp;amp;sort_order=desc&amp;amp;lcl_sort_order=desc&amp;amp;search_by=tuning+lamp&amp;amp;search_flag=true&amp;amp;type_by=Articles&amp;amp;show_abstract=true&amp;amp;sort_by=Relevance&amp;amp;end_no=100&amp;amp;show_all=false"&gt;this&lt;/a&gt; series of 3 articles that seem a good starting point for the experiments I could do to optimize my setup.&lt;br /&gt;&lt;br /&gt;If I get around to it, will try and document my experiences.&lt;br /&gt;&lt;br /&gt;Here are the individual links:&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/linux/library/l-tune-lamp-1/index.html?S_TACT=105AGX03&amp;amp;S_CMP=EDU"&gt;Part 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/linux/library/l-tune-lamp-2.html?S_TACT=105AGX03&amp;amp;S_CMP=EDU"&gt;Part 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/linux/library/l-tune-lamp-3.html?S_TACT=105AGX03&amp;amp;S_CMP=EDU"&gt;Part 3&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-2580288969784287091?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/2580288969784287091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=2580288969784287091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2580288969784287091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/2580288969784287091'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/heavyreadingfor-later.html' title='heavyreading....for later'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-1731785985975742916</id><published>2008-02-01T12:16:00.000-08:00</published><updated>2008-02-01T12:33:09.022-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>in case of emergency</title><content type='html'>On one of the embedded devices that I write software for, I am running the 2.6.21 kernel patched with &lt;a href="http://lwn.net/Articles/146861/"&gt;preempt-rt&lt;/a&gt; patch. I won't get into discussing what my opinion of &lt;a href="http://www.linuxdevices.com/articles/AT8073314981.html"&gt;real-time Linux&lt;/a&gt; is right now, so save that for a later post.&lt;br /&gt;&lt;br /&gt;But, since the device is going to be deployed in a 24-7 environment, I figured it might help to reboot the system in case of a kernel panic rather than having it sit around since the privilege of console access is not affordable.&lt;br /&gt;&lt;br /&gt;The solution, configure /etc/sysconfig.conf :&lt;br /&gt;&lt;br /&gt; kernel.panic = N  # to reboot immediately&lt;br /&gt; kernel.panic =  5 # to  reboot after a 5 second delay&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;You will notice the change in /proc/sys/kernel/panic, which means, you can change this at runtime by doing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;echo 5 &gt; /proc/sys/kernel/panic&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1731785985975742916?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1731785985975742916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1731785985975742916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1731785985975742916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1731785985975742916'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/02/in-case-of-emergency.html' title='in case of emergency'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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-4555758779042909992.post-1664221692513515597</id><published>2008-01-30T23:36:00.000-08:00</published><updated>2008-01-31T00:40:29.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>making things easy - single command for any archive</title><content type='html'>Since we are on the topic of commands (previous post), I have been using &lt;a href="http://martin.ankerl.com/2006/08/11/program-e-extract-any-archive/"&gt;this&lt;/a&gt; simple utility (called "e") that makes it possible to extract almost _any_ type of archive. I have been able to use it successfully for .zip, .tar, .tar.gz, .tar.bz, .deb and (wait for it.....) .rpm.&lt;br /&gt;&lt;br /&gt;It is written in Ruby and recognizes the type of source from its content and not by extension.&lt;br /&gt;&lt;br /&gt;It's cool....now I will never need to remember the "-" options for any of the individual commands. But thats the least impressive benefit according to me. The fact that it allows me to extract an RPM package is the best. Check &lt;a href="http://www.cyberciti.biz/tips/how-to-extract-an-rpm-package-without-installing-it.html"&gt;this&lt;/a&gt; post out about using rpm2cpio to extract an RPM (of course without installing it) since there is no option with the 'rpm' command itself.&lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:arial;"&gt;rutul@rutul-laptop:~/tmp$ e php-5.1.4-1.esp1.x86_64.rpm &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;./etc/httpd/conf.d/php.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;./etc/php.d&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;snip&gt;&lt;/snip&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;./var/www/icons/php.gif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;19188 blocks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rutul@rutul-laptop:~/tmp$ ls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;etc  php-5.1.4-1.esp1.x86_64.rpm  usr  var&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, not much success with this experiment. A few days ago, after I compiled a kernel RPM, installed it and created the initrd image, I had trouble booting because it was missing some modules. So, I had to dig into it to check if everything I had wanted did get compiled/build in.&lt;br /&gt;&lt;br /&gt;So, this is what I had to do:&lt;br /&gt;&lt;span style="font-size:78%;"&gt;mv initrd-2.6.21-1.3194.fc7.img initrd-2.6.21-1.3194.fc7.gz&lt;br /&gt;gunzip &lt;&gt;&lt;br /&gt;&lt;br /&gt;Now I tried to do:&lt;br /&gt;&lt;span style="font-size:78%;"&gt;rutul@rutul-laptop:/boot/tmp$ sudo e initrd.img-2.6.20-16-generic&lt;br /&gt;gzip: initrd.img-2.6.20-16-generic: unknown suffix -- ignored&lt;br /&gt;&lt;br /&gt;ERROR extraction not successful with these files:&lt;br /&gt;initrd.img-2.6.20-16-generic: gzip compressed data, from Unix, last modified: Tue Jan 29 02:03:36 2008, max compression&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;As you can see, no luck there.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4555758779042909992-1664221692513515597?l=rutubuntu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rutubuntu.blogspot.com/feeds/1664221692513515597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4555758779042909992&amp;postID=1664221692513515597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1664221692513515597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4555758779042909992/posts/default/1664221692513515597'/><link rel='alternate' type='text/html' href='http://rutubuntu.blogspot.com/2008/01/making-things-easy-single-command-for.html' title='making things easy - single command for any archive'/><author><name>RD</name><uri>http://www.blogger.com/profile/17445257238578451383</uri><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>
