Saturday, February 15, 2020

Research, information management, contrastive divergence, no free lunch theorem, non-parametric...all related

During my master studies, I had to take a course on Research Methodology which introduced me to an interesting concept of information management. With our limited brain capacity, more you read papers about others ideas, less space is available for your own ideas and enforce other assumptions, vision and models.

In practice, great researcher are aware of this consequence of the no free lunch theorem and try to keep of good balance of papers reading and research exploration. By simply applying the contrastive divergence concept of your approach, you can gage your distance to the trend and get a estimation of the impact of a possible discovery.
The Research Machine Learning community, as most other community, has the tendency to recruit top grades students that are use to follow exactly the line of thoughts of their teachers. This long training process is, according to me, extremely damaging to the training of the researcher capacity (i.e.: suboptimal cost function). This explain why most of the master student are researcher cheap labor driving force because they can only experiment others ideas with minor contributions.
Top researchers allow their formal students to follow their own line of thoughts or if they have no specific ideas, suggest ideas. I won't have done a research master without this freedom, thanks Yoshua!
So, if you want to impact the most your community, limit the number of papers your are reading, make your own ideas and play with your concepts to train your own intuitions of the unknown guiding rules you are looking for.

You might say, what's your contributions, I haven't heard about it. My contribution is that I have build experimental proof of back-propagation optimization fundamental problems and build the skeleton of top level explanations. Usually, we don't publish this type of results until you find a solution to the problem which, unfortunately, I haven't reach but, it is coming slowly; it is a long process and I learned to be patient.

So, if you want to impact the most your community, limit the number of papers your are reading to ensure you don't constrain yourself to others models. Why using a parametric model that limits your solution exploration space?

You can trust the collective research discovery learning process that ensure the evolution of the human kind because someone will find it or, use it to increase the likelihood your will make a important discovery (i.e.: use it as a contrastive divergence cost function). If everyone was applying this strategy or cost function, I am pretty sure we will evolve faster. In order to move to this step, we will need to encourage failure strategy publications to ensure other don't wast time reproducing the same ideas but this could be elaborated in another thread post that involve a society evolution.

Traders knows about this simple strategy, buy low, sell high, don't follow the trend, take risks.

blogging now on on

Blogger has improve the site since so long so I decide to continue blogging on

Sunday, January 15, 2017

Business Contrat 2.0 – Found a template (posted on Feb 4th 2010 on

Knowing that I am flirting with the idea of doing consulting, I was looking for advices about common mistakes and better ways to evaluate client contracts. Contracts can put you in obligations you haven’t thought and make you slip your deliveries, force you to make more work than planned and worst, jeopardize your relationship with clients. Root cause is most likely unclear expectations on both sides. With some spaghetti clauses that only juridic lawyers can understand, it is easy to fall in this path and everyone loose at this game.
RIM (Régionale de ingénieurs de Montréal/ordre des ingénieurs du Québec), was organizing a training Workshop called “Business Contracts 2.0″. The presentation from Gilles Thibault of edilex was extremely interesting.
Currently, their is no established standard to create contracts. Basically their is as many form as the number of lawyers out there. Most of the time, lawyers are the only one comfortable with them because they’ve wrote them and it is in their juridic jargon. Unfortunately it doesn’t help much who really used them. Most of the time, clients and contractors have hard time understanding them but it is a lucrative process for high hour rate paid lawyers. According to Gilles, lawyer will disappear if they can’t provide better services for contracts (a little bias).
Edilex is proposing a template for contract to ensure nothing is missing and enforce structure to ensure clear expectation between each party. A contract need a table of content, its like a plan.
Proposed Template blocks:
  1. Identification & location (name + birth->juridic name + rights applicable)
  2. Party identification (Physic/moral-Society/union/coop ->representative liquidator Trustee/power delegation etc. )
  3. Preamble (context used for fall-back defect clauses)
  4. Lexicon (clarification/disambiguation & shorter sentences)
  5. Object (simple/multiple;utility conditions/redaction)
  6. Cost (adjustment/payment method/warranty/phase delivery etc.)
  7. Attestations party A (not obligation/warranty-improve trust-don’t want to fight about obligation and duty to disclose information)
  8. Attestations party B
  9. Reciprocal obligations
  10. Obligations party A (Align with Business process/order of execution)
  11. Obligations party B
  12. Special provisions (orphan/specific/bi-directional)
  13. General provisions
  14. End of contract (resolution/termination)
  15. Start of the contract
  16. Duration
  17. Scope
  18. Annexes
So basically, why a template?
  • Clearly define what it include and isn’t (You can’t remove sections)
  • Provide table of content (Don’t need to reread all the contract)
  • Find holes/unclear-possible point of conflicts
  • Reduce dramatically judge interpretation during conflict
  • Can help deciding to not get involve in the project (risk/client honesty)
  • Provide structure/uniform frame
  • Enforce clarity
I will try to apply some of those ideas and it is making me way less scared and equipped to sign new contracts. I really like this approach.

Monday, December 12, 2016

How to negociate your compensation package with a startup?

Its quite simple but most startup will make it look complex to make a better deal then you.

  1. First, know your market value (ex: 100K)
  2. Second, get the startup base salary offer (ex: 60K)
  3. Third, estimate the unpaid value: market value - base salary = update value (100-60=40K); usually the unpaid value is paid in stock with a premium
  4. Forth, get the last valuation of the company & number of shares total + double/tripple dipping clause details.
  5. Evaluate the risk factor to get the unpaid value in stock. Basically the stock option premium to ask.  
    1. Startup phase/maturity level (risk factor to apply)
      1. MVP = fucken risky, a big factor is required (ex: 100)
      2. Market Fit exploration = Fucken risky so a big factor too (50-100)
      3. Market validation phase, time to scale = 2-5
      4. Quality of the investor and network they bring = 2-100 (vary a lot)
      5. Market (hype or ...) = 2-10K
    2. Strategic location = 2-1000 (vary a lot)
    3. Type of startup
      1. Type of startup = unicorn (big factor), etc.  1-100
      2. Business type, B2B or B2C : 1-100
      3. Type of revenue (recurrent, retension
      4. Data driven = 1; non-data driven (get out)
      5. Working culture
      6. Collaboration and communication culture
    4. Management team
      1. Management team, advisor experience in place = 2-1000
      2. Team quality: 2-1K
      3. CEO focus = 2-1M
      4. Management Mission and Vision clarity
    5. Financing
      1. Delay before next founding required -> 2-1000
    6. Your value
      1. Role type = Tech has more value
      2. How rare is your skill = 1 to 100
  6. Evaluate the number of share you should claim (40k*25 = 1M; current valuation = 10M; stock = 10% ownership)

As you can see, its quite simple, its basic math.

Sunday, December 4, 2016

How to install a workcenter xerox on ubuntu?

  • # install dependencies
    • apt-get install libstdc++5 libstdc++5:i386
  • # download "Samsung Unified Driver Configurator" 
    • wget
    • sudo dpkg -i suldr-keyring_2_all.deb
  • # install cups filters 
    • sudo apt-get update
    • sudo apt-get install cups-filters
  • Install driver
  • then follow this
    • sudo update db
    • locate wc3210.ppd
    • cp wc3210.ppd ~/Desktop
    • locate rastertosamsungspl 
    • copy rastertosamsungspl  ~/Desktop
    • cd ~/Desktop
    • sudo cp rastertosamsungspl /usr/lib/cups/filter
    • open systemsettings in ubuntu 12.04.2 and choose printing
      add new printer- network printer - (it will find the workcentre with its IPafter about ten seconds, be patient!) - click that; then "forward" (searching for drivers wait till "choose driver appears), click "provide ppd file" and navigate to your desktop where you'll find the previously saved wc3210.ppd
      h) click apply and print test page - you're done!

Saturday, October 22, 2016

What is optimal for engineer/entrepreneur/intrapreneur, be optimist or pessimist?

Since many years, I have noticed a disturbing appearance patterns, my network (engineer/entrepreneurs) project a more pessimist image than my wife network (sales/managers) who project a more optimist one.

I did start researching on the subject and found reassuring studies. Basically sales people are more likely to perform if they are optimist and engineer/entrepreneurs more likely to success if they are defensive optimist. The 2 groups need to use opposite strategy to better perform. An optimist should relax and pessimist should focus on his weakness to better perform. 

Concerning entrepreneur and life in general, I think the optimal configuration is the combination of both: optimist in appearance but pessimist under the hood. For sales, knowing that appearance is critical, I think people should show more the optimists part but need to work hard under the hood (pessimist to keep improving). For entrepreneur/engineer its the same but need to remove the optimist mask more often to work.  
Image result for duck pedaling image

Now, I better understand why natural selection didn't eradicate pessimist or our monkey brain

The best article I found on the subject is "The Positive Power of Negative Thinking" from Adam Grant. 

Here are the article highlights sections:

Although evidence shows that happiness often makes us more successful by fostering energy and creativity, it can backfire for defensive pessimists. When strategic optimists and defensive pessimists threw darts, they did equally well overall, but were most effective under opposite conditions.
If you want to achieve a major goal, conventional wisdom says to think positive. Picture yourself delivering the perfect presentation, and absorb the energy of the audience. Envision the ideal job interview, and imagine yourself on cloud nine when you get the offer. Although these strategies sound compelling, it turns out that they often backfire. Many of us are more successful when we focus on the reasons that we’re likely to fail.
Strategic optimists and defensive pessimists succeed under different circumstances. If you’re a defensive pessimist, or you’re attempting to motivate one, the strategies that prove effective are often the reverse of what you expect.
“Before long, I began to realize that they were doing so well because of their pessimism… negative thinking transformed anxiety into action.” By imagining the worst-case scenario, defensive pessimists motivate themselves to prepare more and try harder.
If you’re the kind of person who’s always telling other people to look on the bright side, you might want to reconsider. Whether people succeed is not a matter of thinking positively or negatively, but rather whether they choose the strategies that match their thinking styles. As psychologists Heidi Grant Halvorson and Tory Higgins write in Focus, “It’s the fit that counts.”
And if you’re a defensive pessimist, when preparing for a performance that really matters, you might want to list your weaknesses instead of your strengths, and drink a glass of anxiety rather than a shot of confidence.

Ultimately, both styles are deadly at their extremes. Pessimism becomes fatalistic, and optimism becomes toxic. The key is to find the sweet spot, the more moderate ranges that combine the benefits of both approaches. In the words of Richard Pine, “The best chief executives—and that includes presidents—know that too much optimism is a dangerous thing, that wise and productive leadership means striking a balance between optimists’ blue sky view of the world and pessimists’ more clear-eyed assessment of any given situation. Take one part salesman, one part inventor, one part lawyer, one part safety engineer, stir gently and you’ve got a great chief executive.”

Optimists tend to thrive in jobs that require resilience and perseverance. For example, in insurance sales jobs with high rejection rates, optimists sold 37% more than pessimists over a 2-year period.

At the same time, we need pessimists to anticipate the worst and prepare us all for it. On average, research indicates that people who never worry have lower job performance than those who worry from time to time. Studies also show that when entrepreneurs are highly optimistic, their new ventures bring in less revenue and grow more slowly, and when CEOs are highly optimistic, they take on more risky debt and swing for the fences more often, putting their companies in jeopardy. (This may be why there are fewer optimistic CFOs than CEOs.)

Tuesday, October 27, 2015

How to setup a VPN connection on ubuntu?

Here is how to setup your vpn on ubuntu:

install vpnc stuff (see notes bellow)

create your XXXX.conf file

reboot (don't forget otherwise it won't work)


sudo vpnc-connect nuance

sudo vpnc-disconnect



sudo aptitude install vpnc

sudo aptitude install  network-manager-vpnc


vim /etc/vpnc/XXX.conf


#IKE Authmode psk

IPSec gateway

#IPSec gateway XXX.YYY.ZZZ.WWW


IPSec secret ZZZZZ

Xauth username YOUR_USERNAME

# Xauth password YOUR_PASSWORD (optional)

Domain ZZZZZ