Friday, August 17, 2012

Priority - how sensitive the profit is to changes in schedule.

Do we want to apply effort in testing (More time)? or Do we take the risk of rework (More Money)? 

To be able to compare we need to use the same unit of measure to take an informative and intelligent decision..... sometimes the Cost of Delay is so high that you must take the risk of rework. By understanding the cost of delay you are able to take and make the correct economic choices. You are able to prioritize because you know how sensitive the profit is to changes in features and schedule.

Don Reinertsen at GotoConference - The Tactical and Strategic Art of Economic Models. 



http://www.infoq.com/presentations/Economic-Models 

Some Key points in the presentation:

  • We are ignorant about our economic models and unaware of our ignorance - we need to learn more to take better and faster decisions.
  • If you ask people who can delay a product, what they think it would cost to our stakeholders if this product is delayed by sixty days? You would get 50:1 responses...... someone saying 1000 to someone saying 50000. The problem is that If you dont know the Cost of Delay, you would do different *choices* if you think the number is different.... 
  • If everybody understand the cost of delay they can take and make the correct economic choices at all levels - not only product managers. 
  • Priority - how sensitive the profit is to changes in schedule.

The Power of Curiosity and Inspiration

"One thing that you have to do well to succeed: Make every single detail perfect and limit the number of details." - Jack Dorsey, the creator of Twitter
5 minutes video by Jack Dorsey. A must see! Here are my notes:
 Why does Square call their product managers "Editors"? Editing Ideas: Select the Ideas; Avoid Flood of Ideas. 

 Pay attention in particular to:

  1. Editing the team, Bring the best people in and edit away any negative elements.
  2. Editing the communication: Internal - This is the vision, help set the priorities to do the right thing. External - the product, the story we are telling the world 
  3. Editing the money - investing and revenue.

Clean Architecture.

Well last night I found out that the videos from NDC 2012 were available - I hate when this happen to me, especially late night. I couldn't resist and I saw a couple of presentations :D



Here is one from Uncle Bob. I strongly agree with the following quotes in his presentation:
 “an architect’s job is not making decisions, but delaying them as much as possible (ideally when we know more about the problem being solved)”
 “A good architect maximizes the number of decisions not made.” 


Robert C. Martin - Clean Architecture from NDCOslo on Vimeo.

 Enjoy

How can you create a computer program with no assignments....

How can you create a computer program with:
  • No control Flow
  • No assignment
  • No Arrays
  • No Strings
  • No Numbers
  • No Booleans


 This is what lambda calculus is about. The following presentations are the best explnations I've found about Lambda calculus. The first one is Jim Weirich explaining lambda calculus and Y-combinator using javascript.


Jim Weirich: Adventures in Functional Programming from Edge Case UK on Vimeo.

Jim will be presenting this talk in this year StrangeLoop conference. The second one is Tom Stuart presenting how he transform a Fizzbuzz program in ruby to a implementation using only procs. 

http://rubymanor.org/3/videos/programming_with_nothing/

Saturday, July 14, 2012

Jonah Lehrer: The Origins of Creative Insight & Why You Need Grit

 

Jonah Lehrer: The Origins of Creative Insight & Why You Need Grit from 99U on Vimeo.




Awesome talk about creativity

On Pursue a Dream.

‎"Dreams do come true, but first we must pick the right ones" Be honest about your limitations.

Time will prove everything. Pursue dreams that not bore you, even after thousands of hours. Do the thing you love, love is just another name for "it never gets old".

http://t.co/SBZY2mWu

On Hitting the wall.

When you hit a wall while fixing a problem, focusing in the problem would be a waste of mental resources, the most productive thing you can do is forget about work. But if you have the feeling that you are getting closer you should continue with full charge.

http://vimeo.com/45162748#t=1526

On Cities and creativity

Awesome comperation between Cities and Companies. The difference between them, and why cities make us more productives and companies restrain our creativities .

http://vimeo.com/45162748#t=1737

Thursday, June 21, 2012

"A happy grain of sand" - UX is part of your job as a developer

“If you are a developer you are a designer, you affect how people feel about the product you are building, the sooner you realize that the better” - Aral Balkan at NDC2012 - Opening and Keynote "A happy grain of sand" http://vimeo.com/43524962

Aral delivered a great keynote about User Experience Design - you can see it here. Warning: he sang in the first minutes you may want to skip that part. One interesting point that he made it’s that the vision for simplicity must come from the higher level, from CEO to dev, but that everyone must guard the vision.

He said that:
“Great design is a symptom of a design-lead organization structure and development process” - Aral Balkan
And this is why apple won't need Steve, because the focus on user experience is now embedded in the organization structure.

I have extracted some more nice quotes:
“Proximity implies relation, out of sight out of mind” - Aral Balkan
Your app shouldn’t look like your database just threw up”- Aral Balkan
“Focus on deliver quality not quantity”- Aral Balkan
“Great Design is about saying “NO” way more than “YES””- Aral Balkan
“Focus on your user needs, not your own”- Aral Balkan
“Perfection is achieved not when there is nothing more to add but when there is nothing left to take away” -Antoine de Saint-Exupery


Tuesday, June 19, 2012

Head First Data Analysis - Regression: Prediction using Clojure

I’ve been reading the excellent book from the Head First Series: Head First Data Analysis. The chapter on regression contains a problem been solved in the book using R. I have translated the solution to clojure using Incanter.

The problem is pretty simple. We have a dataset that contains information about the raises given to employees, the raise requested, if they negotiated the raise, the gender and the year. People want to know what to ask for. And they want to know what they’ll get, given what they’ve asked for. And the regression line predicts what raises people will receive.

Here is the plot with the data points, each data point is a person that negotiated their salary. In the X-axis is how much they requested for a raised and in the Y-axis how much they received. And in Blue is the Regression Line.

Here is the code:

Saturday, June 2, 2012

TEDxUFM - Luke Williams: Ideas are the Recipes

TEDxUFM - Luke Williams: Ideas are the Recipes

Great presentation on disruptive innovation. Highly recommended. 

http://en.wikipedia.org/wiki/Disruptive_innovation

Also if you are looking into becoming a better presenter, you can learn from this presentation. Notice the following:

  • "What it is?" VS "What it could be?" Slides/
  • Theme
  • Driving attention by changing size/font
  • A call to action at the end of the presentation.

Saturday, March 24, 2012

Random notes on Pragmatic Thinking and Learning.

Recently I was cleaning up my desk and found some of my notes on the book Pragmatic Thinking and Learning. Although the notes lack structure I found them inspiring.

On Being Happy

  • Notice how long it takes you to get over your initial reaction to a perceived threat. How does your reaction change once you “think about it”?
  • Act on that impulse but not immediately. Plan for it; schedule it. Does it still make sense later?
  • Write a new movie. If you’re troubled by a given film that keeps replaying in your head, sit down and craft a new one—this time with a happy ending.

On Testing Yourself

When you are dead solid convinced of something, ask yourself why. You’re sure the boss is out to get you. How do you know? Everybody is using Java for this kind of application. Says who? You’re awful developer. Compared to whom?

Quotes

The mind is its own place and, in itself, can make a Heaven of Hell, a Hell of Heaven. — John Milton, Paradise Lost.
The fact that we live at the bottom of a deep gravity well, on the surface of a gas-covered planet going around a nuclear fireball 90 million miles away and think this to be normal is obviously some indication of how skewed our perspective tends to be. - Douglas Adams
It is by logic we prove; it is by intuition we discover. - Henri Poincarégreat

Tuesday, March 20, 2012

The goal.

Yesterday, someone reminded me  the Goal from studying the book "Structure and Implementation of computer programs".
They should feel secure about modifying a program, retaining the spirit and style of the original author. - Alan Jay Perlis talking about the goal of completing the SICP book.

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-7.html#%_chap_Temp_4

Thursday, March 8, 2012

How and how-not to build a product - Kathy Sierra Keynote at 2009 NMC Summer Conference


Recently I saw for the hundred time the keynote from Kathy Sierra. It's feels good to see that even though I did not think on her presentation while working, her teachings still resonate on my mind.



Here are my notes on this presentation:
It’s not about how cool you are... or how cool its your product... It’s about How cool you make the user of your product , what cool things they can do now they use your product....
How you make them feel about themselves drives how they feel about YOU

  1. Don't build a better X Build a better user of X. Not how do we build a better camera its how we build a better photographer.
  2. Give them super power QUICK! User must do something cool within 30 min!
  3. Making them Smarter. Anything you can do to make them BETTER
  4. Do not ask about X ask about the subset of X. If you sell kitchen appliances, Do not blog about kitchen appliances, blog about cooking.
  5. Shrink the 10 000 hours to master something! Show the patterns and shorten the duration of the 10000 hours.Nobody become passionate about something they suck at...make the user an expert more quickly on your system.....
  6. Make your product reflect their feelings.“How you make them feel about themselves drives how they feel about YOU”
  7. Make the right thing easy, wrong thing difficult. This one applies for everything

Saturday, February 25, 2012

Creative Thinking by Scott Berkun

Awesome Video! Here are my notes:

  • All ideas are made of other ideas......Combine Ideas!
  • Thinking outside of the box is about removing constraints made up by our minds.
  • Working hard or working smart? DO BOTH!
  • Keep a journal of Ideas
  • Find a partner, could not find one, find a competition
  • Fail more often.  “The first draft of anything is shit” - Ernest Hemingway
http://vimeo.com/37115147


And example that everything is a Remix .... even Star Wars


http://vimeo.com/26877574#t=653

Sunday, February 19, 2012

Learning REST and DDD from Jim Webber.

Notes on “Domain-Driven Design for RESTful Systems”
  • HTTP is about moving documents around,  therefore Map HTTP protocol to trigger business activities by moving documents.
  • HTTP is an application protocol. Narrow HTTP into a domain application protocol.
  • Restful Clients drives work-flows just like amazon make us a drive the checkout-flow.
  • Do not build services that also do orchestration. Operation-Oriented VS Resource-Oriented architectures.
  • You do not need a bus (event bus) for Events. Use Event feeds ( atoms feeds) and let clients pull the events they are interested in.
On DDD
  • There’s always More THAN ONE DOMAIN REPRESENTATION in the software solution.
  • Command Query Responsibility Separation (CQRS) maps directly to HTTP

Wednesday, January 18, 2012

How we prepare for a pitch or for any presentation...


Most of the ideas die at the pitch. That’s why it is so important to know how to do it the best way possible. If you have an idea worth spreading, you better be prepared to do a great presentation.

In the last few months my team and I were working on a new idea. After 6 weeks we needed to pitch the idea. If the idea was to flourish and survive, it was better to be prepared.

Learn from the greats.

Before preparing for any presentation I watch and rewrite my notes from Garr Reynold’s presentation at google. Garr is the author of presentation zen and presentation zen design. If you follow his advices you are closer to get a great presentation. So instead of doing a bad job writing of his teaching, I have embed the video here - bookmark now!




Always two there are: a master, and an apprentice

When I mention learning from great presenters, Garr  Reynolds and Nancy Duarte, comes to mind. But as any craft, art, science or anything worth teaching, there are always two: a master, and an apprentice. Garr and Nancy were once apprentice as well.

Nancy has done some great work analysing and studying the structure of great presentations. We used Nancy’s teaching to shape our pitch into, what I believe was,  one of the best presentation I have given.

"What it is" versus "What it could be" - the shape of a great presentation

Nancy has discovered the presentation form that great presenters have, to convey their messages, their Idea, their passion. In the following presentation at TED she shows the structure by analysing two great presentations: Rev. Dr. Martin Luther King Jr.’s speech from the March on Washington and the presentation of the IPhone by Steve Jobs. One more time instead of doing a bad job describing her teaching, here is the video of her presentation:


Nancy Duarte's talk at TEDx East from Duarte Design on Vimeo.

A Call to Action - How we used the presentation form?


Back to our pitch. When we were rehearsing for our presentation,  we drew a line to keep track of our time, but little did we know how helpful it was meant to be. We started analyzing the presentation shape. When we saw that the shape was flat for too long,  we change our presentation to follow the presentation structure discovered and described by Nancy. Every “"What is"  was followed by a "What could be”, a surprise, a better possible future, a problem to be eliminated or a great feature from our idea.

But the best advice from Nancy it’s how to end a presentation, a call to Action. A call to Action by describing how the world could be when you and the audience join forces and solved the big problem. Because the hero is not the presenter, the hero is the audience. Because without them, without their help, without their support all the ideas die.

Thursday, January 5, 2012

Google Tech talks: Don't Make me click Notes  
By Aza Raskin - Head of User Experience for Mozilla Labs

Notes from the talk:
  • Whats the best interface?   BLANK - NFI No F*** Interface
  • Don't fall into the trap of look fancy/sexy/cool ( Adding interactions )
    • Example splash screens on websites.
    • Use Icons when text will do the work.
    • What Google be if they advertise everything the search box can do.
  • Its not about adding its about removing Interactions
  • No RIA but ZIA - Zen Internet Application
    • Act without doing  -> Pagination you have to interact continues listing
    • Don’t force users to ask for more content -> just give it to them
    • No by giving search result but by giving the thing you are looking for
    • Zoom In Zoom Out  - to remove Interactions.
    • People don’t think in forms. There are better ways:
      • Good example: Quick Add box google calendar.
      • Natural Lenguages Interfaces
the fewer keys you have to hit to get the computer to understand what you want, the less wasted effort, the more efficient the interface.