skysight-inc/HackerNews huggingface dataset:
The main benefit of coroutines is avoiding inversion of control flow.

A classic example is iterators. Its very natural to write an iterator like

for(i=0; i<10; i++){
yield i
}

But to program the same thing without coroutines you need to keep all the control flow state explicitly and write the logic inside out like a state machine:

i = 0
int getNext(){
if(i >= 10){
return Done
}else{
temp = i
i = i + 1
return temp
}
}

This inversion of control gets worse the more complicated your control flow is. For example if you have a recursive structure

iterate_tree(t){
if(t.isLeaf){
yield t.value
}else{
iterate_tree(t.left)
yield t.key
iterate_tree(t.right)
}
}

then you suddenly need to also keep a bunch of stacks as your control flow state instead of just a single integer. I wont even try to write it because its just that ugly!

---------

One way to prevent the inversion of control is to use internal iterators, where you pass a code block to the iterator:

void iterate(callback){
for(i=0; i<10; i++){
callback(i)
}
}

This works just fine sometimes but there are limitations: you cant't break out of the iteration at the middle and you cant interweave to iterations in parallel. Another situation where you see this kind of limitation is Javascript. Using callbacks to do async IO is better than writing everything inside out with all state in global variables (like you would do in C) but its a PITA to do simple things like chaining async calls one after the other inside a loop For example, with coroutines you could do something looking like

foreach(url in list){
var x = await getUrl(url)
console.log(x)
}
restOfTheCode();

while in regular JS you need to use recursive functions instead:

function go(i){
if(i >= urls.length){
restOfTheCode();
}else{
getUrl(function(x){
print(x)
go(i+1)
})
}
}
BitMessage is a reboot: https://bitmessage.org/

Fully decentralized, based on the idea behind bitcoin.
As tlrobinson says, the problem is that we dont want you to have to trust us. One of our goals is to minimize the amount of trust you have to place in us. Therefore, we want you to be safe if we are forced to try and steal your keys. See my other comment for more info: https://news.ycombinator.com/item?id=6245617
What constitutes Internet use in this research? Which part of the infrastructure has to be involved for it to count? Those questions don't have clear answers.

According to Methodological Manual, they were asking questions such as “When did you last use the Internet?” during face-to-face and phone interviews.

They did ask about using Internet and websites from mobile devices, in addition to “computers”. However, I'm not sure if many non-technical users would qualify updating an app (which may happen automatically), or performing various in-app activities (also may happen automatically, like updating weather forecast) as using the Internet.

So it seems to be more indicative of how many Europeans, of those who do agree to phone or face-to-face interviews, deliberately access email or web sites.
Apps already using iOS 7 design
Or a libertarian, pretending that a police state enforcing a total ordering of property and any contract that can be conceived of isn't politics.
It would certainly make more sense. Sure, have one or two screening calls, but the main interviews should really be done by the team you're going to be on. Not some expert in algorithms who deems your solution to a question not good enough. I mean, how many times have you heard an engineer say, "It's not pretty, but it gets the job done." ??

The 'tenure track' is a great idea. How would you implement it though? Just curious.
It seems to me it's time email followed the file-sharing industry and moved to a distributed, peer-to-peer system. End-to-end encryption and no servers to shut down... There's a couple of research papers on the topic:

http://www.computer.org/csdl/proceedings/cse/2008/3193/00/31...

http://www.freepatentsonline.com/y2009/0144380.html
The World's First Truly Sun-Powered Laptop
Hehe, about 0.21 BTC at current prices (£15). I need to get around to making a little online shop at some point; I'm currently trying to increase my speed to make that price at least slightly profitable. I make them a lot in my spare time so it'd be nice to be able to have a little side business out of them :D

Examples and links to other people who are much better than me (if you fancy learning to make them yourself!) are on my newish hobby blog: http://good.afternoonrobot.co.uk
Sprayable Energy
That is exactly what I was thinking, yes.
Messages that Self-Destruct
Sales Goals Pro - Calling Humans Makes You Nervous?
On wikipedia there is a quote, "I chose PJ, because it could be anyone, either sex, any nationality, anyone and no one in particular." Pointing out her sex, you're just being a jackass and for what?
Draft + iDoneThis: Celebrate your writing progress
it's really quite simple. The pages that get more +1s and likes and comments and whatever metric you want are the ones that are good. The ones that are good also get more links and other signals that are used in algorithms. The hidden middle-factor here is "quality."

That, or simply: "the pages that have more +1s have them because they ranked and got more traffic. e.g. nobody's +1ing pages that they can't find."
Standardizing Media Art Thumbnailing & Caching (libmediaart)
Hopefully this attitude becomes more prevalent in the industry, the pendulum has swung too far to the other side.
> More to the point though, is that forcing the NSA to work on a specific message is computational power that they can't use to oppress the populace at large.

This, precisely.

Too many people throw up their hands because it's impossible to be 100% surveillance proof. But you don't need to be. If we can make surveillance orders of magnitude more expensive, we win.
This

This clarification should be at the top the discussion
Frank – Truly Private Messaging
Barnes & Noble founder halts plan to buy stores; loss widens
I was not expecting the spoon comment to be genuine. Very nice.
Fair enough. Although I still argue my point: the Press is free to publish what it wants. Judith Miller was charged with contempt of court for failing to reveal her source. She was not charged with what she wrote.

If the best example of US Government censorship is Judith Miller, then my point remains very strong. No one in the US is stopping freedom of speech. At best, you can get arrested for failing to uphold a subpoena, which is a known fact anyway.

---

Furthermore, despite the whole affair, not a single report of Spooks coming in to destroy computers, or otherwise try and stop the publication of those events. (As has been seen in the UK right now, with the whole Guardian thing going on).
How to Simplify a Large Navigation Menu
Good game. Reminds me I need to finish "The Fool and his Money"
> All innovation in the secure email space has been blocked for the past 13 years by one primary problem: webmail. It is simply not possible to develop a secure email solution if webmail is the only viable option for accessing mail, so most people who would be interested in innovating here don't even bother. If we can successfully make the transition back to local MUAs, however, we might have a chance to try something new

The only way I can think that webmail could be secured is through changing HTTP and HTML standards to allow the web browser to arbitrarily encrypt forms and decrypt elements with keys unknown to the web server plus disable JS inspection of form elements and elements set as encrypted.

I can't imagine the difficulty in getting it through the standards process let alone implementing it securely though.
The Best in User Onboarding
>> He is not a journalist.

Nowadays, we are all journalists. We all have means to publish material to a wide audience.

From the 1st amendment:
- Congress shall make no law ... etc ... abridging the freedom of speech, or of the press;

There is no distinction granting the "media" or "journalists" special rights that all of us don't get. We all should have freedom of speech and freedom of the press.
Here's the really insidious thing about the whole situation, and something that I don't think has gotten enough airtime:

We are all at the mercy of the people in our social graphs who don't keep things secret. I might stay off of Facebook, encrypt all my email, and avoid using smart phones, but anybody I'm in contact with who doesn't is being continually mined. Shadow profiles of me are showing up on services I'd never use willingly because my friend shared their address book with Facebook.

We really only have three groups to hold responsible: ourselves (for developing these technologies), our government (for using these technologies to oppress us), and every other citizen (for voting the government into power and playing along when we ask to mine their data).

The core issue we're seeing is that it is no longer really possible to ignore the fact that most consumers are liabilities to our privacy, and that they'll gladly sell out their fellow man for the dullest of shiny trinkets.

Honestly, the most insidious part of all this isn't our loss of privacy or our trust in some beneficial Big Brother: it's the distressing fact that we can't trust anyone else anymore, and that we've shown that democracy is impossible with such an unworthy populace.

Make no mistake--that's the real tragedy here.
> Any fucker can buy an SSL certificate and
> masquerade as someone else.

You lost me there. I'm not entirely convinced on that.

How might I simply buy an SSL certificate and masquerade as https://www.google.com?
Fair enough. Best of luck.
The game is certainly addictive. My mom likes to play games like these and I can remember watching her play for many hours while younger.

As an aside, however, the more I see the "scrolling leads to animation" design as a, sort of, product tour, the more it annoys me. I hope that trend goes away
You don't work in journalism or political activism and you don't care about people that do. Got it.
I have driven a Tesla Roadster for 3 years. The heater does not impact range much.
Some key differences are that we do not store your emails, your email provider does. We do not ever, at any point, have access to your unencrypted keys. Therefore, we cannot, even if forced to turn over access to your data. That being said, as with all secure systems there may be bugs. The client however, is (will be) open source so that everyone can help solve whatever problems that may arise. The key point is that the architecture is set up so that we dont ever need access to your keys or data.
Yeah I agree this is pretty scary. Two of my clojure projects on github are from when I was learning the language. I'm much better at clojure now, but the public facing code is junk because I was in proof of concept mode, not fluent, idiomatic mode.

I'm torn. Do I leave it up there to show that I enjoy learning new technology in my free time, or do I take it down because it's not coded in the professional quality I hold myself to at work?
New to django, care to share a link?
Ha, I didn't tell anyone in my family, including my SO I went to interview with the Big G either. Didn't want them to see how disappointed I would be if they rejected me.
Interesting. I don't go listen to live music very often, but when I do, I often close my eyes to focus on listening.
A Racial History of Drowning
It's a nice fantasy to have, and maybe if I work hard in tech for a while I'll have the money to kick back and do something totally different.

Painting is something I always wanted to be good at, but I'm awful at it. Lot of respect for good painters though :D

EDIT: Forgot to say; if you go for it then good luck, and I hope it works out for you :)
> The warehouse strategy carries risk. Fulfillment has become Amazon’s top operating expense, squeezing profit margins and contributing to a $39 million loss at the Seattle-based company last year.

Not building warehouses carries more risk.
A little chris hedges , Cornel west and Noam chomsky is in order.
Ah... so does that make them 8 below a "number two"?
The Problem Solver - Inspirational Post on Coding by Student from the Bronx
I'm a great promoter of Drupal, including in those cases where it competes with WordPress. However in all honesty I can't really play the security card against WP. I think WP itself meets generally accepted security standards; the 3d party code loaded into it sometimes does not, but that's the same case with any framework that allows modules.

WP probably gets a bit of a bad rap because the types of sites made with it often don't have the budget to bring high quality development. When you serve 20% of the web, and people choose you precisely because they can get cheap developers, there will be some problem sites out there running WP.

In this particular case, it seems to me that they would have been flagged if they had been running anything, Drupal or Jekyll or a static site - they had an external theme provider who referred to a domain in CSS comments that was listed by google.

The problem seems to be the accuracy of Google's flagging, not WordPress.
Same thing happened to me with Facebook
The Tesla Model S Is So Safe It Broke the Crash-Testing Gear
That's the thing, if I'm expected to have these algorithmic chops for the interview, I'd better get to actually use them on the job! Selecting for a bunch of algorithmic geniuses just because you're Google and you can, but then assigning them to boring CRUD app projects, is wasteful and makes no sense, but I get the feeling that it happens.
Nice work. Looks great and is very fun.

I also get the item overlap issues others have pointed out. You might consider just listing the number of words of each length rather than having them all blocked out (i.e. have "10x" in front of 3 blocks instead of having 10 separate rows).

And for increased difficulty, try not listing the discovered words alphabetically. I would not have gotten "ergs" without the alphabetical listing in the round that I played.

Again, nice job!
I always get messed up with these types of UIs. They look so intuitive, but when I try to click-and-drag, it doesn't work, and I can't figure out why.

I finally realise you just click - which is a quicker and less tiring mechanism, but it's not obvious, and there's no indication that that's what you're supposed to do.

I guess one solution is to make click-and-drag work, but pop up a hint... though that seems ugly and heavy-handed. Or, even a big word "CLICK!", pointing at the oranges. I know! Make it work instantly, from the "click" in click-and-drag. Then, you'll quickly notice you don't need to drag. And even if you don't, at least you can still play.

BTW: how many people here know the words awn, naan and alb?
Interesting idea popped into my head... If candidate is not going to ask good questions about the job and experiences and responsibilities and challenges and the company, should the interviewer torture the candidate with random pages from Knuth until candidate either asks a good question or breaks or runs out of time. (say yes! say yes!)

The other idea that popped into my head is we could develop a new "secret geek code" for HN readers where asking candidates endless queuing theory questions means we're secretly warning the interviewee about long lines in the cafeteria, lots of tree data structure trivia questions means a warning about an intensely hierarchical management style, weird trivia questions about designing thread safe interrupt handling routines means you'll be pestered a lot when you're trying to work which you may or may not be cool with, that kind of thing.
My experience has been the opposite. I've received offers based on interviews where we talked about: the local radio landscape, the best local lunch spots, the most ridiculous internet-bubble perks we'd seen, or color choice in 1950's suburban housing. I get the feeling that it's the idle chatting at the beginnning and end of the interview that matters most when the interviewer is asking him/herself, "Will this person fit?"
That's $397 billion over many years; I am suggesting a target of $100 billion per year.

That's not to say we couldn't or wouldn't spend in excess of $100 billion per year on a boondoggle. We've done it before and we'll do it again. But I think $100 billion is the point at which money even becomes an issue. $1 or $10 billion and there's barely a point in trying.
Red Scare 2.0: The absolute pinnacle of freedom.
Some people think that async code phrased as though it was blocking code is easier to read, write, and modify. This is because the workflow for writing async code with callbacks is basically

1. Imagine the control flow you actually want.
2. Manually perform some subset of a CPS transform around the parts that would block.
3. Write the result of 2 and check it in.

And then the workflow for updating it is

a. Read the code.
b. Attempt to reconstruct a mental model of the originally-desired control flow from the mess.
c. goto 1.

If you have some simulation/game in which many entities need to interact, you can use coroutines and write each entity's routine(s) imperatively. For example, BulletML lets you do this by embedding a suspendable domain-specific language in your project. If you check out http://www.youtube.com/watch?v=uK_YTyhj7T4, every bullet that either fires other bullets or changes velocity has one or more functions attached to it, and they are all running concurrently. It might be even better to do this without using an extra language, though.
Unless the judges were judging blind, then this could just mean that the judges are as susceptible as laypeople to awarding the best-looking performers.
Yeah, slow and steady growth...
naan? Like the bread? Pretty common word.
For a post-agrarian economy like Greece where ~half the population lives in Athens? Probably quite weak.
Yes, they can. This has also been true for hundreds of years.
I like the idea of stating your communication preferences but it seems strange to put that right in your bio like he's done at http://werd.io as if where you keep your documents says a lot about you as a person.

Unrelated, this was difficult to read with that blog styling. "font-size: .9em" for body text seems like a bad idea. Raising the font-size and line-height makes this whole site look much cleaner.
It's not true cyberpunk future until we have Rebel-brand leather pants.
My experience with Google corroborates some of this.

Particularly the unpredictable callbacks and repeated contacts despite being within the 18 month period and complete lack of feedback post-interview.

Additionally, there was plenty of confusion about which position I was being asked to interview for. Initially, it was something completely outside my skill set, later it was a bit more refined, but not at all specific.

I did encounter some questioning where the interviewer seemed to be looking for one rather specific answer, but nothing nearly as bad as "I wanted you to use a priority queue. We will just move to another question." or "Time's up. Maybe you can ask your friend there what the answer is."

Amusingly, a friend of mine who interviewed there not too long ago ended up receiving and declining an offer only to be called and asked about his "start date" months later.

That said, my experience was generally positive and I'd do it again given the chance as most of my difficulties came from the recruiting end.
Prosody 0.9.0 released
Taylors university website hacked
Hopefully it's still up by the time you see it :)
> Personally, I never show code samples. I'll gladly go through the right company's process, including coding for them. But they don't get to see anything I've ever done before out of context and without proper permissions. And personally, I will never work for anyone with hard and fast rules about hiring. 3pt14159 is choosing to not consider many of the best programmers who refuse to show their underwear. His loss.

This is a pretty bizarre position. Don't you have any code that's carefully prepared and that you think represents your ability to at least write clean code? And wouldn't you rather show a potential employer that carefully prepared code than trying to whip something up on the spot?

Also, a lot of things like showing off your chops at configuring complicated builds with, say, maven or ant can hardly be demonstrated in an interview or an overnight coding assignment. You need to have a nontrivial project prepared to show that you can write a nontrivial project.
well, you should tell him, but don't just tell him for the sake of telling him.

tell him from a business perspective so he can really understand. explain, how fixing this will save/make more money if not immediately in the future.
> History of the US is a sobering example, of the Government constantly giving up powers in favor of its citizens. Need I remind people of the Office of Censorship in 1940s, where Government agents read every single mail that was going across the mail system? Need I remind people of COINTELPRO in 1960s, the program the FBI used to spy on Malcolm X and Martin Luther King Jr?

Imagine you're in a relationship with someone, and they abuse your trust. You call them out on it, and they agree to stop. Then later they start abusing your trust again, in a different way. You call them out on it and they stop. And this keeps happening.

Would you praise them for continually "giving up" their power over you when asked? Or would you consider yourself to be in an abusive relationship?

I just think it's a bit strange to view a succession of abuses of power as the government continuing to "permanently" reduce its power. How many more scandals do we need before the government has "permanently" reduced its power to the point where we won't need any more "permanent" reductions?
Now this is a solid review of many different user onboarding flows. Check out slides 33-73.

+1 for providing flow analysis, rather than just a collection of screenshots.
They wield and apply real force [in the wide sense - from crude violence to making citizens pay taxes, etc..] to the real people outside. The only known practical approach here the human race has so far come up with is to have their application of force be a subject to the strictest formal control possible. Unfortunately, we see erosion of such control, and unfortunately there is no reversal of the trend on the horizon...

Watching "Battlestar Galactica", 3rd season beginning. Cylons trying to live peacefully with humans they occupied on New Caprica. "Either we increase control or we lose control" ...
timothyb89 is quite right. The cost wasn't just for a standard server, much of that came from the number of datastore reads I was performing, since the original backend wasn't using memcache the best, etc. It also wasn't syncing in the most efficient way, so that added a lot of overhead. There is still room for improvement, but just with a weekend of optimization, I've been able to reduce the cost by an order of magnitude. That, mixed with the automatic scaling makes it quite competitive.
Topcoat 0.6.0 - npm, effeckt.css, better component development
"We're trying to give them more info to go off beyond hype."

All you're measuring is hype though. Startups that rely on likes, follows, etc. as a gauge of success/traction are by nature, hype driven.

There are many industries - B2B, EdTech, etc. - where lack of social media traction is not at all an indicator of the health of a startup. I know because I run one. We have 0 likes, 0 mentions, 0 follows, but a hundred paying customers and on track to hit 1MM in revenue in less than 20 months since launch (with only 4 employees).

I hate to be critical of other founders, but all you're doing is contributing to and validating all the silliness that is the SV startup scene.
I agree with everything here and in the original post. What isn't clearly explained is how/why the government's behavior is prohibiting the continuation of Groklaw.
> Just spend a year playing topcoder in your spare time and you could ace any of the questions I got.

I wouldn't call this gaming the system. Doing a year of such training would raise your actual skill.
Except by installing it they know who you are...