HN user

lukegb

386 karma

[ my public key: https://keybase.io/lukegb; my proof: https://keybase.io/lukegb/sigs/ZrcqkmHCgyclAwU6S47SsLZekWhhhALw6LQE7-GKmXk ]

Posts5
Comments38
View on HN

Open access rail operators are not permitted to compete with franchisees (on the same routes/proposition) - there's a test that is applied before granting a license to ensure that the services will be "not primarily abstractive" - that is, that the operator will generate new revenue rather than simply taking away from the franchisee.

According to the first post in the linked thread, the switch to clang is transparent enough that the VS IDE-based debugging experience still works.

My guess (not being a Chromium developer myself) is that this is an exercise in consistency across platforms - I can imagine that using the same compiler on all supported platforms makes the language features supported consistent and removes the risk of one compiler generating much worse output for the same code. But I'm just postulating, I don't actually know for sure.

As long as the other application is Firefox, Safari, IE11/Edge, or Opera, then it probably has a HSTS preload list that is at least in part generated from the Chrome one.

Firefox have some scripts which go through and check to make sure everything still on the Chrome list is still announcing the preload headers, and will autoremove if that isn't that case, IIRC. I wouldn't be too shocked if Apple/Microsoft were doing something similar.

As an interesting, although unrelated aside: platform data is available in the UK's National Rail's feeds, but the terms and conditions[1] explicitly prohibit displaying platform numbers early, as mentioned in their developer guidelines[2].

I guess the wording doesn't technically ban you from displaying historical platform information, but that would likely be a bad-faith use of the data anyway...

[1] http://www.nationalrail.co.uk/static/documents/Terms_and_Con...

[2] http://www.nationalrail.co.uk/static/documents/Developer_Gui... "Occasionally Time-Bound Data will become available through NRE feeds before it is ready to be published to the public. [...] One such example of Time-Bound Data is platform numbers. Early display of platform numbers, particularly at origin and destination stations, can lead to platform overcrowding and/or staff not having sufficient time to prepare the train for oncoming passengers. In some instances, platform numbers will be available in Darwin before being displayed on screens in stations."

Google's also been looking to limit the maximum validity lifetimes in general through the CA/B Forum[1] in a ballot that ended up not passing (with hints[2] that Chrome would end up enforcing something similar itself even if it wasn't part of the Baseline Requirements).

This seems to be indicative of the general indication that Chrome wants to head in anyway[3].

[1] https://cabforum.org/pipermail/public/2017-January/009373.ht...

[2] https://cabforum.org/pipermail/public/2017-February/009746.h... - there was a more explicit post elsewhere but I can't find it in the archives right now

[3] https://twitter.com/sleevi_/status/829804370900426752

From what I remember, Polymer before 1.0 had some severe performance issues on browsers that didn't have native Web Components support, because it shipped with a polyfill that tried to emulate the shadow DOM properly.

I suspect (but have no evidence) that this caused lots of people to dismiss it because of that, and they might not have taken another look at it since 1.0 released.

The idea is more that when you process data, if you can fit it all in memory (and you don't need lots of CPU power, etc, etc, etc) then just use one machine and don't worry about "clusterising" it.

If you're expecting growth in the size of your dataset (beyond growth in RAM size availability), then, well, maybe don't just use a single machine. Same goes for a whole bunch of similar "it's too large for a single machine" considerations.

Storing data should probably still be persisted to disk, and backed up.

There's no a single simple answer, but sure, whenever less computers are enough, less should be used.

This - if you're using this website as your sole calculation then something has gone seriously wrong.

It was more intended to provoke discussion and thinking around overengineering things which can easily be done with, say, awk or a few lines of <scripting language>.

If you have large CPU requirements then sure, use Hadoop/Spark/some other distributed architecture. If you have a >6TB dataset but you only need 1GB of it at a time, then, well, maybe you still only need one computer.

It wasn't intended to snark - I apologize if it was seen that way. I whipped this up super quick and perhaps should have expanded on my meaning.

Well, hate to break it to you, but you probably have some overhead associated with your data, like your operating system or structures related to processing your data.

Me too. The links are mostly to back up my claim rather than as a suggestion of servers to buy (or I'd have found some affiliate links!)

I have to say, this assignment in general has been my favourite part of first year (my group extended our assembler to look enough like GNU as that we could assemble the output of GCC, so we could compile CSUD).

Nice work - love it (might play it at some point to see if I'm any good).

That's not the point - the point is to stop them from updating to a new version and blacklisting the new method names. They already have a license that allows them to use the existing code.

Damn, you went for the same solution as me. I didn't think anyone else would so obtuse as to use a canvas to access the raw image data.

Here's my equivalent solution:

  var canvas = document.createElement('canvas');
  canvas.height = 1;
  canvas.width = 1;
  var twodctx = canvas.getContext('2d');
  var blockImg = null;
  var qs = document.querySelectorAll('img');
  for (var i = 0; i < qs.length; i++) {
    var img = qs[i];
    twodctx.drawImage(img, 0, 0, 1, 1);
    var imgd = twodctx.getImageData(0,0,1,1);
    if (imgd.data[0] == imgd.data[1] && imgd.data[0] == imgd.data[2] && imgd.data[3] == 255) {
      var badDiv = document.createElement('div');
      badDiv.style.display = 'none';
      document.body.appendChild(badDiv);
      badDiv.appendChild(img.parentNode.removeChild(img));
      break;
    }
  }

What's amusing (for me) is the first I heard about this was via their Twitter account - I was on the internet at the time using their data network, having just turned my phone on!

Three seems fairly reliable, with a decent signal strength in my area, compared to O2/giffgaff (which my friends like to use).

Their support on Twitter is fairly quick to respond, but I suppose that's more indicative of the way support over social media is nowadays.