Notes
From Ggl's wiki
Contents |
Organization
Recent readings drove my attention on minimalism - less is more -. I share the vision that one should concentrate on the things she loves and want. Then she needs to unclutter her environment and remove useless and annoying things. It might be people, material things or bad habits. Once less things require attention, one can concentrate on one thing at a time and enjoy its experience. The environment should be free of distractions and unwanted sollicitations.
- Wake up early
- Write MITs (Most Important Things) first in the morning
- Only two main things to do
- Cut distractions
- Answer email once a day
- Enforce flow (always have a next thing to do)
- Plan task small enough to be concrete and doable
- Automate
- Scrap the boilerplate
- Dare
- Don't fear
- Be yourself
- Achieve your dreams
- Think different
- Live the way that make you happier
- Be honest
- Keep things simple
- Live and do insteand of have
Driving Projects
- do instead of talk
- make debug easier
- write documentation at the same time you write code
- write tests at the same time you write code
- you'll never do what you don't do now
- concentrate on a single task
- think, code, test, and compare to other implementations (in this order)
- be honest with yourself
- don't look for self-satisfaction, try to do something good and elegant
Writing Style
From George Orwell: 6 Questions/6 Rules.
A scrupulous writer, in every sentence that he writes, will ask himself at least four questions, thus:
- What am I trying to say?
- What words will express it?
- What image or idiom will make it clearer?
- Is this image fresh enough to have an effect?
- And he will probably ask himself two more:
- Could I put it more shortly?
- Have I said anything that is avoidably ugly?
One can often be in doubt about the effect of a word or a phrase, and one needs rules that one can rely on when instinct fails. I think the following rules will cover most cases:
- Never use a metaphor, simile, or other figure of speech which you are used to seeing in print.
- Never use a long word where a short one will do.
- If it is possible to cut a word out, always cut it out.
- Never use the passive where you can use the active.
- Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent.
- Break any of these rules sooner than say anything outright barbarous.*
-- From Orwell's essay “Politics and the English Language”
Programming
Some interesting language concepts and constructs:
Functional
- Lazy Evaluation (used in Haskell), Strict Evaluation (used in OCaml)
- Closure
- Continuation, Continuation-passing Style
- First-class function
- High-order function
- Map/Reduce
- List comprehension
- Function Reactive Programming, Yampa
- Currying/Partial Application, Currying in Haskell
Object Oriented
Protocols
- Bayeux Protocol (Comet)
Best practices:
- Progressive Enhancements and graceful degradation

