skysight-inc/HackerNews huggingface dataset:
Agreed. I make heavy use of greenlet/gevent, and one of the primary advantages is that you can import and use naive sequential libraries, and they won't block your process (assuming they're pure python so the monkey patching works properly).

As for "not knowing when you might switch coroutine" - I contend that if it matters, you're doing it wrong. Note that, unlike proper threading, things can't happen at the same time / interleaved with simple statements, so it's still very easy to do atomic actions without special locking - eg. there's no way self.x += 1 could switch in the middle (unless someone is badly abusing the __add__ method).
underage porn viewing is hardly the same as widespread acceptance of rape and sexual abuse
I only have around ~1 year of twisted experience, but I felt like the viral aspect of twisted was even worse than that.

Not only everything needs to be asynchronous, but using deferred leaks everywhere in your API. Deferred callback firing mechanism 'recursively' passing the result of the previous callback is the most egregious aspect of it. Yet, I think deferred is by far the most readable/maintanable method to write async in twisted. For example, inlineCallbacks looks nice on paper, until you start using them and realize stacktraces are often wrong, and that you loose a lot of concurrency by forcing things that could run in // to be serialized.

I think explicit async is simply the wrong model for a dynamic language. Often, async is just an optimization, and more efforts should be spent on how to make it happen under the hood.
>I believe any rational actor would behave as Bush and Obama have during their terms in office.

Citations needed. Politicians have had widely varying behavior in the past. It depends on what the climate created by the citizenry is.
Ubuntu Edge - 49 hours left, $11.6 million raised
New UI pattern: Website loading bars
Have you see the interview on CNN with this guy?

http://www.cnn.com/2013/08/19/tech/social-media/zuckerberg-f...

He is rather poor and had a tiny broken laptop that is missing five keys.

He could have used that money and really tried to get them to see the problem.

They should pay him just out of realizing what idiots they were.

Someone should at least send him a better laptop.
> I can. Twisted is viral (not in a good way always). Once you start using Twisted you are doomed and stuck in a parallel reality of Twisted-only libraries forever. I have used Twisted professionally for 4+ years, this is not something I just read on a blog.

This seems to be a common sentiment. I'm writing a talk which I'm submitting to PyCon 2014 that hopes to demonstrate that that isn't (or doesn't have to be) true.

I've made the repo[1] and preliminary slides[2] available :)

[1]: https://github.com/lvh/TwistedMixing
[2]: http://blog.lvh.io/TwistedMixing
About that, do cars attempt to shut down engines, fuel intake and electric pathways when detecting a collision ? I remember Liquid Gas vehicles having an emergency outlet to avoid fire/explosions. In Tesla's case that would be cutting the battery off the circuit and maybe putting it into a 'fast drain' mode ..
Ad networks display AMBER alerts and tornado warnings? Since when? I've never heard of this. If Congress were to legislate that some actor on the Internet needs to display such messages to users, it would almost certainly be done at the ISP level by modifying the html sent over HTTP on a non-HTTPS connection.
If he does not know already he is probably lazy or liar too.
It's a lot more common among SUV and wagon owners than regular car owners. The dirty secret of small SUVs and crossovers is that if you have the rear seat full of passengers, there is very little room for their luggage. Generally when you take 4 people camping you need about twice as much equipment as when you take 2 people camping, but only have about 20% the space to fit it in. The exception is really big SUVs like the Yukon XL, but for small SUVs, a sedan like a Crown Vic actually has more luggage capacity when 4 passengers are in the vehicle.

The hack to solve this is the roof rack.

I think the best solution is still a diesel SUV/pickup, and a Model S (or smaller) electric car.
The problem is still that other coroutines can mess with your shared state, and you have no queues as to where they get to do that. Neither Twisted nor tulip has that problem. The fact that it can't happen in __iadd__ is just one place where it can't happen. That's a far cry from not having to care about this problem.
You're right - the threat-of-death argument is not a primarily practical one, though I think it's far more practical than you give it credit. Al Capone didn't go to prison for tax evasion out of respect for the courts. But that's not the main point. It's a philosophical argument.

You seem to think (please, correct me if I'm wrong) we can divorce our philosophy from our system of government and talk only about "real practical issues", and I would politely reply that it's impossible. Whatever your idea of the meaning and purpose of government is will have fundamental implications as to what you advocate it does practically. It's not irrational to speak of the fundamentals, it's irrational to ignore them. Our philosophy is how we understand reality, and I argue that a philosophy of government that does not take into account the basic fact that they are the one organization that we view morally able to take a life is a deeply flawed and heavily unrealistic one.

As for the soda thing - sure, it's a matter of scale. Just like ph is a matter of scale. ph 6.5 is pleasantly acidic, while ph 1 will burn the flesh off your body. There are definite points where you can say "this is toxic" or "this is just unhealthy". That's where you start getting into judgment calls, made by humans. The law would of course be more nuanced than this, but ultimately it comes down to that. But it's important to note that none of it is forbidden, and if a person looks at the ingredient list (again, fraud is still illegal) and decides they want to drink it anyway, it's nobody else's business to force them not to. (A concerned talk by a close friend or relative would, of course, still be in order).

This idea of it all coming back to human judgment is, incidentally, why I believe a utopia is impossible in the current state of affairs. I have an essentially pessimistic view of human nature as it is at present (I have religious views which are positive on human nature in the long run, as it is eventually redeemed. I don't want to argue those right now, as it won't get us anywhere). But I do believe that we shouldn't give up on finding a better system just because we can't find a perfect one.

Saying drain cleaner is edible is downright murderous. I don't believe the same of soda, regardless of what your unsourced "standard nutritionists" think. It definitely isn't true of water. We have to draw some lines somewhere. Will this be abused? Of course. But it has far less impact, and thus far less opportunity for corruption, than our current system.
AAMI customers use privacy breach in their favour
Bradley Manning's latest speech reminds me of how 1984 ends
Oh I agree with you. I just gave that point in quotes to illustrate the common response that Guido and others have given to greenlet based IO mechanisms.
Are there any implementations of a task queue using web workers? It would be cool to have something where you can just decorate a function to do it on the web worker's thread instead of have to manually write the postmessage and onmessage stuff and have a separate worker.js
They get used quite often in production code quite often too: any time you have a synchronous implementation to an asynchronous interface. E.g. your DNS name resoltion thing may have to go query a Postgres database far away (that'd be asynchronous), but maybe it has to grab an entry from a (Python) list (that'd be synchronous).
It's very likely that the Model S could also be driven away after the tests, since the engine sits on the rear axle and the only electronic component in the front is the 12v battery.
Musk: To be a Multi-Planetary Species, We Need To Develop Reusable Rockets
Yes; take what happens at the local politics level, and amplify it up several orders of magnitude.
Indeed, it would be simpler if there was only "if" and no "unless", or multiple names for what are the same method (Array#size and Array#length), but (often) they're there to make things easier to read and write.
SpaceX CRS-2 Mission to Space Station (mission highlights) [video]
The internal console at the company I work for has something like this (although it admits to being fake). The only complaint I have about it is that if the operation actually hangs, the bar reaches the end and just sits there, which is somewhat problematic.
Samsara [2011]
The fallacious argument is newer/more expensive = more secure. Every car has compromises.
> promises 3rd car will be a cheap model that will change the world.

Delivers soccer parent SUV. With lambo doors.
Isn't it the right thing to do though? Open source should not be about hiding behaviors behind undocumented code. Open source is about documenting it so that others can learn and jump in and help. It seems totally non-open if this is how V8 is developed.
I certainly don't think of him as lazy, but I think he's been too busy to realize what is going on, unfortunately. "Unaware" may be a better word, even though he should have been aware to begin with.
Beauty is in the eye of the beholder.

I saw a model S in person for the first time about a month ago and was struck by just how bland the car looked. It had a vibe that made me think of mazda and not miata or rx7 but whatever their sedans are called. The kind of styling that wouldn't turn a single head.

Not that there is anything wrong with that, I am a big believer that flashing ones wealth is a bad idea - it's gaudy as well as attracts unwanted, potentially dangerous, attention.
Ancient map traced back to 16th century origins
Security Community Raises Money for Researcher Snubbed by Facebook Bounty
Yes, futures/promises/whatever-you-want-to-call-them are monads in Scala and Haskell. The interface to these Deferreds are not, but it would be quite simple to make them so.
This isn't the 3rd model of the sequence you're thinking. This is the 2nd Model.
Get skills. Be awesome. DIY for kids
I would say in an opensource project like V8 it is a sin. You don't build a community around V8 by doing this. You build a company owned project (of which the company is throwing code over a wall).
I use shared connections, that makes tab completion scp usable.

Host *
ControlMaster auto
ControlPath /var/tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
S.Korea Rattled by Spy Agency's Political Interference
We need better design in the world in general. I'd hate to think only one company gets to be the designer-of-good-and-popular-things at a time.
He was acting on behalf of a bona fide investigative journalist and his journey was paid for by The Guardian. That should be enough to afford him the same protection as a journalist.

What if he had not been the partner of GG, but instead just your average joe paid courier being paid for the delivery of primary source evidence to be used by the staff of the news organization? Would the contents of the package not enjoy the same protection that it would were it being carried by one of the new organization's journalists?
For string equality on most of these methods, it's not a dozen.

If your goal is really optimization, you'd do it as a series of vector operations (GCC will let you do this in a platform independent way for almost all of these methods), using mm_cmpeq_*, which will do 4 chars at a time, or 8 chars at a time with AVX/etc.

In reality, strncmp is likely to be a lot more optimized than you think, and in newer glibc, it will do 16 chars at a time using SSE4.2/AVX/whatever (see http://repo.or.cz/w/glibc.git/blob/ba63ba088227987c8215e93f7...).

The short answer is: I'd love to see benchmarks that show this as a real bottleneck.
I think in this question it should be read as "software engineer".
First, thanks for being a quite reasonable commenter.

The guilt by association essentially means it seemed were implying that because I espoused certain views also espoused by a certain political party (i.e., my comment about disliking government interference in healthcare), I was thus espousing "fox-news-worthy neocon propaganda". I don't side with the GOP or Fox News on any sort of comprehensive basis, and I think there's plenty of reasonable discussion to be had on these issues, and there are reasonable thinkers on the other side of some of these issues, if you're willing to look past the unreasonable ones. There's crazy people on your side of the aisle, too.

Back to Pepsi/schools:

When I said the problem was with the schools themselves, I meant the idea of public education in the first place. I don't think I should be forced to send my child to a government institution to learn (this battle's been mostly won). I don't think I should have to pay for education for the rest (not even close). I think the idea of government having even the tiniest bit of control over education is abhorrent. Education needs to be independent of government the same way journalism needs to be independent of government - because it shapes the thoughts of the nation, and it is astoundingly foolish to give any control of thought to the organization whose only limit is the reasoned thoughts of its populace.

It was seen vividly recently, as the hyper-liberal NEA began to bring political pressure on the children of the nation to support a specific political party, all while in a near-mandatory system that is paid for by our tax dollars.

The alternative I would pose is literally any form of private education - both homeschooling and church schools have far longer and better track records than public education, which only stems back, in its modern, Prussian form, to the early 19th century.

So in other words, the Pepsi isn't really the issue there.
Because Web technology just doesn't have the performance to do what I want to do.

Because every time I use a language that lacks Smalltalk-style keyword messages, I find myself missing them.
How do you distinguish between culture and its side effects?
> You clearly meant billions of men.

Plenty of women believe this too.
> The bug comment seems to imply a more fundamental issue but if Twisted had such a fundamental bug it just wouldn't work.

Exactly. It works just fine.

> I think Guido's point is that you can still potentially add callbacks to a Deferred that has fired which opens an opportunity for bugs. He has a point there but you don't usually use Deferred that way. Generally when you add callbacks you know the Deferred hasn't fired yet.

I still really don't see the problem with that.

> I think Twisted isn't that bad but there are a few things I dislike about it: It's harder than I'm used to to combine synchronous and asynchronous. Twisted is "contagious".

I'm hoping to demonstrate that that doesn't have to be true: see the end of this comment :)

> Because the Twisted application "wants" to be single threaded, everything goes through the reactor and therefore everything has to be pure async. You can deviate from that but it has some amount of built in inflexibility. If I compare with C++ Boost::Asio there's much better multi-threading support in Asio with its worker threads (which is important for scaling across cores) and you can do more interesting combinations of async/sync IMO.

> Twisted's @inlinecallbacks decorator allows you to write linear looking code you it also encourages a too-serialized way of doing things. The power of asynchronous is to do things in parallel but in Twisted you often either end up with very hard to follow "pure" asynch code or less efficient "chained" asynch code. At least that's my experience.

Yes, I think that's definitely true :) @inlineCallbacks has its uses: if you really really want to do this bunch of things sequentially. Of course, since @inlineCallbacks decorated functions return deferreds, you can then use that with tools that let you manage a bunch of jobs in parallel. E.g. if a given task is a few steps, you can write it in an @inlineCallbacks decorated function, and then if you have to do a bunch of them, just call it a few times (and maybe pass the resulting deferreds to gatherResults if you want all of the results).

I often end up with some code in @inlineCallbacks that wraps some regular callback code, or the other way around. They're different tools, and while on average my experience has given me an anti-inlineCallback bias, it has its uses :)

> Related to combining async and sync styles you end up seeing things like isinstance(ret, Deferred). There's also maybedeferred for dealing with async vs. sync. Still not great.

I'm really interested in this, because I'm writing a talk about mixing Twisted with other stuff. What about maybeDeferred do you take issue with? FWIW, I know of some shops, e.g. Vumi in South Africa, that mix sync and async just like this.

I've made the repo[1] and preliminary slides[2] available :)

[1]: https://github.com/lvh/TwistedMixing

[2]: http://blog.lvh.io/TwistedMixing
Seems like the gullwing doors have the height issue to contend with, plus what are the chances you knock your 5-year old's chin on the way up?

I drive a sporty 2-door SUV and what I've long hoped to find was a 2-door suv with sliding doors - basically mini-van doors. The Peugot 1007 is the only vehicle I've ever seen like that and it was a little too econo-box for my taste.

http://www.coloribus.com/adsarchive/outdoor/peugeot-1007-han...
> Never do that. When firing someone in an at-will state, just do it and explain nothing. Explanations can easily lead to lawsuits. It's just not worth the risk.

Explain nothing? It may not be worth the risk, but it's a pretty shitty thing to do to another human being.
Well most of those cultures you just said are not objectively worse also have the death penalty, so I'm not sure where you're going with this. This sort of moral relativism is not really helpful to anyone or any society. Enforced gender roles are morally objectionable because they are not compatible with justice, period.

There's a difference between saying a culture is bad because they eat an animal you think it's wrong to eat and that they mistreat an entire sex and if you don't see that, you need to work on your moral system some more.
I live in the Yukon and we regularly have -40C/F for a few weeks a year, and a solid 3 months where it doesn't get above -30C, and hovers into the -40s at night.

My friend here has a 2011 Toyota Highlander Hybird, and she barely notices a difference in range year-round.
Worth mentioning also that India has one of the world's oldest and richest cultures.

It is hard to describe the feeling visiting some of these places, perhaps it's a bit like visiting Delphi or the Acropolis. My favorite was the Red Fort near the Taj Mahal.

It's a lot easier to describe the bad things about India than the good things.
Unfortunately the terms "software engineer" and "programmer" are often used interchangeably.

There are many degree courses that lead to the qualifications in software engineering. However, it is possible to be self taught. The only problem being that many programmers don't know what they don't know and that can lead to problems if more experienced (and knowledgable) people are not available to address gaps in knowledge and skill.

I prefer to think that software used in critical applications, e.g. avionics in new airplanes, are produced by software engineers having undergone rigorous education and experience.
this is probably more deliberate than you might think. one of the problems electric cars have had is that they have a reputation for being dorky. there is a limit to how "interesting" Tesla can make one of its cars look at the moment

that said, i've heard people compliment the car profusely on its beautifulness, so you might be surprised by how pretty it looks to the general public
> The problem is still that other coroutines can mess with your shared state,

I think you mis-understood his point. The point is if you treat your green threads like regular threads and you properly release and acquire locks ("with" contexts help here too) then it won't happen. The other way is to use queues for example.

In most small examples, say updating a shared dictionary or list, many won't bother serializing green thread access to it. That should work fine.

> The problem is still that other co-routines can mess with your shared state, and you have no queues as to where they get to do that. Neither Twisted nor tulip has that problem.

greenlet based green threads dispatch underneath just like Twisted's reactor does based on a select/poll/epoll/kqueue system call. Like it is possible to update half the items in a dictionary, then call a function that does IO from a green thread, and another green thread gets dispatched and now updates the dictionary, so, now one thread sees a logically inconsistent shared piece of data.

Now replace the above threads with callbacks. You have a TCP listening socket (is it called a factory or protocol, I forgot my terminology already) that dispatches callbacks when data arrives. In those callbacks you update some part of the dictionary then realize you need data from a data base so you make a database call, get a deferred and add a callback to continue updating when data arrives back from database. In the meantime your original socket fires and another callback goes to your shared dictionary and now sees it in an inconsistent state.

This thing exists, I have used it a few number of times:

https://twistedmatrix.com/documents/8.2.0/api/twisted.intern...

It is a semaphore in Twisted. It is also used to reduce concurrency but it can be used to protecte shared data if needed. And I did need it in a couple of places.

This myth that callback based programming frees one from the need to use locks and somehow it magically infuses code with unicorns and easy shortcuts is very common. The only way to dispell it to use the source. Just read the source of twisted and see how it works. Look at greenlet and eventlet's hub's source (or gevent) and see how it works.

Yes, greenlet + monkey patching libraries can hide IO dispatching points your code. It is a valid downside. So to be safe you an just treat them as regular threads. But it allows you to use libraries -- one of the biggest reason one would pick Python for.

Now that we are on the subject, what is one sane way to drastically reduce the need for locks and semaphores? Use actors like Erlang does. A class with a thread and a queue attached to it. Then avoid sharing data instead send messages. You'll be hit with a serious performance issue because of memory copying, because well, there is no free lunch. Twisted and other callback mechanisms are certainly not a free lunch either.

> ... and you have no queues as to where they get to do that.

Heh heh, an accidental funny typo. As actually if you did have queues, you might not have to worry about shared data access ;-)
I am new to this. Can you give me any pointers to differences between promises and deferreds. I have some idea about promises in JS. http://promises-aplus.github.io/promises-spec/
How is twisted's deferred different?
Curry with a lot of (syntax) sugar in C++11 (finished)
Generally yes.

The IEEE SWEBOK is a good reference for the many skills that are required to be a competent software engineer.
Assuming the files were encrypted, as far as David Miranda is concerned, he was carrying noise.
Tell the founder everything you know. Be honest and truthful, don't editorialize.

Unless major changes happen quickly, you need to quit. Your salary is being paid with stolen money, and you cannot accept that.
No rear view mirrors? Replaced by cameras! Bold move.