Wednesday, May 11, 2011

Programmer Myth

Myth: Programmers get to write code all day.

Truth: Most programmers spend a ton of time (in no particular order):

  • Carefully composing e-mails to other programmers/mailing lists/non-technical folks
  • Sitting in on meetings, working on mockups and DB schemas, worrying about performance implications of proposed features
  • Writing bug reports and searching through bug DBs
  • Supporting Production environment, scrambling to figure out why systems with numerous opaque layers are failing, digging through multi-GB log files with command line tools
  • Explaining downtime to users/higher ups
  • Contributing solutions to strangers’ problems
  • Reading documentation/books/programming blogs/release notes/vulnerability announcements
  • Searching for existing code that does what you want, maybe without knowing what that’s called
  • Installing, configuring, and testing a codebase then finding it won’t work for you
  • Googling error messages
  • Learning source control tools, bash, GNU utilities, and Linux file permissions (and/or the Windows equivalents)
  • Configuring IDEs, virtual machines, web servers, databases
  • Determining which tasks to prioritize from an endless supply

Sunday, April 24, 2011

Cancun

4/18: Flight - Checkin - beach - show mexican
4/19: Beach - Kayaking - show hollywood
4/20: Isla Mujers - Swim with Dolphins - http://en.wikipedia.org/wiki/Isla_Mujeres
4/21: Beach - Pool time -Market downtown

Thursday, January 27, 2011

Reasons to avoid talking on the phone

  1. Don't have time to think about the response.
  2. Constantly get interrupted.
  3. Cannot experience the body language.
  4. Can get distracted by TV,internet etc.
  5. Can get lectures instead of conversations.

Friday, January 21, 2011

Being a Producer

Create things that matter to yourself and others.
Inspire others to better themselves.
Add to conversations instead of watching others talk.
Made the world a better place in one way or another.

Friday, December 03, 2010

Knowing specific frameworks

Ten years ago, not many frameworks existed in Java, so the average number of third-party libraries included in a project were 1-5, but today, the average has grown to around 30+ like Spring, Hibernate, JUnit, Struts, Commons, TestNG, Google Guice, GWT, apache commons family et al. These frameworks change rapidly and it is impossible to know all these frameworks and it is also impossible to know some frameworks completely. The biggest detrimental this is causing is in the hiring process. Managers pass over qualified resumes looking for the names of frameworks only to land on someone less qualified who decided to put a particular framework on their resume. These folks are not necessarily technology experts so they try to bring in a candidate that has the exact blend of frameworks that the company is using. This does tend to exclude perfectly qualified candidates with real talent.
Ten years ago, having just the knowledge of a language or knowing one object-oriented language, could get you a job doing Java or C++. Now, you have to learn and have experience with every framework imaginable just to get your resume to a hiring manager. It doesn't matter what language/framework a developer knows, they are all similar. A talented developer has an interpreter and compiler in his head and thinks in pseudo-code anyway. Applying that to a language or framework is just a matter of figuring out the syntax...and that is the easy part. The talented developer just assimilates the differences.

Most jobs require a combination of 1) wisdom/sound judgment, and 2) knowledge/education/training. Of the two, the second is much easier to pick up on the job.


Sunday, November 28, 2010

Notes from Investor Manifesto

The stock shareholder is last in line to receive payoff. This is risky and hence deserves the higher return on average than that earned by bondholders, who get their money first.
Diversification over different kinds of stocks asset classes works well over the years and decades, but often quite poorly over weeks and months.
For estimating future returns, rely only on interest and dividend payouts and their growth/failure rates and NOT on historical data.
Home ownership is not an investment. It is a consumption item and it always costs more than renting after taking into consideration taxes and maintenance.
Performance comes and goes but fees from actively managed funds are forever and cannot be surmounted even over long run.
Investment Definition: The deferral of current consumption for future consumption.
A balanced portfolio consists of significant allocations of both stock and bonds.
Nations with the most rapidly growing economies often have the lowest stock returns. In many developing markets, government does not protect shareholder as well as in nations with more established legal systems.
Regard yourself has an average when buying or selling and consider who you are trading against.
Do not trade with any mutual fund that is owned by a publicly traded parent company- Sooner or later the profits for these companies must be paid by its customers.

Saturday, November 27, 2010

Computer Software Generation

- new() replaced with Factory.
- Replaced with Dependency Injection
- Replaced with IoC container
- Augmented by XML Configurations
- Supplemented by @nnotations

Thursday, November 25, 2010

Value averaging technique

Establish a target amount for each period (example shown is every month) based on your risk tolerance. Adjust your contribution every month according to the value of each each allocation. Increase allocation if the value of a category has fallen and decrease allocation if the value of a category has increased.
Bonds - (VBMFX(BND),VBISX(BSV),VFSTX(VCSH),VFISX(VGSH),VIPSX)

Stocks - Large Blend (VV) Small Blend ( VB)

















































MONTHBonds 30%
(VGLT,BND)
US Large Market 10% (VUG)US Small Market 9%
(VBK)
US Large Value 10%(VTV)US Small Value 10% (VBR)REITS 4% (VNQ)Foreign Developed Large Markets 5% Foreign Developed Small Markets 4%Foreign Developed Large Value 4%Foreign Developed Small Value 4%Foreign Emerging Large Markets 5% (VWO)Foreign Emerging Small Markets 5%(VWO)
JAN12541.637.541.641.616.6620.8316.6616.6616.6620.8320.83
Feb25083.27583.283.233.3241.6633.3233.3233.3241.6641.66

Tuesday, November 23, 2010

Things to learn in college

Apart from focusing on getting good grades, start getting out of classroom and network and start working for people to build a solid portfolio. Decide on what kind of work you like and start telling people about it.

Purpose of College aside from gaining knowledge:

 - A degree (as in, formal title; it may come in handy)
  - Access to expensive/difficult to get equipment e.g. a piece of custom hardware
  - Access to people who know some particular area inside out
  - All the smart people who study at the university - there won't be  any other chance to meet so many amazing people and maybe build something Amazing with them, and then keep contact for the future.
  -  College demonstrates a variety of soft skills: time management, the ability to plan and meet deadlines, the ability to work on what's necessary when it's necessary, a willingness to suck it up and do some necessary drudge work, etc.
  - Cheaper tickets and many other discounts.
- A place to forge out on your own in a semi-protected environment, somewhere to learn the art of making friends, of meeting people, and somewhere to discover what you want to do in life.
- an undergraduate degree is also a framework for developing into an independent adult.



Friday, November 12, 2010

Nurturing Kids

A kid, who has been protected and habitually given whatever he wanted, would develop "entitlement mentality" and would always put himself first. He would be ignorant of his parent's efforts. When he starts work, he assumes that every person must listen to him, and when he becomes a manager, he would never know the sufferings of his employees and would always blame others. For this kind of people, who may be good academically, may be successful for a while, but eventually would not feel sense of achievement. He will grumble and be full of hatred and fight for more. If we are this kind of protective parents, instead of showing love we are actually destroying the kid.

You can let your kid live in a big house, eat a good meal, learn piano, watch a big screen TV. But when you are cutting grass, please let them experience it. After a meal, let them wash their plates and bowls together with their brothers and sisters. It is not because you do not have money to hire a maid, but it is because you want to love them in a correct way. You want them to understand, no matter how rich their parents are, one day they would also grow old. The most important thing is your kid learns how to appreciate the effort and experience the difficulty and learns the ability to work with others to get things done.

Wednesday, September 29, 2010

Productivity at work

Longer the workday, however does not mean more productive. About the same amount of productive work gets done in either case with a shorter workday and less relaxation in-between work. More emphasis on quality and individual work time. Often we treat working more like a social atmosphere, and less like a workplace.