1) debugging is way better in asyncio, with ipdb you can step in co-routine. In twisted, you will end up somewhere in internals.
2) asyncio is end of unhanded error in deferred :) (or you need to remember to add addErrback everywhere, even after addColbecks and addBoth)
3) with trial testing is frustrating, sometimes error raised in wrong test because of global event loop (for instance you forgot to mock external call). In asyncio world loop passed explicitly and this is good for testing.
asyncio is just nice API for async programing and event loop management. You should start from something high level in order to obtain asyncio ideas, like scraping [1] or try web development with aiohttp [2]. And then if you want to write some library or port database driver, look for examples at aio-libs[3] github organization.
You can add youtube videos or some short clips from movies and ask your user repeat after protagonist. Everyone likes to repeat catchy phrases from movies)))
I think problem is more deep, I do not want to make other Conspiracy Theory but here some story from other huge Russian social network (vk 150m. users). There is one small, not that big group (like fb groups), users made agreement, that no one will post next day (something like honeypot), and those who post would be considered as bot and baned forever. So next day couple or so bots generated comments encouraging others do not go on strike against some political party [0].
I do not know is it applies to FB, but those who have like 100k bots have some power too.
FB does not need do that shady stuff. Here some facts.
[1] Bot registration on FB is really easy. If you try register 100 fake users in direct way you need to deal with javascript and web forms with strange ids, cookies and so on in your script. But if you enter fb.com without enabled javascript, they ask you change browser or use mobile version, which is not require* js at all.
[2] You can register number of accounts from one ip without CAPTCHA
[3] Only one "difficulty" is to find batch of emails, it is not that big issue since we have services like mailinator.com.
So 15 -25 loc script on python do all your job. It is not required use any tools like selenium or special skills , only basic understanding how http get/post works.
Why fb doing all this supereasybotregistration stuff? I think we all know why.
Edit: spelling. Sorry non native English speaker here
You seem knowledgeable. What is the main purpose of bots on facebook?
The article implies they could be used by facebook or competitors to burn up ad revenue, but this approach would just kill the golden pay-per-click goose.
[1] You can win a bunch of contests, competitions like those who have lot of likes can win iphone or other tech.
[2] You can sell likes.. just google and you will see, there are alot of places where you can buy it.
[3] Manipulation of public opinion.
Edit:
From FB side:
[1] they still have growth of users
[2] more bots == more clicks, more likes more FB value "on paper", more revenue
[3] and when they stabilize their market value they can easily kill those bots, just require them activation by phone.
vk.com Russian social network, had same issues, but they enabled phone activation for averybody and its not that easy to buy a lot of phone numbers in Russia, but some hackers just pay to vk.com admins...
Personally I like Jamendo. It is #1 repository for free music under Creative Commons. You can download legal mp3 for free or purchase for commercial use.
Painting is called Reply of the Zaporozhian Cossacks to Sultan Mehmed IV of the Ottoman Empire, by the way [0]...
Original reply was:
Thou art a turkish imp, the damned devil's brother and friend, and a secretary to Lucifer himself. What the devil kind of knight art thou that cannot slay a hedgehog with your naked ass? The devil shits, and your army eats. Thou son of a bitch wilt not ever make subjects of Christian sons; we have no fear of your army, by land and by sea we will battle with thee, fuck thy mother. )))
The point was that skype has no x86_64 version. So if you have a 64 bit install (random aside: I hope you're on an Atom netbook and not running a 32 bit linux on a desktop/laptop) it will pull all the i686 versions of its dependencies.
This probably works now on Ubuntu, which has finally rolled out a multilib implementation (that I haven't kicked the tires on yet).
This a i3 M370, but I run a 32 bits OS because I got tired of running 64 bits with applications with no support for 64 bits (read: Flash browser plugin and Skype).
After some time I've found that there's no real advantage for me on a 64 bits OS for a laptop (ie. I have only 3GB of RAM, performance looks the same, etc).
Apart from it being a measurably slower architecture (15-20% is typical) and the only sane way of dealing with large memory machines? (Laptops with 8G are routine today, and require a PAE kernel on i686). Refusing to upgrade is the reason that products like Skype continue to refuse to support 64 bit targets.
Just try it. Chances are you won't even notice the difference, except that your battery will last a tiny bit longer if you do compute-heavy stuff.
Tried it couple years ago and the only thing I noticed was that it used more memory (almost twice as much as 32bit IIRC). So I returned to 32bit and am still using it, with PAE kernel so I can use all 4 gigs that I have right now. I really don't feel a bit responsible because Skype refuses to support 64bit.
Another reason that I keep 32bit is portability, as I have quite a peculiar setup: I keep my Linux on a removable HDD, and boot off it on several different machines, which may or may not support 64bit. (So I don't have to tow my laptop to work and back every day.)
You can run a 64 bit kernel, with a 32 bit userspace BTW, this lets you access all the memory on your machine.
Personally I'm waiting for debian multiarch to switch, since I have no desire to reinstall everything from scratch. If debian multiarch did not exist I might have bitten the bullet, but since it does, I can wait a bit for it.
But those are still bleeding edge options for people comfortable with tinkering with their systems. I was speaking to the simple choice of i686 vs. x86_64 in pre-cooked systems.
At this point, I see no reason to run a pure 32 bit userspace. There are no real advantages. The performance impacts are minor, and most people are over 4 GB (or should be).
Yep, its must be as awesome as Simulink. But in most real world examples you should use more basic programming languages in order to feel all process (handle discretization or numerical integration manually). In Simulink you connect couple block and thats it... everything important are hidden behind the scene.
1) debugging is way better in asyncio, with ipdb you can step in co-routine. In twisted, you will end up somewhere in internals.
2) asyncio is end of unhanded error in deferred :) (or you need to remember to add addErrback everywhere, even after addColbecks and addBoth)
3) with trial testing is frustrating, sometimes error raised in wrong test because of global event loop (for instance you forgot to mock external call). In asyncio world loop passed explicitly and this is good for testing.