Search This Blog

Monday, May 30, 2011

Bitcoin GUI problem in Ubuntu 11.04


Bitcoin GUI does not shows up when started in Ubuntu 11.04. I upgraded Ubuntu installed in my laptop from 10.10 to 11.04. On starting Bitcoin GUI by running script, it did not start though the backend folders .bitcoin was created on home folder. So, searching the internet get me to quick work around. The problem seems to be related to new UI update in Ubuntu but somehow seems to be related to Bitcoin itself. So, here is a fix. Go to http://bitcoin.bluematt.me/bitcoin-nightly/ubuntu-11.04/ and download the appropriate version (32 or 64 bit). On downloading, just right click on file and change its permission to executable. Now, you are ready to run it by double click as any other program or on command line using ./bitcoin.  

Share/Bookmark

Saturday, May 14, 2011

Returning to 0Km


Imagine you are driving a really long highway that you started from 0Km. You have driven 2300 Km when you suddenly felt returning back to that same 0Km where it all started, where there was no sound of car engine that you are used to now. Back then, you were very excited to get started with an unending drive that will take you here. You hadn't drove such a long highway ever. You were focused on experiencing this drive.

I got the same feeling when I played saino- suna katha euta geet song after a really long time. I wanted to get myself back to that place. The world at 0Km was amazing and new. Maybe the reason was I never crossed a milestone with exact 0Km anywhere. Or, maybe seeing the unexpected great distance traveled till now gave importance to its start- 0km. The mouth organ playing within it reminded me of 0Km but had been lost over the course of this long journey.

So, I tried reversing back but suddenly realized that it wasn't a highway but my own life. I had drove 23 years continuously. But, returning back was impossible. If it had been road I would surely had taken 23 Km ride back to 0Km but alas! Time does not travel reverse. Maybe Time was driver and me, just a passenger. 

Share/Bookmark

Sunday, May 8, 2011

Hire focused people and not necessarily talented ones



Its a well established truth that a good employee can create fortunes for company and a bad employee can create nightmares if not checked in time. So, how does a good employee differentiates from a bad one. This question is very important for a startup as they have fewer resources to work on and cannot afford to experiment with people. Working on a startup and seeing it grow from couple of people to a healthy 50 person sum is quite a good experience to state it. Reading a blog on Why The New Guy Can’t Code by Jon Evans made me wonder if a proven programmer is all what company needs. So, how can fresher get opportunity until they have proven themselves worthy. This may not be possible for all as academics rarely allow extra time to focus on new technologies. Also, an independent programmer rarely works in a company. So, I seriously doubted its truth and feel tempted to write some of my own thoughts on hiring process.

A Common reason for frustration
In my one and half year experience in Nepalese software industry, I have seen various hiring techniques being applied. I have seen people getting hired that included both talented and less talented ones. Also, I have seen several people getting rejected that included 'dull' as well as talented people. But, my serious concern comes when I see people in work thats where is the real judgment about hiring process. Are we hiring right people? I see some people desperately at work. I also see some trying to pass time while delegating things as much as possible to other members on team. Its hard for management to know about each persons ability and contribution. This results in a biased review and thus creates frustration among employees. This simply lays foundation for a company's downfall.

Developing a software is nothing but writing a solution to a given problem. Solving a problem involves careful analysis on the part of problem solver. Experience may play role in it and so does talent. But, for me they are minimal. I have seen new technologies evolving with each based on a complete new principle. So, if you have vast knowledge of previous technology, it may not necessarily mean that it helps you to learn new technology. Suppose you are a Spring expert (configuration) and previously worked on a project involving it and now you are expected to work on a Rails project which is based on a completely different principle (convention) which you don't know and need to learn like any new fresher do. So, your experience rarely matters in Rails learning. You will need to have a new look at the problem as your knowledge might not help but rather create hindrance in learning (your faith on Spring will not easily let you accept benefits of convention over configuration). So, one has to forget previous knowledge and try acting like a new born baby which continuously focuses on new world, trying to learn as much as possible without the unnecessary pride of previous work.

Solving new problem requires being as focussed as
children without unnecessary pride of previous work
All one needs in order to work in a real project is a sense of learning without inertia. For this, one must have a constant focus. This does not require that the person has demonstrated exceptional skill in previous projects which we call talent or experience. Their current focus must be constant which easily gets reflected from person current actions, words and thought. Such person takes pride in work and does not thinks any extra work as load. A focused person easily learns any new technology and can be easily assimilated into any kind of project. Such person does not need to write list of language or skills in their Resume(i don't mean it, Just trying to add weight on my opinion).  A talented person may have demonstrated skills in previous technologies but if s/he lacks focus then its very hard for him/her to work. Such persons are bound to neglect work and try limiting responsibilities. I have seen many 'talented' guys (those who have done exceptionally well previously) wasting time chatting with girls or play game or even smoke all day just to wait when the clock ticks 6:00 pm and same goes for girls (though they are rare species in development world) too. Some even stay late night virtually doing nothing but just trying to show off their work for easy review. Such people are real nightmares of company and are bound to destroy company's fortune and must be fired.

Harsh reality of corporate world: Focussed employee enjoy
only work while others in team enjoy raise, early home, praise
Now lets go back to hiring phase where everything is new. There may be a long list of people to choose from. For people on hiring section, I advise taking problem solving ability as important factors over what the person has achieved or known in the past. The experience may not be a useful factor but rather his/her perception towards them. Every fresher may have some experience that may not necessarily be programming. But take their view towards them into account. How focused they were while doing it, how they tried applying new methods in it including electing right method for their problem and how they failed and how they consoled themselves over continually striving for it and finally how they achieved the goal. It may not be a programming problem but as odd as managing annual fest in college. But, this same ability to view things will be helpful later on when tackling real world programming problems in company. This ability towards problem solving is real treasure of any person which must be respected and grown by the company. This requires companies giving some time to work with them where person gets sometime for learning and show their focus on work which is more important than what is in their resume. Perhaps, the way of hiring as described in How Effective Are Technical Interviews? as a conclusion will help.  

Share/Bookmark