Tuesday, December 30, 2008
lessons for today...
He still amazes me, what took me 2 months to get started took him 2 days to create Eclipse plugin.
Another colleague YongPing, listen observes and make the changes for the client.
Suddenly I feel so redundant... I talk too much, ask too many question, increases the blood pressure of the client, give tactless answer to question. I harass with my emails on "bad code" etc. I overstay my welcome in the office after 6pm (the logic goes that since I am doing the same thing at home, I might as well stay in the office, do it finish and then go home without bring back the laptop. Moreover I am already so slow, so far behind ...)
it's new year again, another lonely day. On a scale of 1 to 10:
work-4
social life - zero
relationship - zero
family - 4
money - (-74000)
health - 4 (struggling to get well from cough)
game - zero (have not played any RTS for quite sometime)
(not to scale)
what is affecting me the most now, I guessed is maintaining a positive attitude on having a girlfriend. zero2hero theory. I am a decelerator, no matter how hard I work, the result will just be the same (not exceeding the baseline), but if i just relax slightly, the great deceleration take place. haiz...
Wednesday, December 24, 2008
reducing engineers on projects ...
My Big Boss was saying that we should increase our profit margin, via reducing the number of software engineers on projects. I disagree with that view. Instead we should increase the number of projects, by having the same number of software engineers working on more projects instead.
By having instead of two engineers work on one project, have just one, I think... (possibilities that I might misunderstood)
In a team, there is a synergy among team members. By reducing the number of software engineers, you are reducing the creative synergy, reducing the total brain power(exponentially at times) on a project. But if you keep the same number of software engineers, and instead make them work faster (better, faster computers, write better code, do refactoring, learn and distribute knowledge and technology faster), you increases the capabilities of your software engineers while maintaining the quality.
Why do I say this? originally I was tasked to work on a module individually, I thus became the single point of failure. Eventually, another software engineer was tasked to work with me, and we generated more creative, better solution than I would have done alone. I was also practising my knowledge imparting skills, explaining concepts etc, we both learned from each other. I think that is the real intangible value... (haha we are not cogs in a machine, but craftsmen in training)
Thursday, December 18, 2008
left over
millions out there goes hungry everyday...
there are some still in the office working hard, I think it would be nice if someone could tabao some of the buffet food for them. being a newbie, I didnt dare to do anything, if it was the usual me, I would have immediately ask if I can tabao the left over. It is a crime to waste food.
This is the typically behavior, it is easy to start a project, difficult to continue till finish. And even more difficult to think of the clean up process after the finished phase.
----
working makes me realise the power of social networking. when I read books I only learn so much, yet when you learn from your colleague, the bandwidth suddenly increases a lot.
----
People provide others with essential service. You would notice if someone fails to do what you required. Same goes for writing software, you have the user to satisfy. You have the future maintainer to satisfy, to write codes that is easy to change and understand. (I came to this understand when Karl was fixing my broken down Pentium 3 machine after xp updates)
technology is supposed to help someone else do his work better. functionality must correlate with quality.
----
bbc:Food needs 'fundamental rethink'
Sunday, December 14, 2008
spooked
I guessed that question spooked 2 of my colleagues. I didnt explain to them why a fresh new hire is asking about being let go by the company.
I am committed, I will finished my 2 years contract. Moreover I am lazy in hunting for another job, my time are better well spend in learning new technologies and coolest stuff around. Thus the only unknown factor is what happens if the company decides that I am not up to the job. So by breaking the bond it means I will need to return both the sum of cash and the course fee. I will make sure I dont spend that particular amount of money which might add to my existing interest free debt of $74k.
Kind of scary for me again, as I am seated right in the center of the office again. Moreover I am next to a beautiful project coordinator who is visited frequently by everyone to get various things done. I kind of miss hsr water basin in the office, as I need to walk a distance to the restroom to wash my cup, and I cant wash my hands after eating some chocolate for example... I can't help not eavesdropping on everyone as I am right in the center of the office, the P3 is too slow to even play mp3 and I doubt it even has audio.
Tuesday, December 9, 2008
Good programmer
From your experience as a programmer, what is it that makes a great developer? Can you point out a few qualities, both technical and personal?
Curiosity, initiative, tenacity, ability to reason logically, ability to communicate and to work with others. That’s not at all special for programmers, I’m afraid. Also, I strongly prefer to be around people with a sense of humor.
Your advice for young programmers -- or for not-so-young programmers?
Programming is part of software development. It doesn’t matter how fancy your code is unless it solves the right problem and you can explain it to others. So, brush up on your communication skills. Learn to listen, to ask good questions, to write clearly, and to present clearly. Serious programming is a team sport, brush up on your social skills. The sloppy fat geek computer genius semi-buried in a pile of pizza boxes and cola cans is a mythical creature, best buried deep, never to be seen again.
Learn your first language well. That means trying it for difficult tasks. Don’t obsess about technical details. Focus on techniques and principles.
Learn another programming language; choose any language that’s quite different from what you are best acquainted with. You can’t be a professional in the IT world knowing only one language. No one language is the best for everyone and for everything.
Don’t just do programming. Computing is always computing something. Become acquainted with something that requires your software development skills: Mediaeval history, car engine design, rocket science, medical blood analysis, image processing, computational geometry, biological modeling, whatever seems interesting. Yes, all of these examples are real, from my personal experience.
How come programmers like one technology, but dislike another? Personally, I believe software engineers enjoy technology that feels right, but dislike everything that doesn’t.
I find the phone so irritating that I avoid using it whenever I can. Nobody likes having to do random things, especially when those random things apparently depend on some equally random context you wish you didn’t have to know about in the first place.
When Qt’s original architects faced a problem, they didn’t just look for a good solution, or a quick solution, or the simplest solution. They looked for the right solution, and then they documented it.Granted they made mistakes,and granted some of their design decisions didn’t pass the test of time, but they still got a lot of things right, and what wasn’t right could and can be corrected.
Matthias Ettrich
Oslo, Norway
November 2003
in C++ GUI Programming with Qt 3
Most people are not incredibly knowledgeable about computers. There's a big difference. Pretty much everyone is very good at something. That's why some people get paid to sell merchandise, design hardware, repair engines, cook food, synthesize chemicals, or perform surgery, and others get paid to solve computer problems. by blincoln (592401)
What If IT Pay was Performance Based?
How to Survive the Outsourcing Boom
A versatilist is a multi-skilled tech professional. A versatilist starts with a strong depth of knowledge in one area, like application development or IT financial planning. “They then broaden their expertise, their track record, their recognition and their experience over time so that they stretch into multiple domains of expertise,”
No matter what specific skills he or she has, the versatilist is:
• Tapped into multiple knowledge networks
• Tapped into multiple social networks
• Able to offer value that cannot be easily commoditized and transferred
Often, this special value comes from excelling at face-to-face interactions, Morello notes. Also indispensable are staffers who work directly with interpretation of business or consumer requirements. “Those are the ones whose positions and roles may be secured longer than others.”
The key word here is interpretation. The versatilist is able to understand and synthesize trends from many industries.
“It’s what I would call ‘contextually connected.’ It’s the people who are deeply tapped into the context of the business and industry and the requirements that are going on there.”
Are Your Developers Goofing Off?
joelonsoftware:"Being really competent" or just "looking busy" ?
Monday, December 8, 2008
generating password
Issue: my school email address requires me to change my password every 4 months, and I am not allowed to use back my previous old passwords.
key: A way to remember and generate password.
Take a random easily remembered sentence:
"Psychology is the study of people: how they think, how they act, react and interact."
ignore punctuations, words less than 3 characters.
Psychology
study
they
think
they
react
interact
Read vertically thus the first password : pstttri, sthhhen,yueieat,cdynyce,hy0k0tr (zero or any same numeric filler)
I have no idea how effective this technique yet. So let me know if it is anything good. 8)
Sunday, December 7, 2008
job being outsourced?
the idea that we’re all just a bunch of integration automatons using duct tape to connect different preexisting moving parts to create slightly different versions of the same thing. It’s this train of thought that has a lot of senior management teams excited about outsourcing. “Anyone who can use Google and has some duct tape can do this, so why are we paying big bucks for our local automatons?”
there are eager, bright developers all over the planet
evolution of how software development occurs might be moving faster than you.
Automatons don’t build, they process. While good process can
save a lot of money, it’s not going to bring anything new to the world.
--Managing Humans pp.48-9
Outsourcing is for commodities. When you consider Philip Armour's notion, that software is not a product, but rather a byproduct of learning how to solve a problem, you realize that you do not want to be outsourcing the very heart of the knowledge of the problems your software is solving. These problems are often the core of your business!
--Secrets of the rockstar programmers p.104
For IT Workers, How Bad Will It Get?
How to Survive the Outsourcing Boom
Saturday, December 6, 2008
The New Yorker Conference, “Stories from the Near Future”
$2000worth of talk 8) for free. table of contents
Saving the World Through Game Design
gaming as a response to social crisis
interactive system
constructive response
reduce suffering, happiness engine
hunger for engagement
cognitive surplus
nothing to conquer
the economy of engagement: (4 components of happiness)
1.satisfying work to do
2.the experience of being good at something
3.time spent with people we like
4.the chance to be a part of something bigger
extreme scale collaboration
Bob Mankoff:The Past, Present, and Future of Humor
4types of funnies:
verbal cartoon
understand picture
fantasy joke (strange picture & words)
slice of life
thousand cartoon a week via lego set
script clashes
sense of humor:(18th,19th,beauty of ridiculous)
1.appreciating/aware
2.production of are you funny
3.coping mechanism, how you handle life
playful incongruity
nonsense, absurdity,humor(within realm of reality),too close to normal
conservatives like less incongruity
cognitive engine of humor:bisociation
2different frame of references and put together
cognitive synergy
diminish the others (key difference between art and humor)
the play frame of humor
high excitement,cruel,disgusting enjoyed in played frame
purposeful, play mode
exciting but safe.
cartoon toolkit
Amy Smith:Humanitarian Engineering
amazing technology
resourcefulness
$2/day
time money trade
make it your own, or do without it.
raw ingredient to cook
soup ramen noodles
evolve and improve tech
transparent tech
manufacturing utility usability
musical mind and inventing mind
patterning matching
sci mind vs inventing mind
spontaneous creative vs learning pattern
Linda Avey and Anne Wojcicki:23 and You
23AndMe company
gene journal data
sntp
spectrum disorder
personal medication
central data repository
patientslikeme
delivered responsibility
established research
retracted research
Michael Novogratz :How Bad Is It?
technology transfer easily
consumer choice
productivity surges ends in revolutions
only the top gather most gains
wealth accumulating
global flow of finance
wall street, london
no context of finance
changing fast
competing in a global world
fear hope
hardworking industrious
green bubble revolution
war
Scott Hemphill and Kal Raustiala:The Knockoff Economy
Piracy paradox
knockoff are good
chefs, perfume, absences of copy protection
70% recycling
incentive
cycle of life
pause reflect and think different
plan and delivering
I dont trust me
measurement and accountability
love making mistakes
secret of success
embrace risk or risk adverse
fail forward fast : peter thomas
advancing of spirits
energy independent
sustainable
green collar jobs
disparity
urban centers
blame game
could should would
best practice
tangible specific real
we can change the world
Eric Haseltine:Creative Intelligence
those who study history, are doom to repeat what is successful where the future is different
metaphor
find, outmaneuver,deal with seeds
in crisis mode, typically do what you always a little better
becoming like someone
known unknown contact chains (unknown unknown)
who,where,what
computer and maths(no inertia)
speed, synergy,surprise
ideas is faster than bits than atoms
secrecy matters
valley of death for technology
hearts and mind
salafist jihadis
war on ideas
ashema effect
ignore failure and successes without history
Kelefa Sanneh:The Tanning of America
culture observation
consumer taste and needs
creating culture
customer experiences
passionate about understanding culture
relevant for the next generation
to know what's going on
role in culture
motivating young generation
cultural influences
part taking vs understanding
Thursday, December 4, 2008
Monday, December 1, 2008
doIt
Folklore.org:Do It
Never ever call your users a dolt. They are the one who are paying your bills...
