I had the same struggle and originally used viper-mode + vimpulse to ease the transition. Recently I've switched to Evil, which is excellent and requires very little configuration to give you vim-like navigation with all the other good things in emacs: http://www.emacswiki.org/emacs/Evil
Thanks for the feedback. I'd be very happy if this inspired better solutions. My goal was to solve a problem that was slowing down my work, and I reached for multiprocessing from my toolbox since that's my first choice to run work in parallel. Since I didn't find an existing implementation, I decided to share it. It would be great to learn from some alternative approaches.
I hope that didn't sound like an attack. I'm glad you solved your problem and communicated it. I did see that while twisted does have multipart file upload in a branch on lp, it's not actually merged in yet.
The problem is just one of language and toolkit abstractions. Too many python APIs are blocking unnecessarily with no way out. A non-blocking version of that API would be obvious how to run in parallel (as the twisted one is).
This is part of the reason for node.js' rise in popularity -- or at least reason for existence. He took the other extreme where nothing blocks. The community is coming up with ways to simulate blocking APIs in efforts similar to what you've done to simulate non-blocking APIs in a world full of blocking APIs.
I learned Clojure with Joy of Clojure, the early access version, coming from a Python background with very little practical experience in Java or Lisp. It's an excellent book.
The biggest advantage for my coding has actually been in my day-to-day Python work, where I'm much improved at designing functionally, parallelizing with multiprocessing, and building decorators and context functions to remove boilerplate code. So my Python is faster and cleaner; this is all thanks to being able to to think better about code design after working in Clojure.
For a good example of "why Clojure" take a look at Cascalog:
Interesting. Would you say that it's worth reading, even if I don't intend to program Clojure at all in the next few years, but I am a Python programmer?
You'll want to not just read a book, but also get hands on experience with the language. That's where I found Clojure a good choice for me since I could work on problems of interest to my work and reuse existing Java libraries.
Joy of Clojure also presents a persuasive argument in the opening chapter for Clojure, Lisp and functional programming. There is a pdf of that chapter available for free from the author's website:
I remember seeing it last year and it doesn't look to have been worked on recently. A great proof of concept, but it'll be hard to sustain development motivation: there aren't good opportunities for making money, and this type of work unfortunately doesn't generate a lot of recognition amongst scientists.
Sound, wifi and the camera work fine and it's been through a couple of Ubuntu upgrades with no issues. I was specifically looking for something that would be zero maintenance and have been very happy.
They are available in a bunch of depths and heights and are easy to adjust. You probably won't be moving them up and down multiple times during the day, but can configure it to a comfortable height. They run about $100.
There I was brainstorming ideas to replicate the hierarchical database/collection/document management that MongoDB and CouchDB offer. One solution I have used, and became disenchanted with, was combined keys with all this information munged together. It would be interesting to hear what others do with their key/value stores.
http://www.sciencemag.org/content/334/6062/1518.full.pdf
Supporting online material:
http://www.sciencemag.org/content/suppl/2011/12/14/334.6062....