<?xml version='1.0' encoding='windows-1252'?><?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'><id>tag:blogger.com,1999:blog-4052796</id><updated>2010-02-01T22:24:45.617-07:00</updated><title type='text'>Anil's Doublespeak</title><subtitle type='html'>All that's been said and done.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.ecogito.net/anil/anil_doublespeak_atom.xml'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>473</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4052796.post-1039518431842282023</id><published>2010-02-01T21:12:00.003-07:00</published><updated>2010-02-01T22:24:45.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='naked frame'/><category scheme='http://www.blogger.com/atom/ns#' term='photographs'/><title type='text'>Launching The Naked Frame</title><content type='html'>A little over a month ago, my friend Rouzbeh and I were talking about making nice prints of our pictures and doing a gallery showing. As we worked on filtering our pictures to create a collection that was small and represented our work best, we also wondered if we couldn't just create an online gallery where people could browse and purchase these prints.&lt;br /&gt;&lt;br /&gt;As we looked around at the available solutions, we found that there wasn't anything that really excited us. We wanted a website that looked classy and didn't put us in with thousands of other artists with unlimited portfolios (i.e. we didn't want to get lost in a huge pool of pictures). We also wanted the website to focus on photographic art. You know where I'm going with this - we didn't find any that completely satisfied us, which led us to ask ourselves - could we build one?&lt;br /&gt;&lt;br /&gt;That was around Christmas last year. Over this past month, the two of us (with an infinite amount of support from friends who chipped in with business advice, general feedback and encouragement) have built a website that attempts to create an online art marketplace where people can find and purchase limited-edition prints of photographs that are printed professionally. Along the way, we have also collected a few fellow photographers who have put up their collections and I hope to introduce them well in the official blog over time.&lt;br /&gt;&lt;br /&gt;This is a baby-step and is intended to put our art out there while also helping us to learn what people really want. We hope to impress you with the collection of art we have, along with the quality of the prints we will give you. For now we are not offering anything other than prints on photographic paper, but in the future we will offer more high-end products such as prints mounted on masonite, prints on metal and possibly even framed prints. But as I said, baby steps.&lt;br /&gt;&lt;br /&gt;So, head over to &lt;a href="http://www.thenakedframe.com"&gt;The Naked Frame&lt;/a&gt;, browse around and hopefully you'll find something you like. If not, that's okay, but don't forget to send us some feedback about what you liked or disliked and what you would like to see. (There's a nice little feedback button on the top of the website just for that!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-1039518431842282023?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/1039518431842282023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=1039518431842282023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1039518431842282023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1039518431842282023'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2010/02/launching-naked-frame.html' title='Launching The Naked Frame'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-7885908920199631778</id><published>2010-01-16T12:42:00.003-07:00</published><updated>2010-01-16T12:51:37.528-07:00</updated><title type='text'>HOWTO: Connect your blog to Facebook</title><content type='html'>Facebook doesn't make this obvious, but you can be active on Facebook without actually being there. For example, the notes I post on Facebook are actually post on my blog (http://www.ecogito.net/anil) which Facebook picks up and posts as 'Notes' on my profile. If you have a blog for the outside world, here's how you can connect it to your FB profile.&lt;br /&gt;&lt;br /&gt;1. Click on the start menu on the bottom of your Facebook window. This is the button that has the facebook logo and the text 'Applications' on it. (See image).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ecogito.net/anil/uploaded_images/Notes-Step1-706698.png"&gt;&lt;img src="http://www.ecogito.net/anil/uploaded_images/Notes-Step1-706696.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. On the menu that pops up, choose 'Notes'. (This is not the only way to go to Notes since you can also click on 'Notes' in your profile, but things work differently if you go down that route.) Now you should be on the 'My Friends' Notes' page. Click on the 'Import a blog' button on the right&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ecogito.net/anil/uploaded_images/Notes-Step2-730775.png"&gt;&lt;img src="http://www.ecogito.net/anil/uploaded_images/Notes-Step2-730769.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Just enter the address of the RSS or Atom feed in this page, and you're done! For now, FB only allows you to import one blog into your notes, so if you want to add a different blog, you'll have to remove an existing one. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ecogito.net/anil/uploaded_images/Notes-Step3-776406.png"&gt;&lt;img src="http://www.ecogito.net/anil/uploaded_images/Notes-Step3-776398.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-7885908920199631778?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/7885908920199631778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=7885908920199631778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/7885908920199631778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/7885908920199631778'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2010/01/howto-connect-your-blog-to-facebook.html' title='HOWTO: Connect your blog to Facebook'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-3937709468837227209</id><published>2009-12-22T00:49:00.004-07:00</published><updated>2009-12-22T01:08:23.957-07:00</updated><title type='text'>Why Avatar was a disappointment for me</title><content type='html'>Cameron's 'Avatar' is a great movie. It's absolutely beautiful to look at and people will be talking about it for a long time to come. However a great looking movie doesn't always mean an interesting one. (Just look at the last two Matrix movies or 300 or even Transformers) Here's what makes this movie a disappointment for me&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;For all the creativity shown in depicting the planet Pandora, it feels like all the creativity was spent on the beauty of the forests and the level of detail in the creatures, but not on the concept of what would make the planet different. Pandora seems to be just like earth, just prettier and completely interconnected. The trees look like earth trees (just more luminescent), the animals are just like earth animals, only with six legs and a lot more prehistoric. Almost as if Pandora is a Disney fantasy mated with Jurassic Park. Is that the best they could come up with in ten years?&lt;/li&gt;&lt;li&gt;The Na'vi are just Native Americans in a different world. Taller and blue skinned instead of dark skinned, but otherwise the same. Down to the jewellery and customs. I can understand why they would be humanoid for the story, but it's hard not to draw conclusions about this being a space-Pocohontas when you are constantly feeling that the Na'vi are just humans with blue stuff smeared on them. After a while, you stop noticing that they are taller than humans because there are few scenes where they actually stand with humans.&lt;/li&gt;&lt;li&gt;The natives have very unbelievable statistics. Where are the variations that you normally see everywhere? The women are identical, have the &lt;a href="http://www.movieline.com/2009/11/movieline-explores-james-camerons-exhaustive-search-for-the-perfect-alien-breasts.php"&gt;same boobs&lt;/a&gt; and the men are all exactly the same kind of lean. It's almost as if they made one model and then multiplied them for the animation.&lt;/li&gt;&lt;li&gt;Very cheesy dialogue and predictable plot. A predictable plot is not bad as long as the treatment is different. Unfortunately this is as cheesy as it gets.&lt;/li&gt;&lt;li&gt;Deux ex machina - when Jake Sully was praying to the tree, I almost felt like I was watching a 60's era hindi movie where the heroine would pray to some gods and there would be a miracle in the climax of the movie. And that's exactly what happened here.&lt;/li&gt;&lt;li&gt;The airships are all armored and bulletproof (made amply clear in the scene where an airship is shot at and nothing happens). They show arrows just bouncing off them, but when Jake Sully decides to fight back, he's able to punch holes in the glass using the same arrows. Really?&lt;/li&gt;&lt;li&gt;Very stereotyped and one-dimensional characters. The bad guys are almost comically bad - beyond what's believable. The good guys are almost stupidly good. Jake Sully gets accepted into the Na'vi clan within a few lines of the script with no good explanation why. (Yeah, there was a 'sign')&lt;/li&gt;&lt;li&gt;A lot of work was put in to make the Na'vi look believable with incredibly good detailing and skin textures. However, while the robots are huge and appear to move with the expected body weight, the Na'vi move in a cartoonish way as if they are feather-light. Reminded me of the bad physics in the first Hulk movie.&lt;/li&gt;&lt;/ol&gt;These might be little things, but when you are watching something that's billed as an epic, these little things can be big ruiners.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-3937709468837227209?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/3937709468837227209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=3937709468837227209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/3937709468837227209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/3937709468837227209'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2009/12/why-avatar-was-disappointment-for-me.html' title='Why Avatar was a disappointment for me'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-8451985740414827776</id><published>2009-11-08T11:16:00.004-07:00</published><updated>2009-11-08T22:01:07.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>News Coverage - A comparison of major news websites</title><content type='html'>On November 8, there were three major news stories as shown by Google News. I'll use that as a baseline since Google News aggregates the opinion of a large number of newspapers and is probably a good indicator of what's considered newsworthy.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086791422/" title="Screen shot 2009-11-08 at 10.33.51 AM-Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2706/4086791422_5d45fa7de7.jpg" width="500" height="272" alt="Screen shot 2009-11-08 at 10.33.51 AM-Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, what we have is three major news items on this day - The Healthcare Bill passing the house floor, Hurricane Ida and related weather items, and the Fort Hood shooting. Let's see how the major news websites reported on these at approximately the same time. I'm also providing my own opinion and commentary, but feel free to ignore those.&lt;br /&gt;&lt;br /&gt;The New York Times decided to give the Healthcare Bill prime space on its front page with no mention of Ida or Fort Hood above the fold.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086036015/" title="Screen shot 2009-11-08 at 10.31.49 AM - Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2729/4086036015_80c607a1b9.jpg" width="500" height="342" alt="Screen shot 2009-11-08 at 10.31.49 AM - Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Washington Post gave coverage to both the bill and the shooting, but a major chunk of the front page real estate was taken up by ads and articles of debatable front-page-news-worthiness.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086036175/" title="Screen shot 2009-11-08 at 10.31.27 AM - Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2664/4086036175_020276783c.jpg" width="500" height="342" alt="Screen shot 2009-11-08 at 10.31.27 AM - Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Wall Street Journal gave coverage to the bill and shootings with very little sensationalism and good summaries of both topics.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086791778/" title="Screen shot 2009-11-08 at 10.31.02 AM - Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3100/4086791778_427af153ab.jpg" width="500" height="338" alt="Screen shot 2009-11-08 at 10.31.02 AM - Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fox News was more like a supermarket checkout-stand magazine with sensationalist headlines and images.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086791948/" title="Screen shot 2009-11-08 at 10.30.36 AM - Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2660/4086791948_89f5350bf4.jpg" width="500" height="332" alt="Screen shot 2009-11-08 at 10.30.36 AM - Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CNN was weirdly surprising. Healthcare got a couple of lines in the 'Latest News' segment while the attention grabbing part of the page was a video-still that seemed to be there more for the entertainment value rather than news value. Depending on when you visited the page, you would have gotten either the Fort Hood video or a video on 'New mom inspired to lose 71 pounds'.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086036589/" title="Screen shot 2009-11-08 at 10.30.12 AM - Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2612/4086036589_afcf8e7a72.jpg" width="500" height="334" alt="Screen shot 2009-11-08 at 10.30.12 AM - Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BBC (I chose the BBC 'Americas' section to be fair instead of the home page which is not America-centric) had one of the best layouts for news with good coverage for all three news items.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/4086036739/" title="Screen shot 2009-11-08 at 11.07.00 AM - Annotated by Zimbly Anil!, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2729/4086036739_56c215d436.jpg" width="500" height="304" alt="Screen shot 2009-11-08 at 11.07.00 AM - Annotated" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If I had to visit a single website other than Google News to get a good summary and news roundup, I guess I would have to visit either BBC or the WSJ.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-8451985740414827776?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/8451985740414827776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=8451985740414827776' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/8451985740414827776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/8451985740414827776'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2009/11/news-coverage-comparison-of-major-news.html' title='News Coverage - A comparison of major news websites'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-3839655443576737644</id><published>2009-02-21T18:37:00.004-07:00</published><updated>2009-02-22T10:46:33.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>HOWTO: How send email using Gmail or Google Apps from Rails</title><content type='html'>If you are developing a Rails application that needs to send email, you probably want to have support for sending emails without having sendmail or an smtp server installed on every development machine.&lt;br /&gt;&lt;br /&gt;Everyone who has a Gmail account has access to their SMTP server for free, but there are some caveats:&lt;br /&gt;&lt;br /&gt;1. Google only allows secure SMTP connections and Rails does not have support for this out-of-the-box.&lt;br /&gt;2. Even if you solve problem #1, you do not want to embed your gmail password in your code.&lt;br /&gt;&lt;br /&gt;Let's solve Issue #2 first: There are two immediate solutions&lt;br /&gt;&lt;br /&gt;1. Create a throwaway gmail account just for your rails project.&lt;br /&gt;2. Configure one of your domains for Google Apps, and create an email address purely for your Rails development (Google allows upto 200 email addresses in the free version).  You can embed this username and password in your application and not worry about other folks having access to it.&lt;br /&gt;&lt;br /&gt;Now about Issue #1:&lt;br /&gt;&lt;br /&gt;There's a hack called 'smtp_tls' to enable secure SMTP access in Rails, but I've had trouble finding the original blog post that described this, even though that code is available in many different places. Here's an easy way to get it working.&lt;br /&gt;&lt;br /&gt;1. Download 'smtp_tls' from &lt;a href="http://www.kandangath.com/downloads/smtp_tls.rb"&gt;here&lt;/a&gt;. (You can also google 'smtp_tls' to find it elsewhere) and copy it to your {RAILS_ROOT}/lib/&lt;br /&gt;&lt;br /&gt;2. Edit {RAILS_ROOT}/config/environment.rb.&lt;br /&gt;At the bottom of the file (after the very last line) add the following&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;require 'smtp_tls'&lt;br /&gt;&lt;br /&gt;ActionMailer::Base.raise_delivery_errors = true&lt;br /&gt;ActionMailer::Base.delivery_method = :smtp&lt;br /&gt;ActionMailer::Base.smtp_settings = {&lt;br /&gt;  :address =&gt; "smtp.gmail.com",&lt;br /&gt;  :port =&gt; "587",&lt;br /&gt;  :domain =&gt; "&lt;span style="font-weight:bold;"&gt;yourdomain.com&lt;/span&gt;",&lt;br /&gt;  :authentication =&gt; :plain,&lt;br /&gt;  :user_name =&gt; "&lt;span style="font-weight:bold;"&gt;username@yourdomain.com&lt;/span&gt;",&lt;br /&gt;  :password =&gt; "&lt;span style="font-weight:bold;"&gt;yourpassword&lt;/span&gt;"&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Of course, replace &lt;span style="font-weight:bold;"&gt;yourdomain.com&lt;/span&gt; with the domain where Google Apps is running, and &lt;span style="font-weight:bold;"&gt;username&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;yourpassword&lt;/span&gt; with the username and password that you created on that domain. Note that the :userame has to be your complete email address for Google Apps. You do not have to change the settings for :address and :port since the smtp server address does not depend on the domain that you configured Google Apps for. The :port parameter can be either 587 or 465. &lt;br /&gt;&lt;br /&gt;If you are using a regular Gmail account, use that account's settings for ::user_name and :password.&lt;br /&gt;&lt;br /&gt;You can find more information about Google's SMTP settings on their &lt;a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;answer=13287"&gt;help page&lt;/a&gt;, but you wouldn't need anything more than what's described above.&lt;br /&gt;That's it! In your code, use ActionMailer like you would normally do.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-3839655443576737644?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/3839655443576737644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=3839655443576737644' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/3839655443576737644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/3839655443576737644'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2009/02/howto-how-send-email-using-gmail-or.html' title='HOWTO: How send email using Gmail or Google Apps from Rails'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-874443962448960342</id><published>2008-08-03T08:34:00.005-07:00</published><updated>2008-08-04T08:25:35.030-07:00</updated><title type='text'>Gringo...</title><content type='html'>From my friend Heather's recent trip to Chile.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/heatheradunn/SIS4wxqkYUI/AAAAAAAACFU/Ri3dy12SR9E/IMG_0755.JPG?imgmax=512" /&gt;&lt;br /&gt;&lt;br /&gt;Edit: Welcome &lt;a href="http://www.reddit.com/comments/6up2d/gringo_rememberpic/"&gt;Reddit Users&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-874443962448960342?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/874443962448960342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=874443962448960342' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/874443962448960342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/874443962448960342'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/08/gringo.html' title='Gringo...'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-7238409879236286174</id><published>2008-05-11T13:22:00.003-07:00</published><updated>2008-05-11T13:33:38.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='profile'/><category scheme='http://www.blogger.com/atom/ns#' term='social-networks'/><title type='text'>Facebook Profile</title><content type='html'>Choosing your profile picture (from PhD Comics - extras included)&lt;br /&gt;&lt;img src="http://www.phdcomics.com/comics/archive/phd042108s.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.phdcomics.com/comics/archive/phd042108extra.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Original comic &lt;a href="http://www.phdcomics.com/comics/archive.php?comicid=1006"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-7238409879236286174?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/7238409879236286174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=7238409879236286174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/7238409879236286174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/7238409879236286174'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/05/facebook-profile.html' title='Facebook Profile'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-4883656162482936092</id><published>2008-05-09T18:31:00.002-07:00</published><updated>2008-05-09T18:38:30.420-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='Leopard'/><title type='text'>Ruby on Rails and mysql connection problems</title><content type='html'>If you are losing connection to mysql every so often on OSX (I'm using 10.5 Leopard), it's probably because you do not have the native C ruby-mysql bindings. If your error looks like this:&lt;br /&gt;&lt;blockquote&gt;Mysql::Error: Lost connection to MySQL server during query: &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;then try the following. Verify that the bindings are really not present. In a terminal window, open up the interactive ruby shell and type the following commands:&lt;br /&gt;&lt;blockquote&gt;irb&lt;br /&gt;&gt;&gt; require 'mysql.bundle'&lt;br /&gt;=&gt; true&lt;br /&gt;&gt;&gt; exit&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you do not get 'true', then you need the bindings. Back to your terminal window and type the following:&lt;br /&gt;&lt;blockquote&gt;$ sudo -s&lt;br /&gt;$ ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/usr/local/mysql&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Try &lt;i&gt;require 'mysql.bundle'&lt;/i&gt; again and this time you should get back &lt;i&gt;true&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Sources: &lt;a href="http://groups.google.ca/group/rubyonrails-talk/browse_thread/thread/93a1e57b315b2664"&gt;1&lt;/a&gt; and &lt;a href="http://ruby.macosforge.org/trac/wiki/Troubleshooting#IcannotbuildrubymysqlonLeopardwithmysql.combinaries"&gt;2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-4883656162482936092?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/4883656162482936092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=4883656162482936092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4883656162482936092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4883656162482936092'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/05/ruby-on-rails-and-mysql-connection.html' title='Ruby on Rails and mysql connection problems'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-5633934985343128282</id><published>2008-05-03T20:58:00.002-07:00</published><updated>2008-05-03T21:02:12.585-07:00</updated><title type='text'>Grounds for your garden</title><content type='html'>Did you know that you can get &lt;a href="http://www.epa.gov/epaoswer/osw/conserve/2004news/04-star.htm"&gt;coffee grounds for free&lt;/a&gt; from any Starbucks? Just walk in and ask for 'Grounds for your Garden' and you will receive a huge bag of used coffee grounds that you can use to &lt;a href="http://www.starbucks.com/aboutus/compost.asp"&gt;dress up your soil&lt;/a&gt;. If you live in Arizona, you probably need some acidity in your soil anyway, so try it out! &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-5633934985343128282?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/5633934985343128282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=5633934985343128282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/5633934985343128282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/5633934985343128282'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/05/grounds-for-your-garden.html' title='Grounds for your garden'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-4340481850204062716</id><published>2008-04-14T11:16:00.002-07:00</published><updated>2008-04-14T11:19:05.486-07:00</updated><title type='text'>Aim for Fame</title><content type='html'>From Banksy's &lt;a href="http://twistedhumor.misbehave.org.uk/2004/12/guide-to-cutting-stencils-by-banksy.html"&gt;guide to cutting stencils&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Any fame is a bi-product of making something that means something. &lt;b&gt;You don't go to a restaurant and order a meal because you want to have a shit.&lt;/b&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-4340481850204062716?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/4340481850204062716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=4340481850204062716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4340481850204062716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4340481850204062716'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/04/aim-for-fame.html' title='Aim for Fame'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-1382424533418949601</id><published>2008-02-10T23:19:00.001-07:00</published><updated>2008-02-10T23:21:11.166-07:00</updated><title type='text'>The economy is growing... so what?</title><content type='html'>I don't think there's any way to summarize this post, so just go ahead and &lt;a href="http://bvirdee.blogspot.com/2008/02/economic-growth-at-85-so-what.html"&gt;read it&lt;/a&gt;. Bloody brilliant!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-1382424533418949601?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/1382424533418949601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=1382424533418949601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1382424533418949601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1382424533418949601'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/02/economy-is-growing-so-what.html' title='The economy is growing... so what?'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-4193151025957644669</id><published>2008-02-10T14:22:00.000-07:00</published><updated>2008-02-10T14:40:49.571-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='translation'/><category scheme='http://www.blogger.com/atom/ns#' term='chat'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>HOWTO: Carry on a multi-lingual conversation using Google Talk</title><content type='html'>I've always been a fan of Google's &lt;a href="http://www.google.com/language_tools"&gt;language tools&lt;/a&gt;, especially when I'm trying to find out how to say a phrase in Spanish. Now Google has &lt;a href="http://googletalk.blogspot.com/2007/12/merry-christmas-god-jul-and.html"&gt;built a bot out of the tool&lt;/a&gt; so that you can actually chat to it using Google Talk (or any jabber client) and receive the translation in real time.&lt;br /&gt;&lt;br /&gt;Here's how to use it: Simply add &lt;span style="font-weight:bold;"&gt;en2es&lt;/span&gt;@bot.talk.google.com to your friend list and chat with the bot to automatically translate from english to spanish. Google has a list of currently supported language codes, but you can always try out a code to see if it has been implemented. (The current list is ar2en, de2en, de2fr, el2en, en2ar, en2de, en2el, en2es, en2fr, en2it, en2ja, en2ko, en2nl, en2ru, en2zh, es2en, fr2de, fr2en, it2en, ja2en, ko2en, nl2en, ru2en, zh2en)&lt;br /&gt;&lt;br /&gt;Now, let's say that you are trying to talk to a Spanish speaking person over chat and &lt;span style="font-weight:bold;"&gt;neither of you are particularly good at the other language&lt;/span&gt;. You carry on a perfectly usable conversation by following these steps:&lt;br /&gt;&lt;br /&gt;1. Add en2es@bot.talk.google.com to your friends list.&lt;br /&gt;2. Add the reverse, i.e. es2en@bot.talk.google.com as a friend.&lt;br /&gt;3. Invite both the bots to a group chat. Also, add your spanish speaking friend to the chat.&lt;br /&gt;&lt;br /&gt;Now, everything that is said in English will be translated to spanish by the en2es bot. Also, everything that's said in Spanish will be translated automatically by es2en. (Don't worry, there will not be any infinite loops)&lt;br /&gt;&lt;br /&gt;This is fully scalable - add all kinds of other language bots (and the reverse bots) to have a wickedly cool group chat!&lt;br /&gt;&lt;br /&gt;Happy chatting!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-4193151025957644669?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/4193151025957644669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=4193151025957644669' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4193151025957644669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4193151025957644669'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/02/howto-carry-on-multi-lingual.html' title='HOWTO: Carry on a multi-lingual conversation using Google Talk'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-3058454775754590306</id><published>2008-01-06T23:17:00.000-07:00</published><updated>2008-01-06T23:27:04.664-07:00</updated><title type='text'>The catch-all "World Music" category</title><content type='html'>If you have ever tried to buy Indian music from one of the popular (and legitimate) online music stores in the US, then good luck finding the albums you want. Even though Indian music has enough genres and languages to have more categories than western music, it is always relegated to the catch-all 'World Music' category.&lt;br /&gt;&lt;br /&gt;It's understandable the stores don't normally categorize international music since the market for that in the US is probably a fraction of the market for mainstream music, but for an online store like iTunes, creating proper sub-categories for international music does not increase their operational cost. Maybe we will get properly categorized music when iTunes hits more international markets.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-3058454775754590306?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/3058454775754590306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=3058454775754590306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/3058454775754590306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/3058454775754590306'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2008/01/catch-all-world-music-category.html' title='The catch-all &quot;World Music&quot; category'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-4654587001661144165</id><published>2007-12-20T10:17:00.000-07:00</published><updated>2007-12-20T11:47:38.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xmas'/><category scheme='http://www.blogger.com/atom/ns#' term='joke'/><title type='text'>Xmas for the child of an engineer</title><content type='html'>I got this in a forwarded email and I could not find out who created it (hence it's not attributed) but it's tough being born to a geek family.&lt;br /&gt;&lt;a href="http://www.ecogito.net/downloads/ChristmasApplication.pdf"&gt;Link (pdf)&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-4654587001661144165?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/4654587001661144165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=4654587001661144165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4654587001661144165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4654587001661144165'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/12/xmas-for-child-of-engineer.html' title='Xmas for the child of an engineer'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-4253355978256503470</id><published>2007-11-20T12:45:00.000-07:00</published><updated>2007-12-01T16:58:03.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='mongrel_cluster'/><category scheme='http://www.blogger.com/atom/ns#' term='mongrel'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>HOWTO: Setup RoR, Mongrel and Apache on a production server</title><content type='html'>My experience with setting up production servers was zero before I tried to do this, and I had to go to a lot of sources to find a solution that worked for me. I finally got everyting working smoothly and here's the workflow that I used.&lt;br /&gt;&lt;br /&gt;My setup:&lt;br /&gt;-OS: Ubuntu 7.10 (Gutsy Gibbon) Server Edition&lt;br /&gt;-Servers: Apache and Mongrel clusters&lt;br /&gt;-Database: MySQL&lt;br /&gt;-Deployment: Manual (It should be fairly easy to get Capistrano to work, but I am not using SVN and I haven't yet figured out how to integrate my setup with the SCM I currently use)&lt;br /&gt;-RoR Application folder: /home/railsuser/rails/appname/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Install Ubuntu Server&lt;/span&gt; and follow the instructions to install the LAMP stack (This will install Apache2 and MySQL for you.) It will be easy to reinstall or modify the Apache installation later if required.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2: Install Ruby, Rails and Mongrel&lt;/span&gt;&lt;br /&gt;Follow the instructions at &lt;a href="http://mongrel.rubyforge.org/docs/debian-sarge.html"&gt;http://mongrel.rubyforge.org/docs/debian-sarge.html&lt;/a&gt; to install Ruby, Rails, and Mongrel. The basic steps are as follows, but the linked blog provides help for systems that may have extra complications: As root:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Update apt-get&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get update&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Install Ruby:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get install ruby irb rdoc ri ruby1.8-dev libzlib-ruby libmysql-ruby libopenssl-ruby1.8&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Install Ruby Gems&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get install rubygems&lt;/span&gt;&lt;br /&gt;(If you need to download rubygems first, use &lt;a href="http://www.paolocorti.net/public/wordpress/index.php/2007/11/08/ruby-on-rails-applications-with-mongrel-clusters-and-apache-on-ubuntu/"&gt;these&lt;/a&gt; instructions)&lt;/li&gt;&lt;li&gt;Update your PATH&lt;br /&gt;In the user account you will use to run this, edit .bashrc (my preferred editor is nano)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;nano ~/.bashrc&lt;/span&gt;&lt;br /&gt;Add the following lines:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;PATH=$PATH:/var/lib/gems/1.8/bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;export PATH&lt;/span&gt;&lt;br /&gt;Save and exit (^O and ^X should do that in Nano) and at the command prompt, reload your configuration:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;source ~/.bashrc&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Installing Mongrel will require some building, so make sure you have the components for that&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get install build-essential&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Install Rails and Mongrel:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;gem install rails --include-dependencies&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;gem install daemons gem_plugin mongrel mongrel_cluster --include-dependencies&lt;/span&gt;&lt;br /&gt;You will have to pick a version from the list provided. Pick the latest 'ruby' version. This step will take some time.&lt;/li&gt;&lt;li&gt;Configure the Mongrel Cluster&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;mongrel_rails cluster::configure -e production -p 8000 -N 2 -c /home/railsuser/rails/appname -a 127.0.0.1&lt;/span&gt;&lt;br /&gt;A note about this:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;-N 2 &lt;/span&gt;: Two instances of Mongrel will be started up as part of this cluster&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;-p 8000&lt;/span&gt;: The Mongrel instances will listen at ports starting at 8000 (i.e. 8000 and 8001)&lt;br /&gt;/home/railsuser/rails/appname : Path to the folder where your Rails app resides&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;-a 127.0.0.1&lt;/span&gt; : This restricts access to localhost. If you are building a server where requests will come from domains other than localhost, &lt;span style="color: rgb(255, 0, 0);"&gt;do not include this option!&lt;/span&gt; I had a tough time figuring out why I could browse my site freely on the linux box, but not from any other machine until I tried removing this option.&lt;br /&gt;&lt;br /&gt;You should see a file &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;mongrel_cluster.yml&lt;/span&gt; in the &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/config/&lt;/span&gt; directory in your Rails application folder. If you need to make changes, use the &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;cluster::configure&lt;/span&gt; command instead of directly editing this file.&lt;/li&gt;&lt;li&gt;At this point, you should be able to &lt;span style="color: rgb(102, 0, 0);font-family:courier new;" &gt;cd&lt;/span&gt; to your Rails application directory (say &lt;span style="color: rgb(102, 0, 0);"&gt;/home/railsuser/rails/appname&lt;/span&gt;) and type in the following command to start up you rails cluster:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;mongrel_rails cluster::start&lt;/span&gt;&lt;br /&gt;You will see a confirmation of mongrel starting up on ports 8000 and 8001. To stop the cluster, just type &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;mongrel_rails cluster::stop&lt;/span&gt;. I will update this later to add instructions on how to get mongrel to startup automatically, or you can just try &lt;a href="http://nlakkakula.wordpress.com/2007/07/19/setting-up-rails-production-server-using-apache2-mongrel-cluster-on-fedora-core-5/"&gt;these&lt;/a&gt; instructions yourself.&lt;/li&gt;&lt;li&gt;Ensure that you can see your application work at &lt;span style="color: rgb(102, 0, 0);"&gt;http://yourhost:8000/&lt;/span&gt; and &lt;span style="color: rgb(102, 0, 0);"&gt;http://yourhost:8001&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Step 3: Install and configure Apache&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Installing Apache on Ubuntu is simple.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get install apache2&lt;/span&gt;&lt;br /&gt;However, if you were playing around with Apache and your installation is messed up, you can start afresh as follows:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get remove --purge apache2.2-common&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get clean&lt;/span&gt;&lt;br /&gt;and then&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;apt-get install apache2&lt;/span&gt;&lt;/li&gt;&lt;li&gt;If the installation went fine, enable the modules that we need to make Apache work as a front end for the Mongrel cluster&lt;br /&gt;Instructive way:&lt;br /&gt;Browse to &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/etc/apache2/&lt;/span&gt;&lt;br /&gt;All the available modules are in &lt;span style="color: rgb(102, 0, 0);"&gt;mods-available&lt;/span&gt;, while the ones that are enabled are in &lt;span style="color: rgb(102, 0, 0);"&gt;mods-enabled&lt;/span&gt; (duh!) The conf files are the ones that we will look at later to configure apache. The obvious way to enable a module is to create a symbolic link from mods-enabled to mods-available. For example, to enable mod_rewrite, browse to mods-enabled and type (as root):&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ln -s ../mods-available/rewrite.load rewrite.load&lt;/span&gt;&lt;br /&gt;The non-obvious (and easier) way to do the same thing is to use the following commands (this is also a list of the modules we are interested in)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;a2enmod rewrite&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;a2enmod proxy&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;a2enmod proxy_balancer&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;a2enmod proxy_http&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Now we need to configure Apache to use the balancer with the mongrel instances we started earlier. Edit &lt;span style="color: rgb(102, 0, 0);"&gt;/etc/apache2/sites-available/default&lt;/span&gt;&lt;br /&gt;If this is a fresh installation of apache, you don't have any pre-existing site configuration that you care about, so delete every line in this file (otherwise you will get errors about mixing * and *:80 ports) and type in the following (The colored lines are the ones we will have to edit):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;NameVirtualHost *:80&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;Add this if necessary&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;ServerName myapp&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Proxy *&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Order allow,deny&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Allow from all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/Proxy&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#Proxy balancer section (Add as many BalancerMembers as you have&lt;br /&gt;&lt;/span&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;Mongrel servers running&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Proxy &lt;span style="color: rgb(102, 0, 0);"&gt;balancer://myapp_cluster&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BalancerMember &lt;span style="color: rgb(102, 0, 0);"&gt;http://myapp:8000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BalancerMember &lt;span style="color: rgb(102, 0, 0);"&gt;http://myapp:8001&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/Proxy&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#Virtual host section&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Virtualhost *:80&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ServerName &lt;span style="color: rgb(102, 0, 0);"&gt;myapp&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DocumentRoot &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;/home/railsuser/rails/myapp/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="color: rgb(102, 0, 0);font-family:courier new;" &gt;public/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Directory /home/railsuser/rails/myapp&lt;span style="color: rgb(102, 0, 0);"&gt;/public/&lt;/span&gt; &amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Options Indexes FollowSymLinks MultiViews&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  AllowOverride All&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Order allow,deny&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  allow from all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#log files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ErrorLog /var/log/apache2/&lt;span style="color: rgb(102, 0, 0);"&gt;myapp&lt;/span&gt;_error.log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Possible values include: debug, info, notice, warn, error, crit,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# alert, emerg.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;LogLevel warn&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CustomLog /var/log/apache2/&lt;span style="color: rgb(102, 0, 0);"&gt;myapp&lt;/span&gt;_access.log combined&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#Rewrite stuff&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteEngine On&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Check for maintenance file and redirect all requests&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteCond %{SCRIPT_FILENAME} !maintenance.html&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteRule ^.*$ /system/maintenance.html [L]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Rewrite index to check for static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteRule ^/$ /index.html [QSA]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Rewrite to check for Rails cached page&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteRule ^([^.]+)$ $1.html [QSA]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Redirect all non-static requests to cluster&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RewriteRule ^/(.*)$ &lt;span style="color: rgb(102, 0, 0);"&gt;balancer://myapp_cluster&lt;/span&gt;%{REQUEST_URI} [P,QSA,L]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Okay, lets's look at the elements we need to change in the above file:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 0);font-family:courier new;" &gt;balancer://myapp_cluster:&lt;/span&gt;&lt;br /&gt;Replace &lt;span style="color: rgb(0, 102, 0);"&gt;myapp_cluster&lt;/span&gt; with whatever name you want, but keep it consistent across this file.&lt;br /&gt;The idea is that when RewriteRule finds a URL that matches the regular expression (say: &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;^/(.*)$&lt;/span&gt;), it will replace it with a value that is represented by balancer://myapp_cluster.&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 0);font-family:courier new;" &gt;BalancerMember&lt;/span&gt;:&lt;br /&gt;The value of &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;balancer://myapp_cluster&lt;/span&gt; is determined by what you put in this&lt;proxy&gt; section, where you have the paths to two of your mongrel servers. (If you had more than two mongrel servers in your mongrel configuration, you would need to put them in this section too). When a request for a page comes in, Apache will dynamically make a decision about which of your mongrel servers to forward it to.&lt;br /&gt;So replace &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;BalancerMember http://myapp:8000&lt;/span&gt; with your servername and port for each of the mongrel cluster members.&lt;/proxy&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 0);font-family:courier new;" &gt;DocumentRoot&lt;/span&gt;&lt;br /&gt;This is the path to your Rails App.&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 0);font-family:courier new;" &gt;&lt;directory style="font-weight: bold;"&gt;&lt;&lt;/directory&gt;&lt;directory&gt;Directory /home/railsuser/rails/myapp&lt;/directory&gt;&lt;directory style="font-weight: bold;"&gt;/public&lt;/directory&gt;&lt;/span&gt;&gt;&lt;br /&gt;The &lt;span style="color: rgb(102, 0, 0);"&gt;/public&lt;/span&gt; is very important! This is the actual folder that your Rails server serves pages out of. If you forget to put this, expect to see &lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;400 Bad Request&lt;/span&gt; messages from Apache.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Restart apache as follows:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/etc/init.d/apache2 force-reload&lt;/span&gt;&lt;br /&gt;(Later, you can replace &lt;span style="color: rgb(102, 0, 0);"&gt;force-reload&lt;/span&gt; with &lt;span style="color: rgb(102, 0, 0);"&gt;start&lt;/span&gt;/&lt;span style="color: rgb(102, 0, 0);"&gt;stop&lt;/span&gt;/&lt;span style="color: rgb(102, 0, 0);"&gt;restart&lt;/span&gt;, but for now we want to ensure that all the modules we added are loaded)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Your site should be available at &lt;span style="color: rgb(102, 0, 0);"&gt;http://myhost/&lt;/span&gt;. While starting Apache, if you get a warning that the hostname could not be resolved, add the following line in the &lt;span style="color: rgb(102, 0, 0);"&gt;/etc/apache2/sites-available/default&lt;/span&gt; file right after &lt;span style="color: rgb(102, 0, 0);"&gt;NameVirtualHost *:80&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ServerName myhost&lt;/span&gt;&lt;br /&gt;where &lt;span style="color: rgb(102, 0, 0);"&gt;myhost &lt;/span&gt;is replaced by the actual domain name of your server.&lt;/li&gt;&lt;/ol&gt;Hopefully I haven't missed anything, but this worked for me, and I hope it does for you too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-4253355978256503470?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/4253355978256503470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=4253355978256503470' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4253355978256503470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4253355978256503470'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/11/howto-setup-ror-mongrel-and-apache-on.html' title='HOWTO: Setup RoR, Mongrel and Apache on a production server'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-6840036830456550358</id><published>2007-10-30T19:32:00.000-07:00</published><updated>2007-10-30T20:51:40.885-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='cellphones'/><category scheme='http://www.blogger.com/atom/ns#' term='wsj'/><category scheme='http://www.blogger.com/atom/ns#' term='telecommunications'/><title type='text'>More about cellphones</title><content type='html'>One of the things I look forward to every day is reading the Wall Street Journal. To my mind, it brings back the days when the first thing I did every day was to read the newspaper. (The Times of India, before they morphed their print edition into a tabloid and also created one of the worst ad-infested websites I've seen) The downside is that if I find a great story, I can't send it to my friends since the online version is subscriber-only. Thankfully the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Mossberg&lt;/span&gt; columns are available on his blog, so if you haven't seen or read his timely rant about the state of the cellphone service industry in the US, please &lt;a href="http://mossblog.allthingsd.com/20071021/free-my-phone/"&gt;do so now&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Apart from all the usual criticisms of the way cellphone services operate in the US, there's one that is strangely accepted - the fact that incoming text messages are charged! Leave aside the fact that text messaging is ridiculously expensive (when it is so cheap for the carrier to provide the service) - it is strange that folks are charged for incoming messages when there is no way to block text messages from appearing. At least  you can refuse to answer an incoming call - there is no way to decline a text message, and if you have friends who love their unlimited text messaging plans (I know, I was one of them until recently), you can rack up charges for no fault of yours.&lt;br /&gt;&lt;br /&gt;I can't wait for the rumored &lt;a href="http://en.wikipedia.org/wiki/GPhone"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;gPhone&lt;/span&gt;&lt;/a&gt; to shake up the way the cellphone industry works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-6840036830456550358?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/6840036830456550358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=6840036830456550358' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/6840036830456550358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/6840036830456550358'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/10/more-about-cellphones.html' title='More about cellphones'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-4758114261733380775</id><published>2007-10-20T19:27:00.001-07:00</published><updated>2007-10-20T20:26:19.684-07:00</updated><title type='text'>So what's wrong with all these smartphones?</title><content type='html'>I'll admit that when it comes to gadgets, I have yet to meet one I didn't like. I'm the early adopter you hear about - the guy who buys v1.0 of every gadget and beta tests them so that the unwashed masses can get a better v2.0 of the same gadget. In the past year I have tried out &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;smartphones&lt;/span&gt; of almost every kind - Windows Mobile, Palm, Blackberry and yes, the iPhone too. Here's what I think is wrong about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;smartphones&lt;/span&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Good looking hardware is not enough&lt;/span&gt;: RIM makes some sexy-looking devices these days. It's a far cry from the nerdy corporate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;fatberrys&lt;/span&gt; that they used to make a few years back but the user interface is just a slightly more colorful version of the same old interface the old &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;blackberrys&lt;/span&gt; used to have. Palm has &lt;a href="http://www.palm.com/us/products/smartphones/centro/"&gt;begun&lt;/a&gt; to make good looking phones (even though someone needs to tell them that the world has moved past &lt;a href="http://www.palm.com/us/products/smartphones/treo700w/"&gt;antenna stubs&lt;/a&gt; in the last century) but their OS is even less of an upgrade from their old 90's version. (Someone also needs to tell them that the world has discovered anti-aliased fonts, &lt;a href="http://courses.ece.uiuc.edu/ece390/archive/archive-f2000/mp/mp4/anti.html"&gt;smooth&lt;/a&gt; button and icon edges, shading and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;scrollbars&lt;/span&gt; that &lt;a href="http://en.wikipedia.org/wiki/Image:Palmos53a.png"&gt;don't look like&lt;/a&gt; Windows 1.0). Taking a fancy looking phone out of my pocket and then finding my way through an archaic OS is not my idea of using a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;smartphone&lt;/span&gt; in 2007.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;A mobile OS is not the same as taking a desktop OS and shrinking the screen-size&lt;/span&gt;: When Microsoft decided to make their Windows Mobile OS, they simply took their Pocket PC software and added some phone functionality to it. So you take some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;PDA&lt;/span&gt; software and add a phone to it - that should create a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;smartphone&lt;/span&gt;, right? Wrong. Not if the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PDA&lt;/span&gt; software itself is ill-designed. When they created &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;PocketPC&lt;/span&gt;, they changed the hardware and screen real-estate requirements, but they didn't design it around how people would actually like to use software on a small screen. So you still have a menu toolbar, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;drop-down&lt;/span&gt; menus and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;scrollbars&lt;/span&gt; that cannot really be used without a stylus and good eyesight.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Good hardware and software have to go together&lt;/span&gt;: This is pretty much obvious, but not to every cellphone maker. Maybe you like the way Windows Mobile works and you know exactly how to navigate the menus to get to the options you want. So what about the hardware - almost every Windows Mobile phone out there is ugly looking. The &lt;a href="http://images.google.com/images?q=motorola+q"&gt;Motorola &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Qs&lt;/span&gt;&lt;/a&gt; have more edges and holes and protrusions than a space-station and the &lt;a href="http://www.htc.com/product/03-product_p6300.htm"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;HTC&lt;/span&gt;&lt;/a&gt; phones are trying hard to establish their brotherhood with &lt;a href="http://images.google.com/images?q=brick"&gt;bricks&lt;/a&gt;. Phones like the &lt;a href="http://en.red-dot.org/2304.html"&gt;Porsche&lt;/a&gt; don't even bother to show the software interface in their advertisements, instead focusing solely on the (admittedly) great looking hardware (I'm not sure if it's a smartphone, but all they talk about is how good the phone looks - not a very good sign.) Well, if I was using the phone as a prop in a movie, I'd go for some great looking hardware, but why can't I have both? After all, these companies have been making phones and writing software for it for years now - surely it can't be that hard to get it right!&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/4052796-4758114261733380775?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/4758114261733380775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=4758114261733380775' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4758114261733380775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/4758114261733380775'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/10/so-whats-wrong-with-all-these.html' title='So what&apos;s wrong with all these smartphones?'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-1267265465525632628</id><published>2007-08-21T13:27:00.000-07:00</published><updated>2007-08-24T08:18:50.652-07:00</updated><title type='text'>Amazing Customer Service</title><content type='html'>Sometimes you receive customer service that is so unexpected and great that you have to tell everyone about it. It feels even better when it happens just after you have been on the butt end of terrible customer service. &lt;br /&gt;&lt;br /&gt;Back in march, I bought two large rolls of seamless background paper (107"x12Y) for a home studio, and unfortunately they remained in my garage for months since I and my friends never got around to putting it up in the studio. This weekend I had to have some paper at my house for an impromptu photoshoot, and when I opened up one of the rolls of paper it had a huge tear on one end. I had to cut out that part of the paper to get the shoot going, but then I thought that it might be worth a try to call up Adorama (even though I was well beyond the return period) to find out if they could do anything about it. I was completely prepared to hear that they wouldn't take it back, but hey, it doesn't hurt to try.&lt;br /&gt;&lt;br /&gt;This story is not about Adorama though. When I called them up, the first representative was rude as soon as I mentioned the date of purchase,and told me that "it's like buying a car and not using it for months.. there's nothing I can do about it". Well, a polite refusal would have done it, but I didn't want to give up because of a rude guy. I called back again, and received a more polite lady, who transferred me to yet another rep who informed me that since Adorama has a 14 day return policy, my best bet was to call up the paper manufacturer &lt;a href="http://www.savagepaper.com/widetone.htm"&gt;Savage&lt;/a&gt; directly.&lt;br /&gt;&lt;br /&gt;This is where the story gets better. I called up Savage with no expectations since&lt;br /&gt;1. They hadn't sold me the paper directly &lt;br /&gt;2. I had no way to prove that the I didn't tear it myself. &lt;br /&gt;3. They didn't have to be responsible for Adorama's customers.&lt;br /&gt;&lt;br /&gt;The lady who answered the phone listened to my story and promptly told me that she would send me a replacement roll of paper. She didn't even ask me to send the old roll back. No questions asked! Not only did she give me what I had hoped for, I ended up getting a lot more! &lt;br /&gt;&lt;br /&gt;I have had great service from places like Amazon and my local electric company (&lt;a href="https://www.srpnet.com/"&gt;SRP&lt;/a&gt;), but from a paper manufacturer that doesn't even have a retail outlet? Just wow!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-1267265465525632628?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/1267265465525632628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=1267265465525632628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1267265465525632628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1267265465525632628'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/08/amazing-customer-service.html' title='Amazing Customer Service'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-5821919641190435480</id><published>2007-07-14T17:02:00.001-07:00</published><updated>2007-07-14T17:44:45.423-07:00</updated><title type='text'>JVMs are under export regulations?</title><content type='html'>It's funny how many applications are fall under US export laws. Once upon a time you couldn't get Internet Explorer with 128bit security. Never mind that it's so easy to use a proxy and download anything that cannot be legally downloaded from outside the US. Today I tried to &lt;a href="http://mail.google.com/support/bin/answer.py?answer=52870&amp;topic=10070"&gt;download a JVM&lt;/a&gt; for my Motorola Q phone, and what should have been a simple download turned out to be a lengthy process where I had to fill out a complicated registration form at IBM where they asked me everything except my blood type. Since I wasn't too keen on giving out so much personal information for a measly JVM download, I typed in random data, including giving my country of residence as Bahrain. This is where I hit the following snag:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://farm2.static.flickr.com/1356/813279344_6b9d439213_o.jpg" width="658" height="277" class="postimage" alt="IBM JVM Download" /&gt;&lt;br /&gt;&lt;br /&gt;Hmm, I guess I'll just have to sign up again (with as much gibberish as before except for the country)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-5821919641190435480?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/5821919641190435480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=5821919641190435480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/5821919641190435480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/5821919641190435480'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/07/jvms-are-under-export-regulations.html' title='JVMs are under export regulations?'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-6668841520269228455</id><published>2007-05-28T11:28:00.000-07:00</published><updated>2007-10-18T13:27:25.038-07:00</updated><title type='text'>Alarm sounds like Whoop Whoop!</title><content type='html'>We found this sign near the elevator at the Sheraton Hotel in Old San Juan (Puerto Rico).&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/alphakappa/518291994/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/252/518291994_8e831086a2.jpg" width="500" height="375" alt="Alarm souds like - whoop whoop!" /&gt;&lt;/a&gt;&lt;br /&gt;(Picture courtesy DS)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-6668841520269228455?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/6668841520269228455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=6668841520269228455' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/6668841520269228455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/6668841520269228455'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/05/alarm-sounds-like-whoop-whoop.html' title='Alarm sounds like Whoop Whoop!'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-1501114413342231069</id><published>2007-02-14T00:57:00.001-07:00</published><updated>2009-02-22T10:47:23.053-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sex'/><category scheme='http://www.blogger.com/atom/ns#' term='valentine'/><category scheme='http://www.blogger.com/atom/ns#' term='culture'/><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><category scheme='http://www.blogger.com/atom/ns#' term='love'/><category scheme='http://www.blogger.com/atom/ns#' term='stupidity'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Let's Indianize Valentine's Day</title><content type='html'>The mentally challenged religious-political groups in India have decided that Valentine's Day is &lt;a href="http://news.bbc.co.uk/2/hi/south_asia/6358405.stm"&gt;too western&lt;/a&gt; to be fit for celebration in India. Of course love is such a dirty thing that it should never be expressed in public. Every civilized person knows that it is as offensive as, say digging your nose or scratching your butt in public. &lt;br /&gt;&lt;br /&gt;Come to think of it, V-day &lt;b&gt;is&lt;/b&gt; a western thing,  but love itself isn't western, so I propose that henceforth we should replace V-Day celebrations with KS-Day celebrations. Yes, it should be celebrated as the Kama Sutra Day as a paean to both love and our rich Indian heritage. Instead of cards, people shall trade pink condoms, and instead of kisses, people will couple in one of the various Kama Sutra sexual positions. Also the festival will be represented by a big 'O' instead of a heart.&lt;br /&gt;&lt;br /&gt;Jai Hind!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-1501114413342231069?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/1501114413342231069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=1501114413342231069' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1501114413342231069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/1501114413342231069'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/02/valentines-day-is-such-western-thing.html' title='Let&apos;s Indianize Valentine&apos;s Day'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-9052130346793045329</id><published>2007-01-28T21:09:00.000-07:00</published><updated>2008-01-05T11:11:43.589-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='philosophy'/><title type='text'>This life or the next?</title><content type='html'>Those who believe in religion and an afterlife often deny themselves the good stuff they can enjoy in this life so that they can get better things in the next. Now for argument's sake, let's imagine that there's a God who did in fact, create all that we see. Now also imagine yourself at home cooking a great meal with the best ingredients for your friends. Wouldn't you be happiest if they finished every last bit of the meal? So if God did create everything around us, don't you think God would be happiest if we enjoyed every second of our lives and the world around us?&lt;br /&gt;&lt;br /&gt;So enjoy your lives my friends - enjoy every little thing that makes you happy and don't waste it trying to fit into the virtuous straitjacket that society expects you to put on. &lt;br /&gt;&lt;br /&gt;As  Benjamin Franklin said.. "&lt;i&gt;One today is worth two tomorrows&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-9052130346793045329?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/9052130346793045329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=9052130346793045329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/9052130346793045329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/9052130346793045329'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/01/this-life-or-next.html' title='This life or the next?'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-791260480999827809</id><published>2007-01-28T20:33:00.000-07:00</published><updated>2007-01-28T21:36:34.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virgins'/><category scheme='http://www.blogger.com/atom/ns#' term='jesus'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><title type='text'>Don't fear the machines..</title><content type='html'>It's the animals that are going to take over. The Fantastic Five Komodo Dragon Jesuses have &lt;a href="http://news.yahoo.com/s/ap/20070124/ap_on_sc/britain_virgin_birth"&gt;arrived&lt;/a&gt;! Can't wait for the Manga comics.&lt;br /&gt;(via &lt;a href="http://standcomd.blogspot.com/index.html"&gt;Das&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-791260480999827809?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/791260480999827809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=791260480999827809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/791260480999827809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/791260480999827809'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/01/dont-fear-machines.html' title='Don&apos;t fear the machines..'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-8426787573135469645</id><published>2007-01-24T22:46:00.000-07:00</published><updated>2007-01-28T21:37:06.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><category scheme='http://www.blogger.com/atom/ns#' term='racism'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Sensitivity to *ism is also a form of *ism</title><content type='html'>Racism and fundamentalism - what do they have in common? It's the notion that one's race/religion is superior to all others and therefore all the outsiders are somehow lesser individuals. When Senator Barack Obama is '&lt;a href="http://www.cnn.com/2007/POLITICS/01/22/obama.madrassa/index.html"&gt;accused&lt;/a&gt;' of attending a madrassa as a child, why does it create so much news? As much as I detest the concept of &lt;a href="http://en.wikipedia.org/wiki/Madrasah"&gt;madrassas&lt;/a&gt; in principle (or any other religious school where you only interact with kids of one religion), it is just another religious school (and no, madrassas are not automatically terrorist training camps!) How ridiculous would it be if someone was accused of attending, oh I don't know.. a convent school?&lt;br /&gt;&lt;br /&gt;You might expect Senator Obama to at least appreciate how ridiculous this accusation might be, but according to &lt;a href="http://www.talkingpointsmemo.com/horsesmouth/2007/01/post_15.php?"&gt;this blog&lt;/a&gt; he had a &lt;a href="http://abcnews.go.com/Politics/story?id=2819634&amp;page=1"&gt;strong response&lt;/a&gt; to the Fox news story (emphasis mine)&lt;br /&gt;&lt;blockquote&gt;To be clear, Senator Obama has &lt;b&gt;never been a Muslim, was not raised a Muslim, and is a committed Christian&lt;/b&gt; who attends the United Church of Christ in Chicago. Furthermore, the Indonesian school Obama attended in Jakarta is a public school that is not and never has been a Madrassa.&lt;/blockquote&gt; Translation: &lt;i&gt;Don't call me a Muslim since it's offensive to me - I'd rather have you think of me as a nice and goody Christian. Dang you, racist Fox news!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-8426787573135469645?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/8426787573135469645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=8426787573135469645' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/8426787573135469645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/8426787573135469645'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2007/01/sensitivity-to-ism-is-also-form-of-ism.html' title='Sensitivity to *ism is also a form of *ism'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4052796.post-116193333664668316</id><published>2006-10-27T00:11:00.000-07:00</published><updated>2006-10-28T08:58:21.200-07:00</updated><title type='text'>Protect your bananas!</title><content type='html'>If you thought I was talking about a crotch-guard, then you just have a dirty mind! Of all the things that people could invent and sell, this is something I would never have imagined possible... &lt;a href="http://www.bananaguard-uk.com/"&gt;Actual plastic cases&lt;/a&gt; just to take care of bananas! And if you look at the website, some of the colors are actually sold out! Well, maybe folks just buy them for the sake of telling their friends that they have banana protectors. That might be a terrible opening line in a bar conversation though - "I forgot my banana protector today, and when I got to work my banana was all squished!"&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4052796-116193333664668316?l=www.ecogito.net%2Fanil%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/116193333664668316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4052796&amp;postID=116193333664668316' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/116193333664668316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4052796/posts/default/116193333664668316'/><link rel='alternate' type='text/html' href='http://www.ecogito.net/anil/2006/10/protect-your-bananas.html' title='Protect your bananas!'/><author><name>Anil</name><uri>http://www.blogger.com/profile/12172734883170674261</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09688940360322603595'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry></feed>