3 comments

  • sulam1 minute ago
    To HN moderators: title needs to note that this talk is 13 years old.
  • cassianoleal1 hour ago
    Why does Vimeo require me to verify my age in the UK to watch Robert Pike talking computer science?
    • PaulKeeble35 minutes ago
      Surveillance, got to track you all across the internet.
    • kmlx33 minutes ago
      In Greece (EU). Can’t play it either. I’m getting:<p>&gt; This video is not rated<p>&gt; Join vimeo to watch<p>&gt; Already have an account? Log in
    • davydm1 hour ago
      because otherwise how would the queen know what you&#x27;re up to all the time? :D
      • cassianoleal57 minutes ago
        Since she was probably sent by God to rule, I assume he called her back upstairs upon her passing. In this case, she can just ask the big man.<p>Funnily enough, yt-dlp has no trouble downloading it.
        • davydm55 minutes ago
          yeah, i use that often, eg when a video is slow on a website - at least yt-dlp will shard out multiple piece-downloaders, and I can get the video in a few seconds or minutes, and just watch it. Also great for anonymizing sharing videos - download the actual video, share that. Not an url (:<p>In much the same vein, I rarely actually watch stuff _on_ netflix, through a browser - I watch sped up, and the quality just degrades. Since I pay for it, I feel nothing for downloading a ripped copy to watch it locally :D
  • davydm1 hour ago
    it&#x27;s an interesting talk, my take being:<p>concurrency _is_ parallelism, but for I&#x2F;O. People often think of parallelism for the case of making something go faster - eg placing two computations in parallel (the definition posed in the video), OR placing two I&#x2F;O operations in parallel - so this is the keyboard-vs-mouse in the OS, even when you&#x27;re on one core only; this is multiple web requests in JavaScript, which does not support multi-threading, but 100% does support concurrency for I&#x2F;O operations - that... badum-tiss! RUN IN PARALLEL.<p>I get the point of the talk, and it&#x27;s well interesting, but I think it depends on how one views things.
    • pdpi50 minutes ago
      &gt; concurrency _is_ parallelism, but for I&#x2F;O.<p>Not really. They&#x27;re just separate but related concepts.<p>E.g. coroutines are a form of concurrency that doesn&#x27;t have to involve any sort of I&#x2F;O, you&#x27;re just taking two logical processes (e.g generating a sequence and consuming it) and abstracting away how they execute relative to each other.<p>Describing your tasks using the language of concurrency is a requirement for process-based parallelism (multiple CPUs&#x2F;cores), but data-level parallelism (SIMD) is a form of parallelism that doesn&#x27;t involve concurrency either.
      • threatofrain30 minutes ago
        Concurrency is the property of a program or algorithm such that:<p><pre><code> - the program is decomposable into partially ordered or unordered units of execution - the program result remains determinant despite partial ordering </code></pre> Your data-level parallelism is taking advantage of the concurrent properties of a problem.
    • lelandbatey23 minutes ago
      No, and that&#x27;s the point of the article. What you are calling parallel w&#x2F;r&#x2F;t IO should be called concurrency (conceptually happening at the same time by virtue of being able to interrupt and resume units of work). The reason IO APIs like you&#x27;ve described is concurrent but not necessqrily parallel is because there is no guarantee in the API that they both happen literally simultaneously; I could build a JS runtime that &quot;works&quot; for all the code written against XMLHTTPRequest (ignoring side-effects) but which under the hood only ever makes one HTTP request at a time. And because I can do that, that means JS code is living in a concurrency-only world, even though as an implementation detail most runtimes support parallel execution of those concurrent operations.