1. 2

    Recently I’ve done a lot of travelling to see family and friends over the holiday period. This week most of my uptime will be taken up by work-work. Apart from that I’ll continue trying to find a different job. Maybe I’ll finally get round to starting a thread about it.

    When I have time, I’ll help out with GoshawkDB (“a distributed, transactional, fault-tolerant object store”). The DB only exposes a few operations, which makes it fairly easy (IMHO) to understand and reason about, but we want to build some higher-level structures on top of it to make it more practical.

    1. 1

      I poked around the website a bit and can’t find a description of the transaction protocol or high level descriptions of the implementation – short of reading the code, could you provide some pointers on where to find things like this for GoshawkDB?

      1. 2

        I think the best place to start is the CodeMesh talk; you can find links to the video and slides on the documentation page.

    1. 3

      It seems like we’re working our way back to jails. Again.

      1. 1

        I’m not super familiar with jails…are jails portable in the way that Rocket ACIs or Docker containers are?

        1. 3

          Insofar as Docker only works on Linux, a FreeBSD jail will work only work on a FreeBSD system, if that’s what you mean.

      1. 4

        I love this idea of striving so hard to elminate every single cause of customer complaints.

        But, in I’m not sure about adding the explorer-dection code to all command line apps.

        Suppose I have shortcut on my Windows desktop to an EXE with the code from the artcile. And in the shortcut I’ve specified all the nice command line params I want. So I can click on it on the shortcut and run my EXE.

        Example: I might have a shortcut that does a “git -pull” that I can click on to get latest code for some project.

        If the app (GIT.EXE in above example) had the author’s feature, then wouldn’t the shortcut warn me that I should be running from a CMD.EXE? When you click on an icon, the “app” that starts it is probably explorer.exe

        I guess you could also only check for explorer.exe when there are no params. That would be a little better.

        1. 1

          My problem with the author’s final change is that it just reinforces the behavior he’s trying to avoid. Why would a user go to Start -> Run -> cmd -> cd /whatever/dir -> ngrok 80 like it’s telling them, when they can just double click it every time, ignore the line of text yelling at them, and type ngrok 80?

          1. 1

            Adding a small amount of pain but still enabling the user would probably work: for missing parameters, prompt the user for the parameters, and then show guidelines on how to start the program more effectively later.

            I’m a fan of not hard failing here, and think there’s a way to do it that doesn’t encourage “bad” behavior.

        1. 1

          I wonder if the solution for Netflix is in home caching servers. Imagine a Roku with a 4TB hard drive. Netflix knows I watched House of Cards. I’m going to watch season 2. The Roku downloads and precaches season 2 along with various other shows and movies on my watch list, or based on magic predictive algorithms. It can do this at any time of the day. When I do want to watch a show, it’s always high quality, never buffered, etc.

          This is how I use Spotify. I find songs I like, then mark them for offline listening. Streaming probably only accounts for 10% of my usage.

          1. 3

            I am not sure if this would be feasible with bandwidth caps as we are now seeing them. It is also much less “on demand” that way – but if it was seamless maybe that wouldnt matter.

            Instead, I wonder if netflix did local torrenting somehow if it would help. Lets say 500 comcast customers are watching SomeMovie. Maybe those 500 customers could participate in a swarm. Very little traffic (tracker with source logic) would, in theory, leave comcast’s internal network.

            It would likely require a dedicated “netflix settop device” (similar to roku) to implement it.

            1. 3

              The local torrenting is, in part, how Spotify distributes song media, so this isn’t too far fetched.

            2. 1

              Boom! From the Amazon FireTV announcement:

              We also added an exclusive new feature called ASAP that predicts what movies and TV episodes you’ll want to watch and gets them ready to stream instantly. No one likes waiting for videos to buffer.

            1. 1

              Druid’s use of Kafka as a persistent queue for managing ingest is really clever. Conceptually it’s a very clean approach for dealing with downstream machine failures (downstream systems just pick up data since the last checkpoint).

              Also worth noting that Suro, Netflix’s data pipeline uses Druid under the covers.