My first rails application is out!

February 28th, 2009 mahesh No comments

I have been learning rails for past few months.  You probably know it if you read my blog because there were a few things I posted as I learnt new things. I think the best way to learn is to build something. So, I built something finally! It is a dirty clone of ratemyprofessors.com and it is catered for colleges in India. And the name of the site is (roll the drums)

thecollegestuff.com

Yeah, I know. It is really simple with some very ordinary looks (there is a reason I do backend work for a living). But I feel good that atleast I have some product I can look at as a whole .  Anyway, I will work on my css skills and improve the look and feel.  I already have 20 more features lined up. The things I am more excited about are related to technologies and tools I want to try out like couchdb, memcached, some monitoring tools and so on. The whole idea of the site was for me to play with these things. If I get some users to my site, that will be a bonus!

If you have any ideas, find bugs and so on feel free to let me know. I am totally excited about it! A big thanks to Naveen and Harini for all the help with the ideas and ironing out issues.

Now, go ahead and play with the site and spread the word will ya? ;)

Categories: Uncategorized Tags:

Project ideas

February 13th, 2009 mahesh 1 comment

A couple of my friends were asking me about ideas for final semester engineering project. I thought I will document some of my ideas here so that it will help some student some day who is keen on actually doing a project which is not the same old railway booking system or the insurance management system (atleast those were the hot projects during my time).  The ideas are raw. So, feel free to fork, transform or do anything with it. If possible, post your own ideas in the comment section.

Here goes my ideas:

0. Efficient routing of buses
If you travel by bus a lot, have you noticed that buses on some routes seem to be always empty and some are always full? Have you observed that buses just come one after another sometimes and there is none for a long time after that? Find a solution to that problem. Go to your local public transport authority and ask for the bus routes and maps. Figure out how to efficiently route the buses so that it covers more ground or gets you from point A to point B quicker or add more buses in areas which are identified crowded during peak hours. Just make it better than what it is now. Go ahead and implement that. That will be one heck of a project I tell you. You can start with lot of assumptions and then slowly start adding constraints.

1. Ugh, those traffic jams
I am from Bangalore and I sure know what this means. If you are from any of the metros in India, I am pretty sure you know what I am talking about. During peak hours, you are stuck in the traffic for hours. Can you somehow fix this? Get the map of the city and come up with an algorithm to direct the traffic in different routes (don’t care about the shortest distance from A to B because people are ok driving a few more kms instead of just idling there). Also, figure out where the bottle necks are, at what time they are and automatically generate an advisory for people (like suggesting the time at which people should go so that they hit less traffic and so on). I am being vague here because I can keep going with this but I just want you to run your imagination wild. Again, the goal is to make it atleast a little better than what it is now.

2. Sort the grocery store list
So, there are two scenarios here I care about. One is the grocery store where you just pick up stuff and take it to the counter and another where you just give the shopkeeper the list and he does everything for you. I want you to collect the data of where each product is (which aisle, which section and so on). Then, based on that data you should sort the list so that it is easy to pick up all the things in order starting from one end of the aisle and going around in order. For the second part where shopkeeper does the work for you, he should be able to sort multiple lists such that he can service multiple customers efficiently (as against doing each list in order).

3. Car parking lot problem
How often have you gone to a parking lot and have been looking for parking space. Last time I was in India and tried to park my car in the parking lot in the mall, there were literally 5 people managing it and they were so confused and disorganised, I sat their waiting for them to find me a spot. Seriously, how hard is it to come up with a solution where they know exactly how many spots are there to begin with and you assign numbers to each car which gets in so that the customer can just go there and park. And you basically recycle the number as and when people come in and out.

There are some more I have in my mind but still needs work. I will update once I have something concrete. Until then, feel free to post your ideas in the comments section.

Have a good day,
Mahesh Murthy

Categories: Uncategorized Tags:

The dip

January 24th, 2009 mahesh 2 comments

I just finished reading “The dip“.  It is a really small book and the  material is light. You could finish reading the entire book  in 3 – 4  sittings if you want.  I think it is a good read but honestly, I was expecting more out of it.

Here is what I got out of the book.

1. You have to quit doing things which you know you can’t be best at so that you can focus all your energy on something you can excel in.

2. Majority of the people quit when they are in a dip. So, don’t quit when you are having trouble staying afloat.

3. If you keep quitting, it becomes a habit. Don’t get into that mode. Think hard before even getting into something.

At the end, I was still disappointed with this book. No doubt, it gives some good anecdotes about how people quit things to concentrate on something they badly wanted and how they succeeded  in it and stuff. But it never tells you how to recognise that you are in a culdesac and not a dip. You cut when you are in culdesac and you don’t quit when you are in a dip. The million dollar question is,  when you are in the middle of something and you are having a hard time, how do you differentiate between the two?

Update: I forgot one big point he makes in the book. People who are experts in one thing are so much more valuable than generics (jack of all trades).  He gives some compelling examples for this. I completely agree with it. Quit everything else to become a master in one.

If there is anyone out there who has read this book, you are welcome to answer my question.

Seth – If you happen to run into this blog post, feel free to answer my question ;)

Have a good weekend!

Mahesh Murthy

Categories: Uncategorized Tags:

Bug in my laundry swipe card

January 14th, 2009 mahesh 1 comment

So, I had a balance of  $0.75 in my laundry card and I went confidently to the laundry room to put my clothes go through the torturous dryer once again. The cost of dryer is $.50.  Any normal human being would think that 50 < 75 and so it should magically work. But guess what, I got a nice error message saying “INSUF FUNDS”!!!  zkupbneygouiegashab???????

I am trying to think, what the engineer who wrote that piece of code was thinking? Or wait, may be it is configurable in which case what was the person who has control of configuring it thinking?? Seriously, what is it? Here are some things I can think of.

1.  if(fundsInCard < 1.0) {
print “INSUF FUNDS”;
}

Seriously, if this is how it is coded, there is only one option. Fire that guy who wrote this.

2.   Now, with inflation the costs go up. So, in the next 6 months the price for dryer might be $1.00. So, they just configured it for $1.00??? That doesn’t make any sense. But hey, I am just brainstorming here.

That is all I can think of. If you know what could have gone wrong, where the bug is, let me know. May be the owner of that card reader company will read my blog and post a comment. May be the guy who wrote the code or may be the person who configured it will post a comment.  hmm .. what are the chances of that happening.  Let’s see. On average, there is one comment per post on my blog. That means, there might be a grand total of  “1″ comment for this post. Now, taking into consideration that the owner, configurer, coder is just one out of say 5000000 people in this counry and the considering the chances of him reading blogs at the first place and then considering he bumps into my awesome blog, the probability is pretty close to “ZERO”.  Feel free to correct me if I am wrong.

On that note, have a good day!

Mahesh Murthy

Categories: Uncategorized Tags:

restful authentication rails

January 10th, 2009 mahesh No comments

I just followed the screencast for restful authentication and it is really straightforward. Even though it is for rails 1.x, it works for 2.x since the plugin is updated. The only problem I had was when I tried signin, it was giving me “uninitialized constant SessionController” error.  I had to change my  routes.rb file to add the controller name like below:

map.resource :session, :controller => 'session'

rails by deafult assumes that the controller is sessions (plural) but I had to force it to be singular.

It works like a charm now! I am going to tweak it fit my application now.

In the process, I also learnt to add plugin repositories to your application so that it is easy to pull in plugins. Here is an example.

script/plugin source http://svn.techno-weenie.net/projects/plugins
script/plugin install restful_authentication

Categories: Uncategorized Tags:

spam comments

January 7th, 2009 mahesh No comments

In the past few weeks, the number of spam comments posted on my site has increased. I wonder what happened recently. Not that I am posting some really good posts and the popularity of my site went up. I upgraded my wordpress recently. That’s all. Nothing else.

Anyway, I was reading the wikipedia article on spam in blogs . It has some tips on how to combat it. I am sure there are tons of plugins out there to combat this menace. I am going to look for it today sometime. If you know of any popular wordpress plugin which does a good job, let me know.

Categories: Uncategorized Tags:

git-start

January 6th, 2009 mahesh No comments

I am using git on my hostmonster shared server for my personal rails projects. I have started liking it already. Well, the only other source control system I have really used is accurev (at work). So, not much to compare I guess. I like the idea of branching in git where you can kinda have two different workspaces in same place. It took a minute to digest that but in the end, I got it. It is so cool.

As of now, I have only been doing the basic things. Hope to explore more of git soon.

Categories: Uncategorized Tags:

Welcome back me

January 5th, 2009 mahesh No comments

Happy new year to all! I am back from vacation to India. I shall start blogging seriously this time. The latest update is that I just ordered 2 more books on amazon.

1. The Dip: A Little Book That Teaches You When to Quit (and When to Stick)

2. Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)

The second one, I will be reading in the book club at work. The first one, I bought because I am a big fan of Seth Godin. If you don’t read his blog, you are missing out seriously.

Categories: Uncategorized Tags:

What is your reading speed?

October 13th, 2008 mahesh No comments

Have you ever felt that there is so much stuff to read about (blogs, books, newspaper and what not)  but so little time? Have you ever wished to have that amazing power where you just gulp the entire page by just looking at it for few seconds? I feel it every day. I have 500 feeds sitting in my reader. How do I get to them? Is it humanly possible? Some people argue that you just have to peruse them and only read the exciting ones. Believe me, there are quite a few good ones there.

So, I thought I will check what kind of a reader I am? I always knew I wasn’t a fast reader but I just wanted to measure it. So, I went to my friend for advice. The friend who seems to have answers to all my questions. No money for right guess! google :) So, I found this page which measures your reading speed? Go ahead and take it. Seriously. Go. Come back and then continue to read my blog.

Ok, I scored 262 which puts me in average bracket :(   But you know what, that is good. I now know where I stand. If I go with what is mentioned in that page, excellent reading speed is somewhere between 500 – 750 words per minute. Can you belive that? If I can reach that level, I will literally be reading twice as much as I do.  OMG, I can’t believe this. Isn’t that awesome?

What was your score? I will probably google for more information and tutorials to improve my reading speed. I will post next month same day (approx), how much improvement I have made. If you are interested in it, leave a comment. It would be nice to have a company :)

Well, that’s all I have for today. Happy reading! oh, if you have any tips for me on how to cover lot of material in short time, please let me know.

On that note, I shall move to my next assignment for the day.

Cheers,
Mahesh Murthy

Categories: Uncategorized Tags:

What is negativity?

October 8th, 2008 mahesh 1 comment

I have been thinking about this for a while now (infact for very long time like months and months you know).  What is negativity? A quick googling for the definition brings up many results, some of which are : “Indicating opposition or resistance”, “Expressing, containing, or consisting of a negation, refusal, or denial”.

Is opposing or resisting really an indicaiton of negativity? For example, when you say something or voice your opinion about something and the other person disagrees with you, is he being negative? When you force a bunch of people to do something and if one or two people don’t want to do it because they don’t believe in it and they inturn discourage others from doing it, are these guys being negative?

Is negativity a very subjective term? Would you call a person negative just because he doesn’t believe in what you are saying? Where do you draw the line between keeping an open mind and listening to his opinions/arguments and just shutting him off because it is just sucking up your energy?

Such questions were really troubling me for a long time.  How do I know if I am in a negative environment? How do I know if I am in an environment where people are smarter than the decision makers and they disagree for a reason? So, I thought I should put down my learnings here and open up a discussion (assuming someone reads my blog).  It would be nice to also keep a record so that next year, I can revisit this and may be laugh at myself for being totally wrong!

oh, this will never work. I have seen it all before. It has not worked before and will not this time

Is there anyone who hasn’t heard such things before. It could be anywhere, at work, in a social gathering anywhere. Personally, I get really annoyed by such statements. I have learnt to patiently ask them why they think like that, what information they have collected before making that statement and so on.

lesson 1: Always control your emotions, ask for clarity.

lesson 2: Educate yourself. Same things which were  an epic failure yesterday could be a big success today. There are so many external variables. Learn about all those and decide if that person is right or wrong.

lesson 3: Keep away from people who just whine about something without really giving an alternative solution.

lesson 4: When you are in the middle of a battle, have a open mind. When someone says you are wrong, don’t let your emotions take over. Only a man with great character can accept he is wrong and take action. It is not a sign of weakness (oh comeon, we all have read and heard this 1924 times). But there is no harm is repeating/reminding right?

lesson 5:  Once you are convinced that you are totally right, go for it. There is every chance that you are wrong and will screw it up big time but take responsibility for it if you really did screw it up. fire your ass off. Penalize yourself harshly so that you don’t do that mistake again.

If we all followed this diligently, we can live in harmony without bickering, ill feeling and what not.

Go back to an isolated place and just think about this for a while. These are so obvious things, but do you really do it? Saying is easy, putting your hands where the mouth is something else. Can you do it? Think!

If you have reached till here, you are awesome and I am awesome :)

That’s all from me. See you later.

Mahesh Murthy

Categories: Uncategorized Tags: