the server is written in tornado
798 karma · joined May 19, 2010
the server is written in tornado
1. linux package management is sufficient - this isn't the case. linux package management couples your library versions with your distro verison. Meaning if I want to do something like try out my code with the latest pandas, or run 2 jobs with different versions of numpy I'm out of luck
2. conda went ahead and forked everything without regard for the community - this is completely untrue. We sat down with guido for the very first pydata at google offices in 2012 to discuss many issues, packaging being one of them. Guido acknowledged that the python packaging ecosystem isn't sufficient for the scientific community, and we should go out and solve the problem ourselves - so we did. Honestly on this point, you should just read travis' words about the issue
http://technicaldiscovery.blogspot.sg/2013/12/why-i-promote-...
Scientific users need to be able to package non-python libs along with python libs (think zmq, or libhdf5, or R) we need a pkg mgmt solution that sits OUTSIDE of python for this reason. You can think of conda as a little in between place between virtualenv and docker
- python 3 (.5?) is adding the @ operator for matrix multiply. Of course this only helps you if your company uses python3
- There are 2 packages (seaborn, ggplot(clone)) which sit on top of matplotlib and provide a much nicer interface for statistical plots
For builds: - build a conda environment for your project - export your conda environment using conda list -e, and then take all the conda packages for those and put them into a single tarball
For deployment - bootstrap a base python environment using miniconda http://conda.pydata.org/miniconda.html - install that tarball of packages with conda install <mytarball.tar>
It's not as simple as a jar, but it's reasonably close
There is also another library out there which approaches the problem a bit differently
1. Ability to rapidly prototype responsibly - make good choices about which short cuts can be taken, and making sure everyone understands the implications of those shortcuts. There is some curve of doing things right and doing things fast, and the good people I've seen can walk this line appropriately given the business demands.
2. Ability to not get bogged down in writers block or analysis paralysis, which I've seen take out weeks of productivity in less experienced programmers (everyone gets this some time, regardless of experience)
3. Domain knowledge of the problem at hand - so that you know what you build will actually be useful. Everyone can be told what should be done by sales or whatever, but combining knowledge into one head rather than 2 is vastly more productive
4. Enabling the above 3 things for the rest of your team.
I can be reached at hugo@continuum.io if you want to chat about it
Python destroys matlab in all other regards. Once you've tried it for a while you'll understand the value of a general purpose programming language with advanced numerical capabilities
- sushi is really easy to screw up, just buy really crappy fish, and alot of people do that
- there's awesome chinese food and vietnamese food in san jose, much better than most of SF, second only to LA in the states.
http://technicaldiscovery.blogspot.com/2013/12/why-i-promote...
http://code.google.com/p/spyderlib/
we ship it with anaconda
In fact we are working on (and open sourcing) similar ideas
I think gevent zeromq is no longer necessary
Then we mute the phones for 30 minutes, so that people can work in peace, but we're around if they want to ask us any questions.
And at the end of the 30 minutes we discuss how far they got, and what they would do differently, etc..
We've only done this twice, but I think it was fairly useful both times. Haven't done it enough to know whether or not this is a good approach.
from the blog:
https://gist.github.com/ahmadia/5638980
Update:
At the request of several commenters, here is a test script and benchmarks that we ran on PyPy and Anaconda Python (with Numba). The results are not tuned (I am not a PyPy expert!) so we did not post them in the blog. We’d be happy to look deeper into this with the PyPy developers. While PyPy is not currently installed on Wakari, we are looking at a number of ways we can install and support the PyPy community.
thx.
Besides, with bitcoin, why use paypal? Is paypal going go try to act as an exchange between btc and usd?