- Wireless (see link to fix flaky + interruption)
- Bluethooth
- Sound
- flash (ex on youtube)
- hibernate
- second monitor short key
- lower intensity screen short key
- ubuntu one (storage)
- video
Some thoughts of a Machine Learning Practitioner on Software Development, Management, Team Building, Startups, Python, Agile Development, Data visualization... that will distract you from your end goals by making you less efficient but are critical to manage in order to succeed. Don't forget that long time adaptation to inefficient approaches can become your enemy. Let's try to empower others by sharing knowledge & personal experiences.
Tuesday, March 16, 2010
Ubuntu remix & Asus Eee PC 1005PE 10''/250G 14hr review
Ubuntu remix is awesome. I am simply amazed. I have installed it from a usb key on my new ASUS Eee PC 1005PC and everything works perfectly, yes everything...with a small fix for the wireless interruptions:
Buy US made by Google.com: search protectionism?
- Everywhere except US: google.com = search around the world
- US only: google.com = search in the US
In many fields, it is great that it is ranking closest business higher (ex: closest pizza place) but not filtering non US competitors when service doesn't need to be close by (ex: consulting services).
Knowing that the United states is the biggest promoter of the free market/open market etc., I am totally amaze to learn such a rule. Do as I Say, Not as I Do. As an example, if you don't have an address is the states and/or host our web site there, SEO (seach engine optimization) is useless to get new customers from the states (a insignificant market;), they won't find you if there are using the biggest search engine...google.
Do Oubama administration really need a buy America plan?
The first role of free trading in unrestricted access to information (i.e: économie de l'information: Joseph E. Stiglitz).
You can try it:
- What everyone outside the US see with google.com : http://www.google.com/ig?hl=
all - What US people see with google.com: http://www.google.com/ig?gl=us
Monday, March 15, 2010
Opportunities ahead to reduce impact of doctor shortage an money constraint: Machine Learning
The "Collège des médecins du Québec" is hammering us with advertisement to give Québec Government solution to find new founding to pay more our doctors and specialists. In the industry, we make more money by been more efficient, not increasing prices. It is the easy solution when others are paying. "Collège des médecins du Québec" should promote efficiency to reduce their cost, deliver better service and generate more margin to increase nurses and doctors.
As an example, radiologist are earning on average around 700 K/year and Ophthalmologist 600K/year. Yes our generalist doctor could earn more, the average is around 150K/year. As a heavy tax payer, I am suggesting using optician approach in BC, replace heavy paid optometrist by machines to do the exams. Basically, automate what need to automate and use doctor efficiently which could reduce/eliminate the shortage.
When people go to far with their salary expectation, it is time to bring them back on earth. No one accept fees increase for poorer service.
Public system and doctors studies are founded by our taxes and Health System spending represents close to 50% of Québec spending, money doesn't grow in trees. Yes, they are getting less if they were in the states, but US doesn't have a public systems, only wealthy people have access to it and it can't happen in Canada because it is publicly founded.
I have tried to help happy clinic by contacting doctors to offer smart waiting time system to make people wait less but most of them didn't care much: we are busy, people have to way, its a natural filter. They can make us waiting hours even with appointments, treat us like shit because the service offer is low. When most of us are waiting, we aren't earning money to pay them. Shame on you. Everyone is loosing at this game.
Doctor are getting greedy and are starting to see them as untouchable and are forgetting who are paying their salary.
If well packaged, Machine Learning can be use by anyone to do high level screening and provide valuable information. In 2010, doctors remain one of the only profession who doesn't use much machine to make them more efficient and are fighting to stay the bottleneck. With this crisis ahead, it might be a good opportunity for the machine learning community to get into this shielded area in the benefit of everyone, them too.
As an example, radiologist are earning on average around 700 K/year and Ophthalmologist 600K/year. Yes our generalist doctor could earn more, the average is around 150K/year. As a heavy tax payer, I am suggesting using optician approach in BC, replace heavy paid optometrist by machines to do the exams. Basically, automate what need to automate and use doctor efficiently which could reduce/eliminate the shortage.
When people go to far with their salary expectation, it is time to bring them back on earth. No one accept fees increase for poorer service.
Public system and doctors studies are founded by our taxes and Health System spending represents close to 50% of Québec spending, money doesn't grow in trees. Yes, they are getting less if they were in the states, but US doesn't have a public systems, only wealthy people have access to it and it can't happen in Canada because it is publicly founded.
I have tried to help happy clinic by contacting doctors to offer smart waiting time system to make people wait less but most of them didn't care much: we are busy, people have to way, its a natural filter. They can make us waiting hours even with appointments, treat us like shit because the service offer is low. When most of us are waiting, we aren't earning money to pay them. Shame on you. Everyone is loosing at this game.
Doctor are getting greedy and are starting to see them as untouchable and are forgetting who are paying their salary.
If well packaged, Machine Learning can be use by anyone to do high level screening and provide valuable information. In 2010, doctors remain one of the only profession who doesn't use much machine to make them more efficient and are fighting to stay the bottleneck. With this crisis ahead, it might be a good opportunity for the machine learning community to get into this shielded area in the benefit of everyone, them too.
Friday, March 12, 2010
Why you Shouldn't Accept VC money earlier than you thought: Story about Venture Capital and an Outdated Decision Maker revised
I met Gary Haran at confoo and stalled on one of his post:
It might be advantageous to accept VC money earlier than you thought.
I have auto-censure one of my post about VC but it need to be republish to ensure entrepreneurs understand the possible deep consequences of such a decision. The post Anatomy of a failed software project initiate my thought of un-censure it because we don't talk enough about bad experiences to not offend people or been seen as too negative but its reality and we should have realistic expectation. With Amazon EC2, google app engine, rackspace hosting and so on, it is becoming way less costly to bring new technologies to the market. Most software company don't need big founding anymore and have just more reason to avoid VCs.
I strongly recommend boostrapping your company with consulting and/or R&D credits, INRS programs etc.
So here is the revised version on the post I have pushed Apr 29, 2009 12:32 AM and removed.
Once my boss, which was one of the founders of the company that I was working for, told be: Avoid as much as you can VC, it should stay your last resort. I haven't realized the deep importance of this after some American sharks VCs took control of our company and enforce their ultra capitalism short term vision. GM is a good example of short term vision but, that's another interesting story.
Venture Capital represents high risk investments and their only gold is to get the highest return on investment in the shortess time period. That's fair, you simply have to know the rules.
Entrepreneurs build and invest, VC rape everything that is possible. At that time, they replaced the top management with their Californian super stars or ... remaining turnips (j'exagère un peu). One of their last super star, when I was there which I will refer to "Le Chasseur", came to take the highest position of the technical side of the business. At that time, I was working on new technology and this old cowboy grandpa came to tell me that we weren't doing real research. According to him, real research was what he was doing 25 years ago with his wired and transistors. I simply told him that our group of 3 (i.e: including manager) weren't pretending doing research but simply doing applied research and definitely not pure research as his thousand of coworkers were doing in the old monopolistic US company he was referring to. This guy had made lot of money in the good years of the Internet and was annoying me with his stories, I should have told him to go and say it to his little sons and daughters and simple retire and let us work. His only salary could have let us build a much better team to continue innovating in technology which was our core business. Without any support from him, even working against us, we still have manage to release a complete new technology (i.e.: prototype + knowledge transfer to prod+ prod support) that is bringing quite lot of income to the company. Charlie, most important point is to bring technology to the market, nothing else matter...I have succeed even if he desperately try to make us fail to justify moving advance stuff to California.
Those clowns (i.e: I know, I am over generalizing) were just sucking all financial resources of our company. Been still a share older, I was relieve to hear that "Le Chasseur" has finally been fired in a reorganization. If you need reorganization to do cleanup in a private company, your level of politic game should be quite high... and politics leads to corruption and mediocrity in such an organization. We could have become a great company but it might remains an average one, I don't think I deserve that after such investments but money leads. According to old colleagues, the latest reorganization was efficient.
I think that the concentration of smart people is higher in CA then in Montreal, but we definitely fall on some bad apples.
Key decisions can't stand in incompetent hands, soon or later the guillotine will come. If you made money and reach your level of incompetency, please let the others take the lead. If you haven't make money, just reorient your carrier. We don't care about your ego, the fact that your are the initial founder etc. what is important is the company success and everyone will benefit from it.
You might have better story and or points of view about VC but what I saw wasn't great:
I hope that I will never in my live work again for a company that will be taken over by VC. If you need VC, you might already been badly organized to need desesperatly money from them. I would definitely like to hear good stories about VC where they achieve their gold...at least.
Yes I had a painful indirect experience with VC and an outdated decision maker but I knew that startups environment aren't easy. I learned better the rules and the game by playing it. I wish they will find a way to make money because success bring success and Montreal deserve more of them, there is so much talent here. I have emphasis on one bad decision maker but the CEO and the CFO were interesting character...but you need one bad apple drop by your VC to fuck your company and they will get most of the benefits.
As mentioned in Samual Bouchard blog, we need way more private founding alternatives but were aren't yet there.
It might be advantageous to accept VC money earlier than you thought.
I have auto-censure one of my post about VC but it need to be republish to ensure entrepreneurs understand the possible deep consequences of such a decision. The post Anatomy of a failed software project initiate my thought of un-censure it because we don't talk enough about bad experiences to not offend people or been seen as too negative but its reality and we should have realistic expectation. With Amazon EC2, google app engine, rackspace hosting and so on, it is becoming way less costly to bring new technologies to the market. Most software company don't need big founding anymore and have just more reason to avoid VCs.
I strongly recommend boostrapping your company with consulting and/or R&D credits, INRS programs etc.
So here is the revised version on the post I have pushed Apr 29, 2009 12:32 AM and removed.
Once my boss, which was one of the founders of the company that I was working for, told be: Avoid as much as you can VC, it should stay your last resort. I haven't realized the deep importance of this after some American sharks VCs took control of our company and enforce their ultra capitalism short term vision. GM is a good example of short term vision but, that's another interesting story.
Venture Capital represents high risk investments and their only gold is to get the highest return on investment in the shortess time period. That's fair, you simply have to know the rules.
Entrepreneurs build and invest, VC rape everything that is possible. At that time, they replaced the top management with their Californian super stars or ... remaining turnips (j'exagère un peu). One of their last super star, when I was there which I will refer to "Le Chasseur", came to take the highest position of the technical side of the business. At that time, I was working on new technology and this old cowboy grandpa came to tell me that we weren't doing real research. According to him, real research was what he was doing 25 years ago with his wired and transistors. I simply told him that our group of 3 (i.e: including manager) weren't pretending doing research but simply doing applied research and definitely not pure research as his thousand of coworkers were doing in the old monopolistic US company he was referring to. This guy had made lot of money in the good years of the Internet and was annoying me with his stories, I should have told him to go and say it to his little sons and daughters and simple retire and let us work. His only salary could have let us build a much better team to continue innovating in technology which was our core business. Without any support from him, even working against us, we still have manage to release a complete new technology (i.e.: prototype + knowledge transfer to prod+ prod support) that is bringing quite lot of income to the company. Charlie, most important point is to bring technology to the market, nothing else matter...I have succeed even if he desperately try to make us fail to justify moving advance stuff to California.
Those clowns (i.e: I know, I am over generalizing) were just sucking all financial resources of our company. Been still a share older, I was relieve to hear that "Le Chasseur" has finally been fired in a reorganization. If you need reorganization to do cleanup in a private company, your level of politic game should be quite high... and politics leads to corruption and mediocrity in such an organization. We could have become a great company but it might remains an average one, I don't think I deserve that after such investments but money leads. According to old colleagues, the latest reorganization was efficient.
I think that the concentration of smart people is higher in CA then in Montreal, but we definitely fall on some bad apples.
Key decisions can't stand in incompetent hands, soon or later the guillotine will come. If you made money and reach your level of incompetency, please let the others take the lead. If you haven't make money, just reorient your carrier. We don't care about your ego, the fact that your are the initial founder etc. what is important is the company success and everyone will benefit from it.
You might have better story and or points of view about VC but what I saw wasn't great:
- They stop/restrain investment in innovation
- They drop some incompetents clowns (over generalized to make the point)
- They suck all money to pays their clowns
- They made your shares less valuable
- They drawn massive amount of money on building products that had no real value and on non core technology
- They create a real wall between decision makers and the workforces
- They invest a lot in fake partnerships
- They love yes mans
- They feel way smarter (especially CA vs Mtl)
I hope that I will never in my live work again for a company that will be taken over by VC. If you need VC, you might already been badly organized to need desesperatly money from them. I would definitely like to hear good stories about VC where they achieve their gold...at least.
Yes I had a painful indirect experience with VC and an outdated decision maker but I knew that startups environment aren't easy. I learned better the rules and the game by playing it. I wish they will find a way to make money because success bring success and Montreal deserve more of them, there is so much talent here. I have emphasis on one bad decision maker but the CEO and the CFO were interesting character...but you need one bad apple drop by your VC to fuck your company and they will get most of the benefits.
As mentioned in Samual Bouchard blog, we need way more private founding alternatives but were aren't yet there.
Sunday, January 31, 2010
python try catch cost vs hasattr (overhead = only 2X)
To support different version of code, you might end up using try catch code bloc. But, in the worst cast, what is the cost overhead of throwing an exception every-time?
You might have the possibility to use in some case the hasattr to avoid throwing an exception but your code will be less elegant and/or readable.
In order to make a rational decision, let's compare the time cost. I was expecting a major cost for throwing exception but it ends up been only 2 times more costly then doing an hasattr.
You can see the simple code I have used to compare it here. From now on, I will be less scare about memory performance when I am using try catch.
You might have the possibility to use in some case the hasattr to avoid throwing an exception but your code will be less elegant and/or readable.
In order to make a rational decision, let's compare the time cost. I was expecting a major cost for throwing exception but it ends up been only 2 times more costly then doing an hasattr.
You can see the simple code I have used to compare it here. From now on, I will be less scare about memory performance when I am using try catch.
Friday, January 22, 2010
The power of python within Tomcat for powerful webapps (jython2.5.1)
Many companies are looking to speedup their development process. Unfortunately they are restricted to use well established webserver framework like tomcat and, in this example, they fill limited to Java.Jython is coming to the rescue. Since September 26th 2009, Jython2.5.1 has been released and can be use to create servlet that runs inside apache tomcat application server. Jython allows you to write python that is running on java VM (100%) and let you use lot of python pure libraries and let you use all java packages with a python synthax.
If you try it, you might have issues like:
- How can I create a simple jython2.5.1 servlet? (not deprecated jython2.2.1 that doesn't allow you to use most pure python libs)
- Why do I get ImportError when I use standard python package? How can I fix it?
- Where should I put jython2.5.1.jar?
- Where should I put my python code?
- Where can I get a basic example that is working?
- Where should I put my pure python libraries?
Here are the steps you should follow:
- get tomcat http://tomcat.apache.org/ (I used 5.5.28)
- get jython2.5.1 http://sourceforge.net/projects/jython/files/jython/jython_installer-2.5.1.jar
- cp ~/jython2.5.1/Lib tomcat5.5.28/share/lib (required to used std python libs)
- cp ~/jython2.5.1/jython.jar tomcat5.5.28/share/
- download example: wget http://mlboost.svn.sourceforge.net/viewvc/mlboost/jython/HelloWorld/HelloWorld.war
- cp HelloWorld.war tomcat/webapps
- download java jdk
- export JAVA_HOME=sun-jdk-1.6.0_02
- tomcat5.5.28/bin/startup.sh
- try it: http://localhost:8080/HelloWorld/HelloWorld.py
PS: a war file is a zipped file, you can unzip it in tomcat/webapps for testing so you don't need to rezip it and restart the server. When you are done, simply do a jar cvf HelloWorld.war * in the tomcat/webapps folder and ship that single file to the client tomcat server (make sure jython is installed). If you want to add pure python libraries, you can simply add them into your war file, it will work.
Here is the time comparison of the same service:- python: wsgi httpserver
- jython: wsgi httpserver
- tomcat: java servlet jython2.5.1
Friday, January 8, 2010
matplotlib & python for powerful data visualization
Here is an example of data that isn't obvious to analyze:
What is the gain and lost effect of percentage of seats in a point of view of proportional representation? Percentage of seats is usually chosen in legislative assemblies. It is the process used in Canadian and Québec elections.
Powerful visualization allow you to see easily the effect. Python & matplotlib is an amazing combination to do so. It took me 20 minutes to allow me to visualize the effect in federal and Quebec election of 2008.
Upper graph (seats vs votes) shows the lost of proportional vote % if you use a seats approach. As an example, liberals gain ~11% and ADQ lost of ~11%.
Lower graph (lost seats vs votes). The real impact of party is the ratio of this lost on their real vote proportion. In this example, it is a gain of ~25% for each Liberals votes (11/(66/125)) and a lost of 66% for the ADQ and ~88% for QS.
Basically:
What is the gain and lost effect of percentage of seats in a point of view of proportional representation? Percentage of seats is usually chosen in legislative assemblies. It is the process used in Canadian and Québec elections.
Powerful visualization allow you to see easily the effect. Python & matplotlib is an amazing combination to do so. It took me 20 minutes to allow me to visualize the effect in federal and Quebec election of 2008.
Upper graph (seats vs votes) shows the lost of proportional vote % if you use a seats approach. As an example, liberals gain ~11% and ADQ lost of ~11%.Lower graph (lost seats vs votes). The real impact of party is the ratio of this lost on their real vote proportion. In this example, it is a gain of ~25% for each Liberals votes (11/(66/125)) and a lost of 66% for the ADQ and ~88% for QS.
Basically:- In Canadian election, PC & BQ gain power but BQ way more in proportion and Greens lost everything
- In Quebec election: QS & ADQ lost lot of power and PQ and LIB gain it: it might explain why they aren't talking of changing election formula
- Matplot lib and python is an amazing combination to automate data visualization
svn co https://mlboost.svn.sourceforge.net/svnroot/ mlboost/elections
python elections/seats_vs_prop.py
Gerrymandering Explained (youtube;
Gerrymandering - another reason why rep democracy is fundamentally corrupt http://bit.ly/qO4mpH)
Subscribe to:
Posts (Atom)