Feb
21
2008
0

Happy or Successful or Both?

I was wondering what’s more important in life. I guess being happy would be everyone’s ultimate goal. I used to think that being happy & successful are linked together but it doesn’t seem so. I find a lot of people who I wouldn’t consider successful, quite content in their life. I guess it has do with how much expectations they have from themselves. And I think that depends on the company they keep. That’s a topic of another article altogether.

Now, how do you define - Successful? Is it being successful in profession or family life or something else? Its a weighted average of everything. And this is where it becomes interesting. Everyone decides whether they are successful or not based on whatever weightage they have given to each aspect of life. So, maybe there is in fact a link between being successful & happy. Its just that my formula for success doesn’t match theirs.

So, what do I give more weightage? I will have to say profession because that’s what we are. First we are a School Student, then a College Student, then a Doctor, Lawyer, Engineer, Businessman, whatever. I have yet to meet a person who introduced himself as

Hi, I am John. I am a Weekend-Poker-Player“, or

Hi, I am Charles. I am a After-Work-Bar-Goer“, or

Hi, I am Michael. I am Every-Weekend-Orlando-With-Kids-Visitor“!

Even if they are unemployed, that’s the first thing they will say about themselves and then all this. Also, we spend 5 days of our week in our job. If you don’t care what you do during the weekdays and are happy living the other 2/7th of your life, good for you.

Let me quote something from my article To Geek Or Not To Geek I wrote a few months back.

the amount of money that one can demand and, more importantly, get is inversely proportional to how many people can do his/her job.

The figure that you come up for yourself as compared to the market average for your job & experience should give you a pretty good idea of how you are doing in your profession.

So, what about me? I am happy to be unhappy! I am happy to be aware that unless I am successful in my life, I can’t he happy. There is an old adage - “To fix a problem, you have to first admit that there is one”. There are a lot of people who live in denial all their lives about their happiness or success or both. At least, I am not one of them.

Written by Bhabishya Kumar in: Programming |
Dec
20
2007
0

It seems Stevey can read my mind

I just read his latest rant Code’s Worst Enemy.
These two paragraphs from his latest rant are exactly my thoughts.

…I think that his “something bad” may well have been the act of creating the book Refactoring, which showed Java programmers how to make their closets bigger and more organized, while showing Martin that he really wanted more stuff in a nice, comfortable, closet-sized closet…….

…..Tragically, the only GoF pattern that can help code get smaller (Interpreter) is utterly ignored by programmers who otherwise have the names of Design Patterns tattooed on their various body parts……

I too believe that each and every line of code that we add to our project brings with it some kind of entropy (disorder). It adds to the clutter making it difficult for us to see what exactly is going on. And that’s why I like attr_accessor
in Ruby over “Alt+Insert” shortcut for Java in IntelliJ IDea, even though both will require the same effort.

It gives me an itch looking at the ROI (Return on Investment) in Java Projects. The ratio of the amount of code that we write to the functionality that we get out of it is really embarrassing.

I think the authors of the mentioned books should have put a Statutory Warning on the back of their books.


Using these patterns/refactorings just for the heck of it may be injurious to your project. Use at your own discretion.

Written by Bhabishya Kumar in: Programming, Ruby on Rails |
Jul
28
2007
0

What if…

What if a column name in a core database table gets changed in the future? What if the name of our core business entity gets changed in the future? What if the labels in the jsps get changed in the future?

I keep hearing questions like these, mostly in design meetings. It seems people are more worried about an improbable effortless future change than current functionality. And I think this leads to over-designing of bad software.

Another example of this over-designing is multiple layers of unnecessary abstraction. People take the idea of least coupling to such an extreme that it seems like one component has to take a trip around the world to talk to another component in the same software! I think their formula for good software is “Limit n tends to infinity” where n is the number of layers in the architecture.

I am not advocating design for present without any concern for the future. I think there should be a balance between Convention and Configuration. Rails ideology of Convention over Configuration was one of the first things that got me interested in it.

And why be so scared of change? If we were capable of visualizing and handling all the future changes then Martin Fowler would have never written the Refactoring book and IntelliJ Idea would have never added Refactor menu item.

People try to do too much with their software. It seems they are trying to achieve “World Peace” and solve “Global Warming” through their software. Lets leave that to Miss Universe and Al Gore.

What if all the code that people add to their software to prepare it for the future makes it so complex that no body uses it in the present.

Written by Bhabishya Kumar in: Programming |
May
26
2007
0

Web 2.0 sites deserve some respect

If you think that web2.0 sites are toys for teens, you should watch these videos about infrastructure behind MySpace

Running a Megasite on Microsoft Technologies

The Megasite: Infrastructure for Internet Scale

Written by Bhabishya Kumar in: Programming |
May
04
2007
0

Software Developer or Software User

Is using Microsoft Excel. same as developing Microsoft Excel? No!

Is using Websphere, Oracle, IntelliJ IDEA, Perforce same as developing them? No!

Is using Struts, Spring, Hibernate, EJB, Dojo, DWR same as developing them? No!

Guess what? These Products & Frameworks didn’t fall from the sky one day! Some real people developed them. As a Programmer, would you rather be developing one of these or using them for some repetitive, monotonous project?

You might think that there are only so many Frameworks and not everybody can get a chance to work on them. Well, there are 37 Frameworks just for JavaScript! So, you can guess how many Frameworks will be there if we combine all the technologies.

In fact, these new Frameworks are coming at such a pace that by the time you know about them, they are already outdated!

Then there are millions of Plugins & Extensions for these. Everyday I hear about a new Plugin or Extension in the Blogs that I read.

But if everybody starts working on these cool stuff, who is going to create Enterprise Applications? That’s what India is for! That’s what companies like TCS, Infosys, Wipro and hundreds of other companies in India do. They have millions of employees who are more than happy to use Products and Frameworks developed in US to work on projects for Clients based in US! Its their bread & butter. Now, you wouldn’t want to take food out of their mouth, would you? (chuckle)

US on the other hand is supposed to provide them all the tools. Have you ever heard of a universally accepted Product or Framework coming out of India! They are not going to develop them. Its none of their business.

So, lets not disrupt this perfectly balanced ecosystem. Lets just stick with developing Products, Frameworks, Plugins, Extensions, whatever we can do to make life of people in India easier.(smirk)

Outsourcing might have started as a means to save money. But, in fact, it was a very clever strategy to send all the dirty jobs to India so that US can concentrate on all the cool stuff.

Written by Bhabishya Kumar in: Programming |
Apr
13
2007
0

To Geek Or Not To Geek

Today, I had an interesting discussion with some of my collegues about the life of a software engineer. My two cents:

1) the amount of fun one can have doing X is inversely proportional to how many people can do X, where X can be anything from watching TV to writing prototype.js.

2) the amount of money that one can demand and, more importantly, get is inversely proportional to how many people can do his/her job.

Well, the point that I was trying to make is that unless you are “Master of Your Domain” you can’t have real fun or make real good money in a job.

To me, the second point is pretty obvious and the first one is an interesting way to look at things. The first one is actually a rebuttal to all those guys who think that geeks are missing out on funs in life.

This must be an exaggeration but the kind of “high” that Sam Stephenson would have got from writing prototype.js would need a lifetime supply of crack otherwise.

Written by Bhabishya Kumar in: Programming |
Apr
06
2007
1

UNIX not my cup of tea

I was initially trying to host this blog at Slicehost which offers bare bone Ubuntu VPS with no pre-installed software. Going by Geoffrey Grosenbach’s article, I thought it might be a good time to finally learn Unix. But it was not to be…

The worst qualities of other VPS Hosting Providers mentioned in that article holds true for Slicehost too, i.e. “requires knowledge of Unix sysadmin”. I guess its not much of a problem for someone used to development on UNIX, but for a guy like me who never had to work on UNIX in entire software development experience, it was a nightmare.

Things didn’t go as smoothly as mentioned in their wiki. At every step, something failed and I had to provide some kind of hack to make it pass. Even the windows hack didn’t help.

Without Windows Explorer, Mouse, Ctrl C, Ctrl V., I feel totally handicapped on UNIX and my productivity goes down drastically. The infinite vi, ESC+INSERT, ESC+wq! killed me. Even the basic operations like scrolling up the ssh console to see the top of error stack trace or copying a block of code from a web page to a file were beyond me.

So, I realized that I was not actually learning anything. Even if I had made it work somehow, something would have broken on future deployments. I decided that I should concentrate more on Rails coding rather than deployment.

Then I came across WebFaction Rails Hosting and their Control Panel Demo. I used their Custom Install Script for Mephisto and got this blog up & running in 10 minutes.

So what about UNIX hacking? Maybe in the next life!

Written by Bhabishya Kumar in: Programming, Ruby on Rails |

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes