skysight-inc/HackerNews huggingface dataset:
> From my understanding, golang does not expose an asyncio interface, but this doesn't meant that golang runtime doesnt perform io operations asynchronously.

This is also true for an OS kernel.
How would you say your solution compares to groups of 10 drives in RAID6 configuration when it comes to safety, storage and availability?
I see your cgo analogy but at the same time it's much less pronounced there since the programming interface is the same, the programmer is supposed to assume everything will work as it should (even if it doesn't always). In this case it's a different programming interface and I think that stresses the issues.

Regarding your comment on preferentially having control over blocking/async code. I think that's right. At the same time, some C++ programmers would say that they prefer having to think carefully about how memory is managed in there program (say, for the benefit of fast no bounds checking). C++ draws a line, Rust draws a line, Go draws a line, Java draws a line, and Python draws a line. These lines are somewhat about technical superiority and somewhat about programmer identity/preference but they are mostly about domain-specific constraints and necessary tradeoffs. This futures-based approach will be sufficient (if somewhat inconvenient) where Go/Erlang can't be used, e.g. where GC pauses are absolutely intolerable.
Now that I understand the parent comment, I don't think this quite solves the problem he's asking unless all of your services are perfectly synchronized. No?
every time somebody makes a new react / angular derivative a unicorn loses it's horn.
It can also switch on memory allocations and function calls as well. I'd expect a large fraction of the context switches come from those events and don't go through the kernel.
Jim Weirich had a good couple talks about building a Y combinator in a couple languages.

Here's his JavaScirpt version: https://vimeo.com/45140590

RIP
I agree on the near-impossibility of causal ordering at scale. I don't see the need for a lot of "post processing". Adding filters in Fluentd is fairly simple: http://docs.fluentd.org/articles/filter-plugin-overview
Gankro gave an example, but here's a better way to think about associated types:

Think about them the same way you think of a method. Methods are "associated functions". If you implement a trait on a type, it can only have one version of a trait method, not two. Similarly, it can have one associated type, not multiple.

With a generic trait the trait itself is generic; there are multiple "versions" of this trait so you can implement it multiple times for different parameters and different methods.

A concrete way to think about this is overloaded methods. Rust doesn't have the regular kind of overloading, but it does have the Fn traits.

https://doc.rust-lang.org/core/ops/trait.FnOnce.html

(ignore the rust-call stuff)

The trait is essentially:

trait FnOnce<Args> {
type Output;
fn call_once(self, args: Args);
}

Note that it has both a type parameter and an associated type.

Now, we might have a type Foo which is `FnOnce<(u8,),Output=bool>`. This means that it takes a single integer in, and outputs a bool. We can overload it by also implementing `FnOnce<(char,), Output=bool>` and `FnOnce<(u8,u8),Output=char>`. This means that it can also take in a char and return a bool, or take two integers and output a char.

Now, given these impls, I can try to overload it with `FnOnce<(u8,u8),Output=bool>`. However, we can't. Because this means that the function will return either a book or a char when you feed it two ints. This is not how we want functions to behave, and this is why Output is an associated type. For a given trait implemented on a given object (in this case FnOnce<(u8,u8)> implemented on Foo), there is only one output type. But there can be multiple versions of the trait implemented by changing the generic part. So, while an overloaded function may take in multiple different input types, each set of inputs has only one possible output type.

Of course, Rust doesn't forbid having it the other way around -- we could make Output a generic parameter too, and have overloaded functions which can have different output types for the same input (and need type annotations to choose). But we don't want FnOnce to work that way, so we don't have it like that.

Similarly, given an iterator, there is only one type it can produce. We don't want there to be types which are iterators over multiple things.

On the other hand, the trait PartialEq has a single type parameter. This is because we want you to be able to test equality between many types.
Rice is not "dust" and sand is not "dust" by any stretch of parlance.

These things will fall on the ground and you'll hear them hit the floor in a quiet room.

These things will not float on windless air, suspended in a sunbeam.

They are not saw dust, either. They are not iron filings. They are not crushed slivers of glass. They are something more.

Look at the picture. Maybe relative to other implantable electronics, they are certainly very small. But qualitatively speaking, not soot, not smoke, not powder, not dust.
Perseid meteor shower peaks tonight
Helicopters are more industrial equipment than luxury goods. Most sales are military, medevac/police or offshore oil.
Can we just create a community standard of plain-jane HTML to separate it from all this "publisher" junk that AMP stands for, and then build a gigantic web ring and a search engine and all that? Like tilde club but with standards enforcement. I'd put a weather forecast site like that on my home screen in an instant.
Fuel injection was available on aircraft sold in the 60's. It's complexity is what prevents it from being dominant in aircraft, so you're quite right that a 2016 Seminole does in fact ship with carburetted engines (O-360-A1H6). The fact is that carburetted engines are cheaper to build and maintain, and their simplicity arguably makes then safer (due to fewer equipment failures).

Aviation emissions could be reduced through legislation, but people will die as a direct result.
Yes, but indirectly means "&Fn", but not "&F where F: Fn".

And a whole program doesn't need to conform, only individual threads. Presumably the ones you want to make a lot of.

(And if a little dynamicism was required, its expense could be paid for at the use, by creating a fresh necessary-sized stack at that point. But I'm probably opening up old split-stack wounds, sorry)
What a strange question, what does it mean to cure a patient?

Say a patient goes to a doctor and is diagnosed with heart disease - is there anything that can be done to cure this? Or do we simply alleviate the symptoms to make way for a better life? This is the case with so many illnesses: diabetes, cancer, arthritis, the list is so long.

But do you have the same skepticism of a doctor? Of a surgeon? We are not simple machines, us humans. When there are bugs in us they are often not currently fixable. This applies to psychiatry as much as it does to internal medicine.
> For example, images should have their width and height set so that the page doesn't re-layout when they're loaded.

I hate this idea. What if I just want the photo to be there at its natural size? Why should I keep updating my CSS when I change the photo?
The problem with Pokémon Go no one is talking about
Time to scrap the idea that humans arrived in the Americas by land bridge
Another horrible shifter is Toyota's. Take a look here: http://imgur.com/a/9ShAC

First gear is all the way down and to the right. Then left for 2nd, up and left for 3rd, up for 4th, right (!!!) for 5th (aka drive). Now it gets dangerous, if you go up and right you get reverse.

Is there a method to this madness?
Unfortunately as a user I either have to deal with tons of reflows as the page loads or make you specify the image size up front. Since you know what the size of the image is, the last part doesn't seem that big of a deal.
There's a Section of Yellowstone Where You Can Get Away with Murder
Is Most Published Research Wrong?
For us, messaging between services go through queues and a client request might start in a particular service and wind it's way through a few others to finish the work. You wouldn't have the same client requesting things from two different services simultaneously, though in fairly short order they come through. Our use case might be just simple enough that this wouldn't work for a lot of people.

Also, if I'm looking at access logs I'm not going to have that ID unless I start putting it in request headers. Right now the application logs and other monitoring tools pick it up though.

Edit: Didn't see mention of the clock on my first post, but it still stands for us that we're not in the millisecond timings between requests going in and out of services so we haven't had a problem with the timestamps from the systems they're on. Requests generally take a few seconds to process (handle a file upload of decent size, ETL some data, pump out some output document, etc) so each step through a service buys enough time before moving on to the next thing that we're not getting out of order log statements across each service.
Last week I posted a section [1] from Robert Whitaker's book Anatomy of an Epidemic about how Scientology was probably used to deflect attention from the ineffectiveness of commonly used drugs.

[1] https://news.ycombinator.com/item?id=12222898
Timeouts are covered here. http://alexcrichton.com/futures-rs/futures/index.html#exampl...

As for repeating something multiple times, you would either repeat the chain 10 times or write your own future combinator. Probably writing a custom future combinator would make the most sense here; actually, such a thing ought to be built-in to futures.rs.
Adobe is seeking a software engineer that can “bring C++ code to the browser”
I'm happy to have the ONU in my apartment where I can replace it instead of in some telco cabinet where it will take a week for a tech to come out and make repairs
This is going to sound dumb, but I started dumping all my logs into mysql so that I wouldn't also need to run an elastic search cluster.
I then query by the error level, latency, status code to find items of interest.
And everything is stored by some sort of request ID so that I can correlate multi-entry logs.

It's not pretty -- there's no real-time alerts, but I'm not paying dollars per gb to AWS and I have no clue what google will end up charging... and I'm already running mysql. So there is that...
> * NonEmptyList - I never came across a palce where I needed NonEmptyList?!

Do you ever check the length of a list before applying a computation or dispatch based on a result list?
What I find fascinating is how failing to understand why people are buying your product can sometimes be more disastrous for the competition. Look at SUVs, almost nobody bought them to use as Sport and/or Utility vehicles, they were generally used for hauling stuff and people around town. Precisely the same things that minivans, station wagons, and extended cab pickups were always designed for. But minivans and station wagons had by the '90s picked up a massive uncoolness factor, and pickups had their own unique social connotations.

Similarly, most people who were buying mountain bikes were not using them on mountain trails, they were just biking around the city on roads. But a mountain bike is a bit easier and more comfortable to ride than a road bike for most folks who don't ride long distances a lot. Also, by the '90s the "10 speed" had lost its coolness factor and mountain bikes were definitely acquiring a strong coolness factor (just as BMX bikes had during the '80s).

Schwinn's failures remind me a lot of Radio Shack's. At one time a hugely iconic and market dominant brand, and then a few years later struggling to stay in business before tipping all the way into the abyss of history. All because they didn't understand what people wanted and how the market was changing around them and were disdainful of the competition until it was way too late.
Saraki Seeks Probe of Boko Haram Recruitment of IDPs
Maybe it's useful to point out here that:

- Chrome is built on Chromium, which is open source,
but Chrome itself is not.
- Android is based on open source technologies, but is,
again, not itself open source in many cases.
- Many, if not most, programming language implementations
are not open source. In fact, you're dating yourself
with this claim, as those with more experience remember
the dark days of paying for compilers.
Even C compilers.

I wholly agree with your sentiment, that open source projects work very hard and get little credit. I'd expect the GP agrees as well.

Could you be a bit more generous to the author of the comment you responded to? Your point really lines up quite well with theirs, if you spend a few moments considering them.
> What I'm referring to here is the same futures method under the hood but transparent to the user.

CPS transforming the entire program is possible in theory, but if you want the same zero-cost behavior you will run into the same issues I outlined elsewhere: higher order control flow analysis will be necessary, and it will fall down a lot.
Getting Banned in Pokemon Go – Everything You Need to Know
This feels like something that could be dynamically inserted server-side.
For anyone else wondering what the deal is with "smaht pointers": https://www.reddit.com/r/rust/comments/3404ml/prepooping_you... I think I first saw the term on that thread but didn't stay long enough to see the explanation. It was driving me nuts! :)
There just isn't enough demand from the public to require monuments be built to house this stuff. Sad as that may seem I'm hoping virtual reality helps future generations appreciate the stuff of bygone eras.
Speaking of bad design, on mobile the text on that page slightly flows off the right edge in a way that interferes with reading and can't be fixed by zooming.
As someone who is apparently all-in on AWS, can you explain how you justify the cost? I understand the convenience of having all the pre-built services, but that is a finitely limited benefit. The vendor lock-in of the entire infrastructure and deployment processes being extremely AWS-specific means it's financially infeasible to migrate elsewhere once you are launched. Tack on the expensive-beyond-belief S3 server pricing that gets you terrible allocations of shared hardware, the sky-high insane prices they charge for bandwidth, and the penny-and-nickeling of all other services. I continue to be baffled that any small, medium, or large company believes AWS serves them better than any dedicated or colocation alternative.

The vast, vast, vast majority (seriously, probably 95-98%) of companies do not build out the required AWS infrastructure to remain highly available, with failover, with on-demand auto-scaling of all services that would make AWS the go-to choice. I continue to come across the individuals who maintain the fantasy that their business will remain online if a nuclear bomb wipes out their primary data centre. Yet they all deploy to a single availability zone, the same way you'd deploy a cluster of servers anywhere else. I cease to be amazed at businesses that spend $10k+ a month on AWS that would cost them half that with a colocated deployment.
> Why should I keep updating my CSS when I change the photo?

They're talking about the HTML image attributes so layout placeholders can be rendered, not CSS. The original height and width should be specified and styling can optionally be applied in CSS.
I'm not sure if Scala.js is production ready, but both Purescript and Elm have been used in production for a few years.
Paul Allen Announces Upstream, a Huge SXSW-Style Music Fest
Who do people feel the need to mention Postgres on every post talking about MySQL... It reminds me the same problem with Linux and *BSD.
I'm actually working on an isomorphic app. My approach is to simply create a PersistenceService interface, with methods returning promises, and to make two classes implementing it, SqlPersistenceService and AjaxPersistenceService. You inject the correct instance when you create the server and when you create the client. No if needed, and as I'm using Typescript, the compiler ensures both SqlPersistenceService and AjaxPersistenceService will keep following the contract of PersistenceService in the future.
It means to restore them to a level of health where they are not dependent on the doctor or medicine for continued care.

> Say a patient goes to a doctor and is diagnosed with heart disease - is there anything that can be done to cure this?

And they'd say there possibly is (such as lifestyle changes), and encourage them to pursue those changes while providing temporary medical relief.

> This is the case with so many illnesses: diabetes, cancer, arthritis, the list is so long.

The fact that we don't yet have a permanent cure for some of these illnesses is considered a major problem. Medical professionals are working tirelessly to find cures for conditions like cancer.

Meanwhile, psychiatrists seem to be almost completely uninterested in finding or promoting permanent cures (even when such cures likely exist, including through lifestyle changes). They want to put you on a lifetime drug regime.

I recognize that we're not going to have permanent cures for everything. But psychiatrists don't have permanent cures for anything. If internal medicine insisted that every condition required costly lifetime treatment, I'd be equally skeptical of it. In cases where a cure isn't available, other specialties admit that the best they can do is treat the symptoms—meanwhile, psychiatrists have an attitude that lifetime drug use is the "cure."
Earlier today I had an issue where, for some reason, my IP address was wrong. Like I was being sent through a VPN. Google and IRC were treating me as if I had a spammer's IP address.

I know this is a common virus issue on Windows but couldn't find any explanation for why that would happen on Linux and, after turning on my actual VPN, it went away.

So could someone explain if this is related to me? I was seriously freaked out by it, and still don't really have an explanation.
You can get some planes for under $30k too, but there isn't lots who know how to fix em'
My favorite history professor in college plugged this essay in all of his courses. He often said it was one of the most important essays to read if you want to understand why politicians and public figures speak the way they do. It's one of those great essays that everyone should read at least once.
Photosynthesis is a complex process. That article only covers one step of many.
Edit: corrected a mistaken assessment here. Yes, Volt is closest on the market but it's a horrible car.

My point is that every single car produced from VW to Ferrari can get 50% better fuel efficiency if the auto manufacturers changed their approach to the problem.
It's not just about GC pauses. Rust isn't "little Go" that you reach for only when you can't afford a GC. Many people choose Rust for the cargo package manager, generics, pattern matching, mature optimizer that prioritizes runtime speed over compilation speed, ability to write libraries callable by any language, fast FFI, compiler-enforced data race prevention, memory safety in multithreaded mode, etc. etc. These benefits apply to servers too. And many of these benefits are what lead to the futures model being more appropriate than the M:N model for the language.

Go has its benefits too, of course! One of those benefits is that blocking I/O is a simpler mental model. Both languages can happily coexist without one being in the shadow of the other.
Another universal http option is : https://github.com/matthew-andrews/isomorphic-fetch
Never said blowing people up, I said blowing the systems up.

You don't have to convince me that there are serious systemic issues in this country. However, existing systems have done a lot of good, and need consistent improvements, not a lazy call for revolution without considering who gets affected by it.

We passed critical environmental regulations in the first place. Crime rates continue to decrease across the country across generations. Millions of those people in poverty or out of work benefit from the safety net, disabled people are protected, minorities are protected from segregation, public schools and colleges educate millions for free or close to it.

All these systems can and should improve. But just throwing out "revolution" doesn't solve any of these problems.
The accusation is valid, but is nonetheless missing the point.

The evolution of technology always starts with ramification of features, and mature with a much smaller set of them, which have been proven to be really useful and efficient.

At the beginning, no one really know that html should just be like AMP. So we tried, and it largely worked. Use this to prove that html should start like AMP is like to claim the cave man 10000 years ago should use internet to communicate, which is plain irrational.
No Man’s Sky Launches…and the critics are out
Heh. As a young kid, "pink and green" was how I'd describe how I felt to my parents when I was nauseous.

(they still 'bring that up' 40+ yrs later)
Nope, the Mazda i-ELOOP system scavenges waste kinetic energy to run only the electrical system as opposed to augmenting propulsion.

It's a step in the right direction but is a 5% efficiency gain opposed to a 50% gain.
To me this product markets itself. This team has accomplished a lot with this tool, and i'm compelled to adopt and educate myself.

The proof (and splash) is in the pudding here. Kudos to dev team that built this.
Of all the things that cause pages to reshuffle on the modern web un-sized images are the least of my worries.
DEA ends its monopoly on marijuana growing for medical research
It might look crazy, but I've never had a problem using it, without looking. Certainly much, much better than the ridiculous Jeep shifter.

Re: the gear order, since it's an automatic you spend 99% of your time going between park, reverse, and drive, so the only one you regularly go through is neutral. It's very rare to need, say, first gear.

Edit: Oh, and I've never left it in drive thinking it was in park. Park = all the way up = hard to screw up.
I think (2) is the crux. You can deceive yourself about your completeness of understanding, but you can't implement an idea in code until you understand (or are at least aware of) a complete set of components.
With Siri, it's all or nothing. Either it is enabled on the lock screen, or completely inaccessible. It does have limits when enabled, where it will force you to unlock before inquiring deeper into the system. I can't remember exactly what kind of tasks I was able to accomplish with it enabled, but it was too much for me were it to land into a thief's hands. In any case, with the Touch ID it's barely an inconvenience to unlock before holding the home button to activate Siri. It's like 1.5 presses of the home button rather than a full 2. I'm not sure why they haven't put in the effort to allow you to hold down the home button once to activate Siri with a read of the fingerprint. They prioritized that action for Apple Pay. shrug
We're paying an agility premium, that's why. My company has both colocated and AWS assets, and while we save a bunch of money with the colocated assets over their AWS equivalents, we would much rather work with the AWS assets.

We don't have to bother ourselves with managing SANs, managing bare metal, managing hardware component failures and FRUs, managing PDUs, managing DHCP and PXE boot, managing load balancers, managing networks and VLANs, and managing hypervisors and VMs. We don't have to set up NFS or object stores.

Being on a mature managed service platform like AWS means that if we want 10 or 100 VMs, I can ask for them and get them in minutes. If I want to switch to beefier hardware, I can do so in minutes. If I want a new subnet in a different region, I can have one in minutes. There's simply no way I can have that kind of agility running my own datacenters.

Nobody disputes that AWS is expensive. But we're not paying for hardware or bandwidth qua hardware or bandwidth - we're paying for value added.