News for hackers. Stuff that matters.
Re:The 64 Milliseconds Manifesto by juancn on Tuesday September 24, 2019 @02:32PM (#21063223)
It's impossible. Lightspeed doesn't allow for that on websites if you're far enough from the servers.

If you add intermediate network gear, it's hard enough to get across half the globe in under 180ms (I'know, I live in Argentina and that's my ping time to almost anywhere non local).

You could fake it somehow in some scenarios or with an awful lot of money.

Re:The 64 Milliseconds Manifesto by dahart on Tuesday September 24, 2019 @02:56PM (#21063431)
This manifesto is made just for you! Waiting for the response before updating the screen is the wrong answer. It’s not impossible, you’re assuming incorrectly that the manifesto is saying the final result needs to be on screen. It didn’t say that, it said the app needs to respond to action visually, not that the response or interaction sequence must be completed within that time frame.

The right answer for web and networked applications is to update the screen with UI that acknowledges the user action and shows the user that the result is pending. Ideally, progress is visible, but that’s tangential to the point of the manifesto.

A client can, in fact, almost always respond to actions within these time constraints. The point is to do something, rather than wait for the network response.

Re:The 64 Milliseconds Manifesto by mrob on Tuesday September 24, 2019 @02:40PM (#21063297)
Speculatively make and cache likely requests. Predict server responses client-side, and update with the server response if it differs. Multiplayer games have been hiding latency since QuakeWorld.
Re:The 64 Milliseconds Manifesto by littlestymaar on Tuesday September 24, 2019 @03:21PM (#21063619)
Have you ever tried playing a competitive game with above 300ms ping?
Re:The 64 Milliseconds Manifesto by mrob on Tuesday September 24, 2019 @03:25PM (#21063650)
Yes, and it doesn't work well. But 300ms ping is unusually high. I'm 141ms from HN's server, and that's in a different continent from me. Google is only 10ms. 141ms is playable with good client-side prediction.
Re:The 64 Milliseconds Manifesto by littlestymaar on Tuesday September 24, 2019 @04:07PM (#21064066)
> But 300ms ping is unusually high

It's not that high if you live in a rural area (And I'm not even talking about a third world country, I live in France). Most of the time, the main culprit is Bufferbloat[1].

I'm currently playing World of Warcraft with 250ms of ping, and even for solo level up it's annoying. League of Legends with 350ms isn't fun at all…

[1] https://en.wikipedia.org/wiki/Bufferbloat

Re:The 64 Milliseconds Manifesto by Dylan16807 on Tuesday September 24, 2019 @07:42PM (#21065939)
Buffer bloat is an example of what this manifesto is motivated by. The hardware's capable of being much faster, and has been set up wrong.

A game dev can't fix it, but it should not be taken as a ground truth of the world. It needs to be fixed. Combine that with a smaller amount of prediction, and things come out pretty well.

Re:The 64 Milliseconds Manifesto by PeterisP on Wednesday September 25, 2019 @03:35AM (#21068623)
Getting a CDN to put your content much closer to users does not require an awful lot of money. The vast majority of your users shouldn't be across half the globe; if you're a tiny local shop, then you're targeting local users; and if you're targeting multiple continents then it's not that hard to host stuff on multiple continents cheaply even if you're just a couple people, there are services available for that.
Re:The 64 Milliseconds Manifesto by ChristianBundy on Tuesday September 24, 2019 @02:51PM (#21063388)
> Lightspeed doesn't allow for that on websites if you're far enough from the servers.

This assumes that we need remote servers to do our computing for us. :~) P2P software doesn't require remote servers, plus it means your apps still work offline.

Re:The 64 Milliseconds Manifesto by Dylan16807 on Tuesday September 24, 2019 @02:45PM (#21063340)
In most situations you can have more than one server. If you focus on the 64ms goal, and you budget 20 for ethernet/fiber, that gets you 2000km each way to reach the closest one.
Re:The 64 Milliseconds Manifesto by fishnchips on Tuesday September 24, 2019 @03:00PM (#21063463)
In some cases (most requests succeed, and you know the likely outcome) an optimistic update would suffice.
Re:The 64 Milliseconds Manifesto by acdha on Tuesday September 24, 2019 @02:49PM (#21063376)
> It's impossible. Lightspeed doesn't allow for that on websites if you're far enough from the servers.

Your second sentence explains why the first is wrong. Yes, you can’t have the entire world using a single server but it’s never been easier to get servers around the world and the new edge compute services are further improving that.

Re:The 64 Milliseconds Manifesto by littlestymaar on Tuesday September 24, 2019 @03:18PM (#21063595)
> around the world

Only if your «world» means «developed countries only»…

Re:The 64 Milliseconds Manifesto by big_chungus on Tuesday September 24, 2019 @03:28PM (#21063673)
Cloudflare's got POPs almost everywhere (though densities vary with population of heavy internet users), and has a very good free plan which I use. Have a look: https://www.cloudflare.com/network/

Akamai's coverage is better still; they've got just about the entire world covered: https://www.akamai.com/us/en/resources/visualizing-akamai/me...

Cloudfront, Google, Fastly, etc. all have pretty good coverage, though you're right they're spottier when it comes to S. America, Africa, and a few other places. Their POPs are, from what I understand, have higher capacity but are less dense. Good for cost savings, though probably worse for latency.

There's also the consideration that most web sites have most of their users in the developed world (though that equation is shifting quickly for a some).

Out of curiosity, what is the significance of "<<" and ">>"? I'm assuming they're not bitwise shift left and right. I've seen them more often as of late, and they seem to come mostly from non-Americans. I ask because they're quite difficult to run an internet search on without knowing what they are called.

Re:The 64 Milliseconds Manifesto by littlestymaar on Tuesday September 24, 2019 @04:15PM (#21064154)
> Have a look: https://www.cloudflare.com/network/

This is a really good example. Did you look at Africa? For the record, 1.2 billion people live there nowadays ;)

> Out of curiosity, what is the significance of "<<" and ">>"

Oh, you mean '«' and '»'? They are French quotation marks[1], I try to use the English ones '“' and '”' when I'm writing English, but sometimes I forget. Same for the space before the question and exclamation mark (there is a space in French, but not in English).

[1]: https://fr.wikipedia.org/wiki/Guillemet

Re:The 64 Milliseconds Manifesto by Dylan16807 on Tuesday September 24, 2019 @08:01PM (#21066100)
> Did you look at Africa?

Yeah, I looked at it. There are datacenters within 2000km of everywhere, and that's including the Sahara. About 1500km outside of the Sahara.

1500km as the crow flies, so let's say 2400km of fiber. At the speed of light in fiber, that's 11.5 milliseconds. Double it, add time for ten routers, that's 27 milliseconds to go from any ISP line to a Cloudflare data center.

Sounds good to me. If there are infrastructure problems that's a separate issue from whether Cloudflare has enough POPs.

Re:The 64 Milliseconds Manifesto by Youden on Tuesday September 24, 2019 @03:34PM (#21063723)
> Out of curiosity, what is the significance of "<<" and ">>"? I'm assuming they're not bitwise shift left and right. I've seen them more often as of late, and they seem to come mostly from non-Americans.

They're quotation marks in many European languages and I believe (though I'm not sure) that the correlation isn't non-Americanness, it's non-English-keyboardness. People from English-speaking countries will still use the quotation marks you're used to.

Re:The 64 Milliseconds Manifesto by acdha on Tuesday September 24, 2019 @04:22PM (#21064216)
You know, when you have to aggressively chop quotes to distort the meaning, it's a good time to pause and reflect on whether you are making a mistake. In particular, ask yourself whether “it’s never been easier to get servers around the world” meant “it's perfect for everyone no matter where they are” or what the actual words mean.

Beyond the obvious point that the growth of commercial cloud options make it much easier to get servers around the world without having to research providers and negotiate contracts in each country, you might in particular want to spend a couple of minutes looking at current CDN coverage, especially if your experience is either limited or old. Coverage is a lot better globally than it used to be — gone is the time when “Africa” either meant servers in Europe/Israel or, at best, one POP in South Africa. Next, think about services like CloudFlare Workers, Lambda@Edge, etc. and ask what percentage of people on the planet are likely to be close to one of the POPs where you can run code:

https://www.cloudflare.com/network/ — 194 cities in 90 countries

https://aws.amazon.com/cloudfront/features/ — 191 locations in 33 countries

Re:The 64 Milliseconds Manifesto by littlestymaar on Tuesday September 24, 2019 @03:23PM (#21063637)
Also, notwithstanding speed of light being high enough, I live in a remote part of France and I have between 100 and 200ms ping on Google servers…
Re:The 64 Milliseconds Manifesto by youareostriches on Tuesday September 24, 2019 @02:49PM (#21063371)
>Lightspeed doesn't allow for that on websites if you're far enough from the servers.

This is a hint that you're writing for the wrong platform. Write real apps.