skysight-inc/HackerNews huggingface dataset:
> That "alternative source" is invariably tax increases. Politicians aren't terribly clever about these sorts of things.

Tax increases have political cost (i.e. a politican or activist would have to expend political capital) so I'm not sure what your point is
You might have better luck if you work on not sounding so condescending.
I wish you'd use standard numbers... like "Libraries of Congress".
Well, average actual hours worked in the US is around 1800 (that's net after sick days, vacation, personal days, etc.)
https://stats.oecd.org/Index.aspx?DataSetCode=ANHRS
Given (in NYC) a school day of 6.33 hours (including lunch) and a school year of 18x days, then subtract personal days and the like...well.

Also, most teachers don't need to do as much planning after a few years. Is if fair that longer serving teachers get paid twice as much as new ones, when new ones put in more hours usually? Well...
I know it's been done before, but I can't wait for the return of hyperlinked VR content :)
Lyft already has it, and it's in the app if you are a driver and the region supports Lyft Line. You set a destination you are driving to, and it'll match up with any Lyft Line passenger going sorta same direction:
https://drivers.lyft.com/customer/portal/articles/1778131-de...
Are you talking about threads-the-programming-model (vs. events, callbacks, channels, futures/promises, dependency graphs), or are you talking about threads-the-implementation-technique (vs. processes or various select()-like mechanisms)? And if you are talking about threads-the-programming-model, which synchronization mechanism: locks, monitors, channels/queues, transactional memory?

If the various threads in your application don't share data, then you don't need to worry about all the pitfalls of threading. But if they don't share data and you don't care about small (~10%) performance differences, why not use processes? Then you can use a really straightforward blocking I/O model, and you get full memory isolation & security provided by the OS.

The interesting questions happen when you a.) want to squeeze as much performance out of the machine as possible or b.) need to share data between concurrent activities. Then all of the different programming models have pros and cons, and I'm not sure you can define a "best" approach without knowing your particular problem. (Which, IMHO, validates Rust's "provide the barest primitives you can for the problem, and let libraries provide the abstractions until it becomes clear that one library is a clear winner" approach.)

FWIW, my experience in distributed systems is that threads+locks is a terrible model for writing robust systems, and that once you're operating at scale, you really want some sort of dependency-graph dataflow system where you specify what inputs are required for each bit of computation and then the system walks the graph as RPCs come back and input becomes available. This lets you attach all sorts of other information to nodes - timeouts, latency statistics, error statistics, whether or not this node is required and what defaults to substitute if it fails, tracing, logging, load-balancing, etc. It also adds a huge amount of cognitive overhead for someone who just wants to make a couple database queries. I wouldn't use this for prototyping a webapp, but it's also invaluable when you have a production system and ops people who need to be able to shut down a misbehaving service at a moment's notice while still keeping your overall product up.
Live Analysis of CNN Republican Debate Social Data
It is, another example is the cloud tax in Chicago, $12,000,000.00/yr projected.
> Could you tell something about the level of documentation? For instance,
> do you have to write a paragraph of documentation for every function that
> you add to the system? How about adding preconditions and postconditions,
> and other invariants?

It varies a lot by project and by how widely used the code is.

There are few (if any) strictly enforced rules for documentation or invariant checking. You basically have to convince at least one other engineer that what you have is sufficient.

The documentation is _generally_ pretty decent for core libraries, but sometimes you just have to read the code.
I'm pretty sure plumbers deal with more shit. Literally.
> Perhaps one slight deviation in Lyft Line is is when other people being picked up by your car are running late [0].

FYI, the Lyft driver is supposed to wait no longer than one minute. If they wait longer than that, you can prod them to move on (or mention that in their review).

I spent this summer in SF and took a Lyft Line home every day. This was only an issue once, and the driver left after ~1 minute, so it didn't actually delay my ride at all.
Although I agree that line counting is a silly exercise much of the time, the talk did cover change activity as well as total size.

With regard to copy/pasted duplicate code and massive comments, we do have ways of knowing that as both of those are easily computable. Duplicate code can be matched using hashes and comments are delimited, making their measurement easy.
Not sure, since this is driving prices down in a market already plagued by high booking fees from travel providers. In which way do you see people benefiting from that beyond saving a buck here and there?
I imagine the specific risk is the packaging getting intercepted and then the person receiving the package being confronted. As for the renter -- a headache, but not more than that. They'd be able to prove pretty easily that they were not at home at the time, more than likely.

But it getting down to that seems unlikely, given the number of 'levels' of plausible deniability are involved. That's the theory at least. It seems only feasible for very large shipments that happen often -- the DEA doesn't really do much in the way of small-time drug deal busting, it seems.
iOS Core Animation Transform Layer
I totally agree. If you want my favorite passages I hand selected to a majority of his corpus, the link below is what I put together my senior year in college.

https://drive.google.com/open?id=1B3SGtiP-YkUMZauBdN9Dkx0caB...
Checking floating point accuracy through Monte Carlo Arithmetic
That sounds very similar to a basic income (which I whole heartedly support)
fedux.org &ndash; A “proxy.pac” is your friend if you're a proxy-administrator
Technically, you can't see every use of a function because dynamic dispatch mechanisms aren't available at source code time. That's why you would normally run tests of all your library's dependents (having this dependency graph is one of the most important parts of the piper/blaze system).
The Roadmap [0] has long seen async/await as the defining feature for the TypeScript 2.0 milestone, from what I recall. From what I've read in the blog posts the team wants to prioritize ES6 (ES2015) features first, particularly as async/await is potentially on the standards agenda as early as ES2016 or ES2017...

The surprise in TypeScript 1.6 is that experimental support for async/await is actually included, with the caveats that you have to explicitly opt in to the experimental feature with a compiler flag and that it only works when outputting ES6 code (it fails for ES3 and ES5). Some details are at the bottom of the issue 1664.

Also, I think the new typing capabilities are hugely sexy if you've ever had to write .d.ts files for wild JS. Generic type aliases and intersection types will solve a lot of things that were much harder to do in definition files previously.

Also, the support for expressions in class extends clauses makes it a lot easier to use the nicer class syntax when operating with JS libraries that use a custom object factory. (Given the long history of JS OO, there are a lot of weird custom object factories out there in wild JS code.) This is also good catchup with ES6 class syntax; it's always sexy when TS works to keep its "pure superset" goals.

[0]: https://github.com/Microsoft/TypeScript/wiki/Roadmap
The comparison of Windows to all of Google's services is pointless and misleading.

It's like comparing the weight of a monster truck and the total weight of all the cars at a dealership...
> Thats like saying ad blockers cant win because you browse the web from view-source:

Personally I find most of the value is in the content and not the layout. So it's not really anything like view source which mixes them and makes it very difficult to read the content.

Of course it's a bit different with full blown web apps but I can't think of any web app I use that is supported by advertising.

> If the sites 'content' is loaded with JS rather than being visible in the static source, there is not going to be much you can do.

The problem is now two-fold: 1) You are going to hurt your search rankings, and 2) it is possible for ad blockers to get around. Like I said just get the browser to load and run the js, ads, etc, and just not render anything that's not clearly content.

Ad driven sites could up the game by requiring user interaction before they load the content, but if the interaction is simple and repeatable then its easy to tag and handle.

They could start requiring captchas etc that are integrated with the ads before requesting the content via js but at this point I'd really start to question whether your regular users will stick around.
This looks interesting but the first thing I noticed was that the 'H' in your logo isn't centred and it hurts my brain.
I'm not asking this to be snide, but as somebody generally unfamiliar with the literate programming concept - for practical purposes, what makes this different from having well-encapsulated functions with thorough commenting?

For an example of what I mean, see underscore.js [1] and the prettyfied version of the source [2].

[1]: https://github.com/jashkenas/underscore/blob/master/undersco...

[2]: http://underscorejs.org/docs/underscore.html
"Mrs. Fiorina, tear down this wall!"
Rust's green threading was... unusual. It attempted to abstract green and native threads into a single API, which lead to a lot of unnecessary overhead:

https://github.com/rust-lang/rfcs/blob/0806be4f282144cfcd55b...

Sadly, that proposal also removed concurrent IO from the standard library, and it hasn't been replaced.
Let's take a look at the actual citation:

Taken from a forthcoming paper by Sampson and Kristin L. Perkins, “Compounded Deprivation in the Transition to Adulthood: The Intersection of Racial and Economic Inequality among Chicagoans, 1995-2013,” in the Russell Sage Foundation Journal of the Social Sciences.

Professor Sampson has an endowed chair at Harvard and was previously the chair of his department there. While I have not yet gone looking for preprint versions, I'm willing to entertain the possibility that he might have a firm grasp on the difference between statistical and anecdotal information. I see no reason for the author of the Atlantic article to recapitulate the methodology of every single academic reference in a long discussion of social policy.
If you have anonymity, you can trivially turn it into pseudonymity by signing all messages with the same public key (which is what Satoshi Nakamoto did...).

Distributing pirated content and child pornography is perfectly doable with just pseudonymity.
I wonder if this system could be used for 'burns'.

Such as: "Hacker News has an Ask dot com userbase of number of good posters" (This obviously does not include me ;))
It's also a perpetual? subscription to a

nationwide wireless network

to obtain e.g. the latest stock prices.
That assertion seems arbitrary and unprovable.
I ended up buying a cassette adapter from Rite Aid and the sound quality is good enough that I don't see the need right now for something more elaborate!
How to Do SEO for Your Bigcommerce Store
>California recently increased it's sales tax by 1%

If by "recently" you mean 2009, then yes. However that went back down in 2011. CA State sales taxes have been within ± 0.5% of 7.75% since 1991 (aside from a 1 year dip to 7%) [1].

[1] https://www.boe.ca.gov/sutax/taxrateshist.htm
I don't think they are mostly symbolic when they constitute a legally binding contract
Do you have any links on the "dependency-graph dataflow system" that you are talking about? Sounds a little bit similar to what I'm trying to do, except at higher scale.
I agree, and yet it was still interesting, though not nearly as interesting as it could have been. I guess Uber holds the cards here, and we have to settle for scraps.
They pretty surely do if their costs were measured by someone.

I wouldnt call someone externalizing costs for whatever noble endeavor responsible or forward thinking.
Precisely - I actually started out with the same quote but trying to articulate a notion of epistemological solvency became unwieldy :-)
That's very handwavy and not rigorous.

> A ton of people would chose the latter just to be in a more important core role.

Yeah, and a ton of people would choose the former just to be in a bigger company with more perks or because they want to work on something other than an IM app.

Who knows? This isn't nearly strong enough to form a conclusion either way.

> the per engineer capita is 20 times better at WhatsApp

Perhaps, but why? You can't say that they got better talent just because they were a startup, because then I can point out all the other startups that don't have such talent.

> I'm betting any of those engineers that had options are very very happy with their current job.

I'm sure they are. I'm also sure they're not oracles who can predict the future. So they couldn't have known when joining that WhatsApp would be acquired for such a spectacular amount. So why WhatsApp over all the other startups? What did WhatsApp do to attract such world-class talent? I'm looking for a real, concrete answer that couldn't equally be applied to every other startup out there.

The alternative explanation, of course, is that WhatsApp just isn't as complex as some here are proposing it to be. Then we don't have the mystery of how they beat every other company in the world at hiring the greatest unknown talent. Rather, they simply timed the market perfectly, probably partially through luck.
Because in some schools unfortunately there are students who are violent. Can't expect teachers to deal with students who are bigger and stronger than themselves.
Open hardware smartphone
Who Says Ni?
If all your RPCs take a single parameter, this isn't a problem provided you use universal defaults.
One nice thing about Rust is how well suited it can be for embedded use. It is something like a smaller safer easier C++. For embedded you need to bound resources. Small network appliances are a good candidate for async IO. Many threads and stacks with a lot of dynamic allocation are not a good fit for a resource constrained device.
Uber can just deduct it from whatever they pay them weekly. It's not like every ride is now a cash ride.
To expand on this, I think a better question is why do other need so many more engineers for so many fewer users?
For the purpose of being fully informed, and because you won't see this photo shown much, here is the homemade clock that Ahmed brought to school. [1]
http://www.wired.com/wp-content/uploads/2015/09/AP_250782557...

Regardless of what someone looks like or what their name is, if you see them at a school with a device like this and it's beeping, I think it's reasonable to call the police. Allow them to come and have someone with expertise ensure that it isn't a bomb and determine the student's intention. Hopefully the police that arrive do their job well - with diligence, compassion, professionalism, and without animosity or bias.

Police were called, he was detained and questioned, and then released without charges [2]. It's a tragedy that we see bombings and shootings in schools - but we do see them, and far too often. These are the times we live in. So how should this have been handled?

Hopefully Ahmed doesn't lose any passion for science or electronics because of this afternoon, but I think if people handle the situation with rational thought rather than instigation, then he will have a much better chance at that.

1. http://www.wired.com/2015/09/heres-bomb-clock-got-ahmed-moha...
2. http://www.washingtonpost.com/news/morning-mix/wp/2015/09/16...
I can't say I'm surprised to see people eager to point out how Windows sucks. And sure, maybe it does. However, the fundamental point you're missing is that I don't think that Windows was ever positioned as this OS that was designed for every single type of workload out there (not withstanding marketing noise). Windows is a very general purpose OS meant for general purpose 'mainstream' things. Things that hundreds of millions of people might want to do. Specialty workloads are simply not what Microsoft is ever going to invest any significant amount of time in - unless they see some money there. In that sense, Windows would probably be a far better OS if users could modify it to suit their needs, but thems the breaks. Linux seems to fill that void for some.

The disadvantage of NTFS which you point out, isn't because of a fuckup. It's not designed for your use case. You might even find Microsoft telling you that themselves here :- https://technet.microsoft.com/en-us/library/Cc938932.aspx

As to your point about productivity, I can't comment without knowing specifics. As a primarily C++ programmer, I haven't run into any Windows showstoppers that prevented me from shipping. I have run into showstoppers with their dev tools, but I see them as separate from the OS.
It seems like if 95% of rides are cash, then there may not be enough to deduct...
‘Phishing for Phools’: A Q&A with George Akerlof and Robert Shiller
> Sad to know that Merkel has made Germany into a mushroom tied to a string.

> Sad to know that Merkel has made Germany into a silly joke.

any child could figure that out, especially considering the tone of the comment already set with 'benjamin' why are you posting
Clearly India is a culture where it's acceptable and not awkward to pay in cash. In North America people don't like handling cash, so it will probably stay the way it is.
I suspect it's still inconclusive. Ya know. Science.

http://www.thestranger.com/seattle/what-smoking-weed-does-to...
What a step backwards... but money trumps idealism every day.
I don't know much about type theory, so I suspect that my intuition is wrong, but the phrase "intersection type" violates my intuition.

If I have Printable and Drawable interfaces, which each describe a set of behaviors, then I would expect the "intersection" of Printable and Drawable to be the intersection of those sets of behaviors — which, here, is likely the empty set.

Is there another way of understanding types that makes the word "intersection" make more sense here? Or is it just to say that "where union types say OR, intersection types say AND"?

---

...ya know what? By typing it out, I think I get it now.

The set that we're talking about isn't the set of Printable's behaviors; it's the set of things that implement Printable. `Printable & Drawable` is the intersection of the set of types that implement Printable with the set of types that implement Drawable. Got it. Thanks for rubber-ducking for me, HN!
Feels like that what I've tried for years. But your comment is the automatic response I get for any wording I use. So I've defaulted to thinking it's a prejudice from the listener. When is the last time you've discussed economy with someone who doesn't agree with you and didn't take it as condescending? and, bonus point, what did the guy say/not say?
> How many did he materially share his success with?

I didn't realize that nerds had to suddenly share their success with their nerdy friends to qualify nowadays.
Yeah, I thought they were hinting at that, but its legal here in WA too.
This can be read in a hilarious way...

Maybe that's the rationale for arresting the 14 year-old clockmaker
> As a practical matter, how do you go about getting the trusted compiler for DDC? Does this include an audit of the source for that compiler and/or the path that the compiler source or compiler binaries take to their destination?

No, the important bit to realise about DDC is that you don't need a compiler you know to be trusted (otherwise, of course, there would be no point). You take two different compilers, and you just have to trust that they don't both contain the same backdoor.

The most concise description I've seen is in Bruce Schneier's writeup. Quoting him:

Suppose we have two completely independent compilers: A and T. More specifically, we have source code SA of compiler A, and executable code EA and ET. We want to determine if the binary of compiler A -- EA -- contains this trusting trust attack.

Step 1: Compile SA with EA, yielding new executable X.

Step 2: Compile SA with ET, yielding new executable Y.

Since X and Y were generated by two different compilers, they should have different binary code but be functionally equivalent. So far, so good. Now:

Step 3: Compile SA with X, yielding new executable V.

Step 4: Compile SA with Y, yielding new executable W.

Since X and Y are functionally equivalent, V and W should be bit-for-bit equivalent.
> pretty close to natural language (cucumber etc) so that management can write them

This sounds so familiar ...
Hahaha the tax on alcohol in Ontario is over 100%. Cigarettes are something like 200%-300%.
They surely excel at picking the right tool for the right job.

One aspect of this trend of resentment you describe is that having comparatively less robust and using less efficient languages (like js with nodejs) in the servers would make them require more cloud resources.

We as humans tend to rationalize our past choices, probably a fair amount of the dismissal is from developers who think their "secret sauce" is using AWS with auto-scaling.

And the only one who wins something from this trend is Jeff Bezos and other cloud shareholders.
What do you think of C++ coroutines? Two competing standards proposals, already available as libraries:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n445...

http://blogs.msdn.com/b/vcblog/archive/2014/11/12/resumable-...
Dear Texas, we'll happily take your unwanted geniuses. Best Wishes, - California.
Yes, you can change the keyboard setting at any time by opening the menu (ESC) and selecting "How to play".
So does South America. I am a Peruvian born in Venezuela but to many people I look white.
In case it's helpful,

hacker-menu$ node install
module.js:338
throw err;
^
Error: Cannot find module 'hacker-menu/install'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
Objects whose type is a subtype of "Printable | Drawable" (union) are those that implement either interface. For "Printable & Drawable" (intersection), you have objects that implement both interfaces. Meaning, those objects that have both .print() and .draw() (or similar).

You're not taking the intersection of the interfaces, but of the sets of objects that implement them.
My son was bitten by a copperhead snake (a viper) near Washington DC. He received a very large dose of poison into a very small hand, and ran a high risk of losing his arm without proper treatment. He received 14 doses of anti-venom, $70,000 worth, and recovered fully. Two years later, we found out that the company that made the anti-venom for copperheads had ceased production, since it wasn't cost-effective. My wife blogged about it: http://www.crazyus.com/2010/07/19/washington-dc-snakes-once-...
It occurs to me that someday next century we'll have "chemical" printers that can synthesize drugs on demand. Maybe the hospitals will get them first for cost and legal reasons but eventually just like 3d printers, there will be a hobbyist element.
I found some of the comments at http://stackoverflow.com/questions/5653678/union-types-and-i... helpful. If TAPL refers to "intersection types" then it's definitely a well-defined concept.
It's not the same sort of intersection as you might understand it from mathematical sets: http://stackoverflow.com/questions/5653678/union-types-and-i...

See the response about C#.