Multiple python version ipython notebook

The idea here is to install multiple ipython kernels. Here are instructions for anaconda. If you are not using anaconda, I recently added instructions using pure virtualenvs.

Anaconda 4.1.0

Since version 4.1.0, anaconda includes a special package nb_conda_kernels that detects conda environments with notebook kernels and automatically registers them. This makes using a new python version as easy as creating new conda environments:

conda create -n py27 python=2.7 ipykernel

conda create -n py35 python=3.5 ipykernel

After a restart of jupyter notebook, the new kernels are available over the graphical interface. Please note that new packages have to be explicitly installed into the new enviroments. The Managing environments section in conda’s docs provides further information.

Manually registering kernels

Users who do not want to use nb_conda_kernels or still use older versions of anaconda can use following steps to manually register ipython kernels.

configure the python2.7 environment:

conda create -n py27 python=2.7

source activate py27

conda install notebook ipykernel

ipython kernel install –user

configure the python3.5 environment:

conda create -n py35 python=3.5

source activate py35

conda install notebook ipykernel

ipython kernel install –user

After that you should be able to choose between python2

and python3 when creating a new notebook in the interface.

Additionally you can pass the –name and –display-name options to ipython kernel install if you want to change the names of your kernels. See ipython kernel install –help for more informations.

Why does Apple kills Adobe Flash from beginning?

From 2007, when the first iPhone appeared, Apple has not supported Flash. Everybody, includes Apple, said about technical flaws and problems of Flash as the main reasons to eliminate it. However, that is just half of the story. In my opinion, the killing point is: “Flash is the main competitor of AppStore”.

AppStore is the milk source of Apple and is the most sustainable one. Even Apple cannot sell any iOS devices to you, you still have to use App Store to download music, applications and movies and so on. You can check the financial report of Apple xx% of money, accounts for yy$B of total income.

But why Flash is the biggest thread to Apple? Well, if they support Flash, do you want to play free flash game from your favorite websites or download games from Apple? if you can make Flash games can run on iPhone and Android, why should you learn Objective-C and make a dedicated version for iOS? And if anything in flash works well, how could Apple has money from Advertising and comission (30% of any selling on AppStore)? Flash games will be cheaper at least 30% and can use advertising services from non-Apple agents.

So now you see my argument.

: )

Hava a nice day.

Saving whole facebook meassages

Facebook does not have the function to save all message alone so make by ourselves!

Luckily, smart guys are around and I found this:

Basically, we use javascript to click on the “show more message” button, after that can copy to any plance.

The interesting part is how a simple trick and knowledge in Javascript can be such that useful.

1.) Go to “
2.) Click on the conversation you want to load from day one
3.) Click “ctrl + shift + j” ==>  Open the developer tool of your web browsers, in the console part (javascript console), paste the code below and press Enter
4.) Then copy and paste this in there and let it load all of the message while you sit back and smile

setInterval(function () {
}, 500);

From Windows and Ubuntu to Mac

Well, I finally have a Macbook. As a fan of Windows and XUbuntu, here are my comment about Mac OS:

  1. Windows and Linux have a huge number of software while Mac’s choice is limited. Let make an example: download accelarator: for Windows I can find a bunch of free and good ones while in Mac the choice is around 5-6 which mostly less functional than Win. Windows 10 can run ubuntu software (sort of) natively while do the same on Mac is a mess.
  2. two
  3. three
  4. four
  5. I am adding later when I have time for it.