1. 1

    I used Syncthing for awhile, but switched to Nextcloud w/ OTP auth, it’s less of a hassle and more polished imo if you’re looking for a Dropbox replacement.

    1. 5

      SyncThing does not require a central server while NextCloud does. This has pro and cons.

      • You cannot share files by sending links with SyncThing
      • P2P is less efficient, which is significant on mobile
      • A central server would be additional responsibility and maintenance
      • You can share between three clients such that no one has all the data
      1. 3

        I recognize these benefits, but I’m talking exclusively about a dropbox replacement. I kept my keepass database in Synthing for years. Again, speaking purely from the perspective of a person looking for a Dropbox replacement:

        • Syncthing required a server to be on all of the time, otherwise my password databases would drift.
        • because syncthing required a dedicated server, hosting Nextcloud instead wasn’t much of a stretch.
        • Syncthing doesn’t have some QOL defaults (ignoring .files, for example)
        • It’s painful to flip back and forth between computers and enter a large random string to enable synchronization (at least it was for me)

        Listing some of my struggles in case anyone is in the same spot I was.

    1. 5

      Bad things happen when you let the stateless service expert have a go at fixing the distributed database. State is pets, not cattle. I’d bet 80%+ of companies don’t need to run their own databases though.

      Economies of scale make cloud providers cheaper and cheaper, pushing the inflection point at which it makes sense to run bare metal farther and farther out. There are other reasons than cost to stay out for the time being: legal, reliability, huge friction of moving out etc… But they are going away. The real reason Google heavily pushes k8s is to make it easier for orgs to move into GCE when they decide to make the switch. Let’s see if aws & azure add some sort of k8s support to sip the funnel :)

      Eventually much of the product and service world will be running on lambda / cloud functions / azure functions. No more capacity planning. Ops as we know it will be devs running a framework that handles the config management, deploys, etc…

      There will still be infra jobs at the cloud providers, but they sometimes look down their noses at outside talent, and I’m not sure I would be all that satisfied working at one, competing with tons of competent engineers for every last morsel of intellectually stimulating work.

      I’m focusing on multi-DC/cloud stateful systems for the next few years, then maybe it will be time to get a PhD in a country with a social safety net.

      1. 3

        I tend to agree except for

        Eventually much of the product and service world will be running on lambda / cloud functions / azure functions

        There will always be an argument against hard-locking yourself to a particular vendor, which is what the serverless models of today do. Additionally the incentive to migrate a fully-automated microservice’d k8s stack to a lambda stack is questionable - kinda like how Facebook still runs on a sort of monolith because hey - the friction caused by moving to microservices isn’t worth it yet, and I fail to see a ton of inherent value in lambda over a well designed microservice’d architecture.

        1. 1

          I actually just accepted a job offer at Serverless (the company), with the personal goal of helping people do cloud steering the way that CDN steering is done now, making the providers fight against each other for business.

          A lambda function can run a monolith or a stateless microservice, without capacity planning or (capacity related) on-call. You can even do FFI. I’ve worked on the kubernetes and mesos ecosystems, and the promise of serverless is much closer to what devs want to use in my biased opinion. They all have their uses, but my hypothesis is that most engineers really don’t want to think about containers or capacity. For stateful systems you need to do this work, but I think there’s no good reason we’re forcing most engineers to think about these things.

          We’re going to see things pretty similar to lambda start popping up on top of k8s and mesos. I doubt capacity will be that much of a problem for people to self-manage, since most orgs are like 7-25% utilized at peak.

          Right now, mesos & k8s have more tooling around visibility etc… but this is a temporary, non-durable advantage. Serverless now has last-mover advantage.

          1. 1

            I hope you can understand my skepticism, I work in Healthcare where things like serverless architecture are met with heavy grains of salt, so I’m a little disconnected from the product/service world. I’m an ops-person, and serverless architecture is intimidating leads me to be biased against it. I hope that I’ll still have a job in the container/automation space because it’s been really fun, maybe backending some of the serverless stuff is where I can end up. /streamofconsciousness

            1. 1

              There’s a looooooot of hype, and it is pretty immature. Lots of questions remain around visibility, debugging, keeping track of functions, service discovery, security, etc… There’s a lot coming down the pipe, and I think this will eventually​ be a nicer place to build products in general, but it’s the early days for sure. Also, thinking of what amounts to autoscaling without thinking about a VM/container or load balancing as a “function” or “serverless” is often a challenge and a source of abstraction abuse. I think of it as a deploy target rather than a way to structure your application.

      1. 5

        Crystal Triangle - Ruby

        Much like Ruby, the story of Crystal Triangle is oriented by objects - God, Isao Murakami, and the Crystal Triangle itself are all objects used to progress the story.

        Additionally, both Ruby and Crystal Triangle were created in Japan and even though they were both designed by people who spoke primarily Japanese, they both use English as the primary means of expression.

        There is a scene in Crystal Triangle during which our hero Koichiro instinctively ducks as red lasers shoot out of a shard of crystal - in the same scene he also stands when the lasers turn green. This type of intuition is also present in Ruby, as demonstrated by the fact that it’s easy to learn.

        But perhaps the most distinct similarity is the importance of gems in both. Ruby would be nothing without gems, likewise a crystal could never be whole without the many gems that make it up. In addition to literal gems we have metaphorical gems, like this one: https://www.youtube.com/watch?v=zpHBzTqAcAo

        I hope that is enough to convince you. I have more arguments if necessary.