Prajwal Tuladhar’s Blog
 
programming, life and some random thoughts

Archive for the 'iSpeak' Category

Mar 21 2009

Politics as usual

Published by under iSpeak

Blogging after long time (I guess after a month or so) on quite unusual topic.

AIG’s $165 million bonus to its Financial Product division has grabbed attention everywhere and of every US media. The public furor and outcry of the poorly managed Wall Street bail out by former administration and current Obama administration has been clearly been louder from AIG bonus saga. And to limit this outcry Congress just passed a bill to impose massive 90% tax on that bonus and this will also apply to all other bailed out banks receiving fund under TARP.

I wonder what the hell were these lawmakers and politicians doing when they were bailing out AIG few months ago. AIG was bailed out under Bush administration spear headed by then New York Fed Chariman and current Treasury Timothy Geithner under supervision of Federal Reserve and then treasury Hank Paulson. All these excessive bonus issues (for which Wall Street has been widely criticized for) should have been managed during that time.

I think 90% taxation by lawmakers is just an act of showing the public that they are worried about tax payer’s money and ultimately hiding the whole bail out failure. I think most of the people will accept that the bailed out supervised by Hank Paulson was severely mismanaged (Oh I just forget he is also from that same Wall Street mess named Goldman Sachs) and I don’t know why but I really don’t have any trust with the current Treasury’s plan (they have not proposed any significant plan either). And wait, this bonus issue certainly does not seem to cool so soon especially when yet another bailed out bank, Citigroup is also planning to give big bonuses (cetainly not a good move during so much public outcry).

I thought all these massive mismanagement and shameful politics happen only in developing and under-developed countries but now I am convinced that all politicians all over are somewhat same, perfect blame gamers. I wish all mighty give some sensible logic to both politicians and Wall Street losers.

Some interesting AIG articles:


Comments Off

Feb 12 2009

The State of Proactive Ignorance

Published by under iSpeak,Patterns

Rules are mostly made to be broken and are too often for the lazy to hide behind. – Douglas MacArthur

For the past few weeks, there has been tsunami of debates going on about the principles and rules being followed in the programming world. First initiated by the stackoverflow.com podcast and again triggered by recent CodingHorror post.

Its true that more the rules, more the complexities and constraints. If we just go through the time line of software industry, we can get more and more rules / principles / best practices recommendations as more mature the industry has become or is becoming. The rules and principles of object oriented development that have become popular since early 1990′s or so are the foundation of current software industry trends. But just imagine the beautiful yet complicated world of software development without these doctrines?

Jeff and Joel have been especially critical of Unit Testing and Uncle Bob’s SOLID principles. It is true that there has always been debate among the experts about the magnitude of unit testing your code. While some people may unit test only core components while other may test each and every aspect of their code. Whatever approach people follow, both will be productive and /or counter-productive to some extend. But if we compare the scale of effect between productivity and waste of resources as a result of unit testing, there will be and there has always been in most cases where people have achieved earlier aftermath rather than latter one. I just want to say that yes you can ignore unit test completely and even after that write kickass code but criticizing the concept of unit testing seems to be act of being ignorant especially when you are such a senior programmer. I am also new to unit testing and sometime feel why the fuck I’m writing dual code (original code and unit testing it). But being a rational programmer I will and always follow the industry standard principles and guidelines and I am feeling that my abilty to write clean + resuable code is improving day-by-day.

Jeff and Joel have been especially critical of Unit Testing and Uncle Bob’s SOLID principles. It is true that there has always been debate among the experts about the magnitude of unit testing your code. While some people may unit test only core components while other may test each and every aspect of their code. Whatever approach people follow, both will be productive and /or counter-productive to some extend. But if we compare the scale of effect between productivity and waste of resources as a result of unit testing, there will be and there has always been in most cases where people have achieved earlier aftermath rather than latter one. I just want to say that yes you can ignore unit test completely and even after that write kickass code but criticizing the concept of unit testing seems to be act of being ignorant especially when you are such a senior programmer. I am also new to unit testing and sometime feel why the fuck I’m writing dual code (original code and unit testing it). But being a rational programmer I will and always follow the industry standard principles and guidelines and I am feeling that my abilty to write clean + resuable code is improving day-by-day.
And going to the next topic, I feel criticizing SOLID seems kinda act of irresponsibility. In the world of object computing, SOLID defines the contextual boundary that I take as parameters for making self judgment of my code and measuring myself. For people not familiar with SOLID here is a short intro or you can just google.

  • Single Responsibility Principle: A class should have one, and only one, reason to change.
  • Open Closed Principle: You should be able to extend a classes behavior, without modifying it.
  • Liskov Substitution Principle: Derived classes must be substitutable for their base classes.
  • Dependency Inversion Principle: Depend on abstractions, not on concretions.
  • Interface Segregation Principle: Make fine grained interfaces that are client specific.
  • Release Reuse Equivalency Principle: The granule of reuse is the granule of release.
  • Common Closure Principle: Classes that change together are packaged together.
  • Common Reuse Principle: Classes that are used together are packaged together.

More information about SOLID can be found here.

Okay for now just forget about Jeff’s post but just look at those comments. After reading some of them I feel the state of dismay at the current state of software industry and came to know there are some people in the world who says GoF Design Patterns is a crap and some just don’t need any rule (kinda cowboy coder).

And the list goes on…

Conclusion

Being a beginner in software world, I may not be appropriate person who could criticize experienced and techies like Jeff and Joel. But sorry guys I don’t give a fuck! I will express my frustration if I’m not satisfied with others’ thought. It’s my right :) And I also don’t claim that I can follow each and every rules and best practices but still I am trying and will try to write code following them. I want to take programming as the art of craftmanship rather than cowboy work. In my opinion, there are programmers who code to get paid and there are some who code not only to get paid but also as a chance to learn and improve continuously. So, what type of programmer are you?

Yes you can write kickass code by not following any rules or just by creating your own rule but the question is how are you going to compare the quality of your code without these principles and rules?

Readers what do you think?

The title of this post has been taken from this tweet.

Comments Off

Jan 30 2009

Goodbye FaceBook!

Published by under iSpeak,Life

Yes I am deactivating my FaceBook account. Hopefully this won’t be permanent but I am not sure when I will reactivate it again.


It’s true that social networking sites have changed the browsing behavior of people; sometime in positive way and sometime negative but I am just trying to experiment how productive I would be without FaceBook (sometime self experiment is not so bad :) ).
Though I really don’t tag myself a FaceBook addict but it was kinda distraction and moreover most of my FaceBook friends’ perception and my perception about using it has been totally different. I used it primarily for  creating and sharing contents and links through my blog posts, tweets and delicious bookmarks following the norms of Web 2.0 i.e. create , share and collaborate. But from some time I am feeling that the same stuffs are more worth to do in Twitter than in FaceBook. May be because, most of my twitter friends think like me and/or belong to the same profession that I belong to (programming and tech stuffs).
So for now, Twitter is my social networking and a platform to share and collaborate the contents and links that may prove to be productive for me as well as my twitter friends.
I don’t know if this is right thing to do or not because I have over 100 friends (whom I know petty well) in FaceBook that I will be disconnected with. I guess I am giving more preference to productivity and similar network of user base  over human emotions. And someone has said correct "Twitter is a FaceBook without extra bullshit".
Was this the right thing to do?

Technorati Tags:

Comments Off

Jan 20 2009

Yes! The day has come!

Published by under iSpeak,Life

"I have a dream that my four little children will one day live in a nation where they will not be judged by the color of their skin, but by the content of their character." – Excerpts from Martin Luther King‘s I have a dream speech

Today is the the day the whole world has been waiting for. Barack Obama will be inaugurated as the 44th President of the United States and boy I am proud that I am witnessing the history being made (by watching via CNN.com Live). It’s not only because he will be the first black president but the magnitude of optimism and magic he has created around the globe has been truly inspirational.

Most people all over the world have great expectation from him as I do and as you may also do. This time is quite historical in the sense that the new president with the message of change is coming to Washington from the same state Abraham Lincoln came from i.e. Illinois. Not only that, he is taking presidency during which the whole world is in the midst of the financial crisis and uncertainty as never seen before since the great depression of 1930′s. But it is to be seen that if Obama can deliver the change people are looking for.

With so much expectation from both the people of America and all over the world, I wonder what will happen to those hopes if he fail.

The day is crucial not only because change is coming but also because Bush is going. In my opinion these are what Bush’s Legacy has left for us:

  • Trillion dollar budget deficit
  • Financial and Housing Crisis
  • Highest unemployment since World War II
  • The broken image of the US
  • Guantanamo Bay Detention Center (I call it slap in the face of human rights)
  • Two unfinished war in Iraq and Afghanistan already costing billions of dollar (some experts estimate trillions)
  • Unstable Middle East
  • Missile Crisis with Russia

Is there any other thing I’ve left?

So, folks lets hope for change!

It will take time but I am optimistic that it will come!

What do you think?


Comments Off

Jan 11 2009

My First NYC CodeCamp

Published by under iSpeak

What a day it has been today.

I was quite excited to attend the code camp as I had attended few number of such events back in Nepal too organized by FOSS Nepal community. But this was a bit different in the sense that it was dedicated especially for .NET developers. The event was organized by ALT.NET user group of NYC with support for venue provided by Microsoft.

As I am quite interested about Test Driven Design and from some time I have been continuously trying to follow this approach of development (though I’m feeling a bit difficult / ackward). There were number of sessions / presentations going on by number of .NET geek in same time frame or rather say in parallel way. So users were needed to make choice about the subject of their interests. The session topics for first session (as scheduled) were:

  • Building Data Synchronization Clients – Bill Wolff
  • Garbage Collection, .NET Memory Allocation – Bill Robertson
  • I Now Pronounce You W&W – Miguel Castro
  • What is This ASP.NET MVC Thing? – Peter Laudati
  • TDD in the Real World: Test-Driving the design of a Shopping Cart – Stephen Bohlen

But there were some cancellations of presentations due to the forecast of an extreme weather resulting in the on demand updating and mixing of sessions.

Of course, TDD being my choice, I was very much excited to hear from Mr. Bohlen‘s regarding Test Driven Design in the real world. But it did not go as expected due to presentation time limit and some unusual lengthy questions from audience side. It was quite disappointing for me because I was more curious about the later part of the slide and it never happened. But Mr. Bohlen will put the slide video (full one) in his blog so, no more disappointment now :)

Conclusion

Since I attended only two sessions in the code camp i.e about TDD and ASP.NET MVC, I was expecting more from this events. There were people having advance knowledge to NULL knowledge about these topics (TDD and MVC), so I guess it is what you expect in the events where audience of all levels are participating. But it was quite nice experience to see other developers in NYC area. And for the first time I also got chance to see Windows 7 running and there was no problem for at least hour or so (some good news for Microsoft at last). I guess Windows 7 did impress me but can’t be confirmed until I use it!


Comments Off

« Prev - Next »

RSS Feed
Subscribe by email
Follow me @ Twitter