diff options
author | EuAndreh <eu@euandre.org> | 2022-01-16 16:52:43 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2022-01-16 16:52:43 -0300 |
commit | 1fc994f588dd9ef2ef8395e57e2492a6b4d730eb (patch) | |
tree | ab518e8c2c229ec60ba921adbf9897b25520b99d /po/eo/LC_MESSAGES/_slides | |
parent | .ignore: Remove unused file (diff) | |
download | euandre.org-1fc994f588dd9ef2ef8395e57e2492a6b4d730eb.tar.gz euandre.org-1fc994f588dd9ef2ef8395e57e2492a6b4d730eb.tar.xz |
git mv locale/ po/
Diffstat (limited to 'po/eo/LC_MESSAGES/_slides')
5 files changed, 1528 insertions, 0 deletions
diff --git a/po/eo/LC_MESSAGES/_slides/2020-10-19-rollout-feature-flag-experiment-operational-toggle.slides.po b/po/eo/LC_MESSAGES/_slides/2020-10-19-rollout-feature-flag-experiment-operational-toggle.slides.po new file mode 100644 index 0000000..065fb90 --- /dev/null +++ b/po/eo/LC_MESSAGES/_slides/2020-10-19-rollout-feature-flag-experiment-operational-toggle.slides.po @@ -0,0 +1,456 @@ +# +msgid "" +msgstr "" + +msgid "Rollout, feature flag, experiment, operational toggle" +msgstr "" + +msgid "Different use cases for **backend**, **frontend** and **mobile**" +msgstr "" + +msgid "" +"\"Feature flags\" tend to come up when talking about **continuous " +"deployment**" +msgstr "" + +msgid "???" +msgstr "" + +msgid "I'm using \"quotes\" because I'm mixing up different meanings of \"rollout\"" +msgstr "" + +msgid "CI" +msgstr "" + +msgid "continuous integration" +msgstr "" + +msgid "CD" +msgstr "" + +msgid "continuous delivery" +msgstr "" + +msgid "**continuous deployment**" +msgstr "" + +msgid "Background: build vocabulary, why are feature flags related to CD" +msgstr "" + +msgid "CI solves: manual integration of long-lived branches" +msgstr "" + +msgid "CD solves: automation of deployment process" +msgstr "" + +msgid "CD solves: releases as frequent as possible" +msgstr "" + +msgid "That's where the \"GoCD\" name comes from" +msgstr "" + +msgid "Types:" +msgstr "" + +msgid "rollout" +msgstr "" + +msgid "feature flag" +msgstr "" + +msgid "experiment" +msgstr "" + +msgid "operational toggle" +msgstr "" + +msgid "For *rolling out* a new version of software" +msgstr "" + +msgid "**Short-lived** using **percentages**" +msgstr "" + +msgid "" +"a [new deployment of " +"k8s](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#creating-" +"a-deployment)" +msgstr "" + +msgid "" +"new [APK released to the Play " +"Store](https://support.google.com/googleplay/android-" +"developer/answer/6346149?hl=en)" +msgstr "" + +msgid "Relevant as long as the new code is deployed" +msgstr "" + +msgid "For turning a feature *on* or *off*" +msgstr "" + +msgid "" +"**Medium-lived** using **allow list**, **A/B test**, **percentage**, **app " +"version**, *etc*." +msgstr "" + +msgid "`:new-chargeback-flow`" +msgstr "" + +msgid "`:new-debit-card-activation-screen`" +msgstr "" + +msgid "Relevant as long as the new code is being developed" +msgstr "" + +msgid "For analyzing behaviour" +msgstr "" + +msgid "**Medium-lived** using **allow list** and **A/B test**" +msgstr "" + +msgid "`:debit-withdrawal-test`" +msgstr "" + +msgid "For disabling features in `#crash`-like situations" +msgstr "" + +msgid "**Long-lived** using **percentage**" +msgstr "" + +msgid "`:bank-barcode-payment`" +msgstr "" + +msgid "`:savings-bank-barcode-query-provider`" +msgstr "" + +msgid "Lives for as long as the code is in production." +msgstr "" + +msgid "It feels like a system-level circuit breaker." +msgstr "" + +msgid "We now know about the types" +msgstr "" + +msgid "" +"But they have different relevance for **backend**, **frontend** and " +"**mobile**" +msgstr "" + +msgid "backend" +msgstr "" + +msgid "**experiment**: `common-xp`" +msgstr "" + +msgid "" +"This is a bit why common-rollout isn't called *common-feature-flag*: it was " +"initially designed with backend usage of mostly *rollouts* in mind, and just" +" a bit *feature flags*." +msgstr "" + +msgid "" +"Avoid using configuration for doing operational toggles: it is less dynamic," +" so it defeats the purpose." +msgstr "" + +msgid "frontend" +msgstr "" + +msgid "**rollout**: CDN and page refreshes" +msgstr "" + +msgid "" +"**feature flag**: percentages and maybe IPs (no `:customer/id` on the " +"website)" +msgstr "" + +msgid "**experiment**: via dynamic backend control" +msgstr "" + +msgid "**operational toggle**: via dynamic backend control" +msgstr "" + +msgid "mobile" +msgstr "" + +msgid "**rollout**: app stores" +msgstr "" + +msgid "**feature flag**: via dynamic backend control" +msgstr "" + +msgid "Key differentiator is" +msgstr "" + +msgid "How much **control** we have over the **environment**" +msgstr "" + +msgid "**backend**" +msgstr "" + +msgid "Full control" +msgstr "" + +msgid "🎉" +msgstr "" + +msgid "Can edit, update and even delete rollouts as desired." +msgstr "" + +msgid "Mix and match at will!" +msgstr "" + +msgid "**frontend**" +msgstr "" + +msgid "Partial control" +msgstr "" + +msgid "When choose when to make a new version available" +msgstr "" + +msgid "" +"We can control when a new version is available, partially when someone will " +"upgrade it." +msgstr "" + +msgid "But it is easy to fallback to \"reload the page and try again\"." +msgstr "" + +msgid "**mobile**" +msgstr "" + +msgid "Very limited control" +msgstr "" + +msgid "app stores can restrict updates (worse for iOS)" +msgstr "" + +msgid "customers still have to download new versions" +msgstr "" + +msgid "Costs" +msgstr "" + +msgid "more complex code" +msgstr "" + +msgid "compatibility with old app versions" +msgstr "" + +msgid "nesting is exponential" +msgstr "" + +msgid "Benefits" +msgstr "" + +msgid "dynamicity" +msgstr "" + +msgid "Best practices" +msgstr "" + +msgid "Dynamic content > feature flag" +msgstr "" + +msgid "Always true for **mobile**, almost always for **frontend**" +msgstr "" + +msgid "Use `:include-list` for named groups" +msgstr "" + +msgid "Always true for **backend**, **frontend** and **mobile**" +msgstr "" + +msgid "{% raw %}" +msgstr "" + +msgid "" +"{:rules\n" +" #{{:type :include-list\n" +" :content {:filename \"debit-team-members.txt\"}}}}\n" +msgstr "" + +msgid "{% endraw %}" +msgstr "" + +msgid "Always use `:app-version`" +msgstr "" + +msgid "only for **mobile**" +msgstr "" + +msgid "" +"{:rules\n" +" #{{:type :app-version\n" +" :content {:min-version #{{:platform :android\n" +" :code 1000000}\n" +" {:platform :ios\n" +" :code 2000000}}}}}}\n" +msgstr "" + +msgid "That's how `:include-list`, `:app-version`, *etc.* were born" +msgstr "" + +msgid "Beware of many nested feature flags" +msgstr "" + +msgid "True for **backend**, **frontend** and **mobile**" +msgstr "" + +msgid "Exponential growth of combinations" +msgstr "" + +msgid "Don't delete app-facing feature flags" +msgstr "" + +msgid "True for **mobile**" +msgstr "" + +msgid "This could break old app versions, only do this intentionally" +msgstr "" + +msgid "" +"We don't have (yet) a strategy for dealing with LTS of the app, and we just " +"say: \"we'll support every app version out there\"." +msgstr "" + +msgid "Include a feature flag on the whiteboarding phase" +msgstr "" + +msgid "Include deleting/retiring the feature flag at the end" +msgstr "" + +msgid "Avoid renaming a feature flag" +msgstr "" + +msgid "Use `:app-version` with `:min-version` instead" +msgstr "" + +msgid "And most importantly..." +msgstr "" + +msgid "***Always*** rely on a feature flag on the app" +msgstr "" + +msgid "Never do a hot fix, avoid expedited releases at all costs" +msgstr "" + +msgid "" +"The app is where we have less control, so the feature flag is how we get " +"some of that control back." +msgstr "" + +msgid "This doesn't mean you'll need 1 feature flag per PR" +msgstr "" + +msgid "" +"There's not such thing as: \"This is such a small thing, it doesn't need a " +"feature flag\"" +msgstr "" + +msgid "" +"You should ask yourself: \"It this crashes the app, am I OK with waiting for" +" the next release train?\"" +msgstr "" + +msgid "Thank you!" +msgstr "" + +msgid "References:" +msgstr "" + +msgid "" +"\"[Feature Toggles (aka Feature " +"Flags)](https://martinfowler.com/articles/feature-toggles.html)\", by Pete " +"Hodgson" +msgstr "" + +msgid "" +"\"[Continuous integration vs. continuous delivery vs. continuous " +"deployment](https://www.atlassian.com/continuous-" +"delivery/principles/continuous-integration-vs-delivery-vs-deployment)\", by " +"Sten Pittet" +msgstr "" + +msgid "" +"[Accelerate](https://itrevolution.com/book/accelerate/), by N. Forsgren, J. " +"Humble and G. Kim" +msgstr "" + +msgid "Weighting costs × benefits" +msgstr "" + +msgid "The less control we have, the more we value dynamicity" +msgstr "" + +msgid "backend: sometimes worth the cost" +msgstr "" + +msgid "frontend: almost always worth cost" +msgstr "" + +msgid "mobile: **always** worth cost" +msgstr "" + +msgid "title: Rollout, feature flag, experiment, operational toggle" +msgstr "" + +msgid "date: 2020-10-19" +msgstr "" + +msgid "layout: slides" +msgstr "" + +msgid "lang: en" +msgstr "" + +msgid "ref: rollout-feature-flag-experiment-operational-toggle" +msgstr "" + +msgid "" +"article: _articles/2020-10-19-feature-flags-differences-between-backend-" +"frontend-and-mobile.md" +msgstr "" + +msgid "" +"**rollout**: k8s blue/green, canary and ~~`common-rollout`~~ `common-xp`" +msgstr "" + +msgid "**feature flag**: ~~`common-rollout`~~ `common-xp` and datasets" +msgstr "" + +msgid "**operational toggle**: ~~`common-rollout`~~ `common-xp`" +msgstr "" + +msgid "Extend ~~`common-rollout`~~ `common-xp` if required" +msgstr "" + +#~ msgid "**rollout**: k8s blue/green, canary and `common-rollout`" +#~ msgstr "" + +#~ msgid "**feature flag**: `common-rollout` and datasets" +#~ msgstr "" + +#~ msgid "**operational toggle**: `common-rollout`" +#~ msgstr "" + +#~ msgid "Extend `common-rollout` if required" +#~ msgstr "" + +#~ msgid "" +#~ "title: Rollout, feature flag, experiment, operational toggle\n" +#~ "date: 2020-10-19\n" +#~ "layout: slides\n" +#~ "lang: en\n" +#~ "ref: rollout-feature-flag-experiment-operational-toggle" +#~ msgstr "" + +#~ msgid "these slides: [{{ site.tld }}/slides.html]({% link slides.md %})" +#~ msgstr "" + +#~ msgid "" +#~ "[prose version of this presentation]({% link _articles/2020-10-19-feature-" +#~ "flags-differences-between-backend-frontend-and-mobile.md %})" +#~ msgstr "" diff --git a/po/eo/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po b/po/eo/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po new file mode 100644 index 0000000..78298f6 --- /dev/null +++ b/po/eo/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po @@ -0,0 +1,166 @@ +# +msgid "" +msgstr "" + +msgid "" +"title: \"Datomic on global: good reasons for and against it\"\n" +"date: 2020-10-22\n" +"layout: slides\n" +"lang: en\n" +"ref: datomic-on-global-good-reasons-for-and-against-it\n" +"published: false" +msgstr "" + +msgid "Datomic on global" +msgstr "" + +msgid "**Good** reasons for and against it" +msgstr "" + +msgid "When creating a new service..." +msgstr "" + +msgid "...which is, in my opinion, a poor heuristic." +msgstr "" + +msgid "notifications vs toasty" +msgstr "" + +msgid "jurassic-park vs auth" +msgstr "" + +msgid "Thank you!" +msgstr "" + +msgid "References:" +msgstr "" + +msgid "these slides: [{{ site.tld }}/slides.html]({% link slides.md %})" +msgstr "" + +msgid "" +"[prose version of this presentation]({% link _articles/2020-10-22-datomic-" +"on-global-good-reasons-for-and-against-it.md %})" +msgstr "" + +msgid "Premise" +msgstr "" + +msgid "Datomic's bottleneck is **write** throughput, not read" +msgstr "" + +msgid "" +"(defn database-for-service\n" +" [service]\n" +" (let [prototype (prototype-for-service service)]\n" +" (if (= :global prototype)\n" +" :datomic\n" +" #{:dynamodb :redis :nothing})))\n" +msgstr "" + +msgid "" +"The deciding factor shouldn't be the prototype, but the **cardinality**" +msgstr "" + +msgid "" +" (defn database-for-service\n" +" [service]\n" +"- (let [prototype (prototype-for-service service)]\n" +"- (if (= :global prototype)\n" +"- :datomic\n" +"- #{:dynamodb :redis :nothing})))\n" +"+ (let [cardinality (cardinality-for-service service)]\n" +"+ (if (= :too-high cardinality)\n" +"+ #{:dynamodb :redis :nothing\n" +"+ :datomic))))\n" +msgstr "" + +msgid "" +"(defn database-for-service\n" +" [service]\n" +" (let [cardinality (cardinality-for-service service)]\n" +" (if (= :too-high cardinality)\n" +" #{:dynamodb :redis :nothing\n" +" :datomic))))\n" +msgstr "" + +msgid "But how to determine when the cardinality is" +msgstr "" + +msgid "**`:too-high`**?" +msgstr "" + +msgid "Let's think about the cardinality of existing services we know" +msgstr "" + +msgid "What is the cardinality of..." +msgstr "" + +msgid "savings-accounts" +msgstr "" + +msgid "inductor" +msgstr "" + +msgid "crebito" +msgstr "" + +msgid "diablo" +msgstr "" + +msgid "lost-boy?" +msgstr "" + +msgid "hook?" +msgstr "" + +msgid "ledger" +msgstr "" + +msgid "blackleach" +msgstr "" + +msgid "notification" +msgstr "" + +msgid "toasty" +msgstr "" + +msgid "auth" +msgstr "" + +msgid "waypoint" +msgstr "" + +msgid "jurassic-park" +msgstr "" + +msgid "Compare the database choice of services with similar cardinalities:" +msgstr "" + +msgid "Compare different cardinalities for services on global prototype:" +msgstr "" + +msgid "" +"Compare different cardinality for different services inside the same domain:" +msgstr "" + +msgid "savings-accounts -> blackleach -> diablo -> ledger" +msgstr "" + +msgid "" +"\"[Understanding Database " +"Sharding](https://www.digitalocean.com/community/tutorials/understanding-" +"database-sharding)\"" +msgstr "" + +#~ msgid "" +#~ "(defn prototype->database\n" +#~ " [prototype]\n" +#~ " (if (= :global prototype)\n" +#~ " :datomic\n" +#~ " #{:dynamodb :redis :nothing}))\n" +#~ msgstr "" + +#~ msgid "blackleach -> diablo -> ledger" +#~ msgstr "" diff --git a/po/eo/LC_MESSAGES/_slides/2020-10-22-graphql-for-bffs-navigating-the-trade-offs.slides.po b/po/eo/LC_MESSAGES/_slides/2020-10-22-graphql-for-bffs-navigating-the-trade-offs.slides.po new file mode 100644 index 0000000..4765ffb --- /dev/null +++ b/po/eo/LC_MESSAGES/_slides/2020-10-22-graphql-for-bffs-navigating-the-trade-offs.slides.po @@ -0,0 +1,237 @@ +# +msgid "" +msgstr "" + +msgid "" +"title: \"GraphQL for BFFs: navigating the trade-offs\"\n" +"date: 2020-10-22\n" +"layout: slides\n" +"lang: en\n" +"ref: graphql-for-bffs-navigating-the-trade-offs\n" +"published: false" +msgstr "" + +msgid "GraphQL for BFFs" +msgstr "" + +msgid "Navigating the trade-offs" +msgstr "" + +msgid "???" +msgstr "" + +msgid "slides já estão online, com sugestões incorporadas" +msgstr "" + +msgid "artigo online" +msgstr "" + +msgid "tupy: começar pelos slides é mais fácil" +msgstr "" + +msgid "Mobile is **hard**" +msgstr "" + +msgid "Immature ecosystem" +msgstr "" + +msgid "" +"Compared to desktop, browser and server ecosystem, which are many years " +"older." +msgstr "" + +msgid "iOS SDK released on 2008, which is:" +msgstr "" + +msgid "the same year Python 3.0 was released;" +msgstr "" + +msgid "" +"1 year after Clojure's release and 13 years after Java's and JavaScript's " +"release;" +msgstr "" + +msgid "10 years after GTK release" +msgstr "" + +msgid "Almost no competition" +msgstr "" + +msgid "Effectively a duopoly, better than a monopoly, but meh." +msgstr "" + +msgid "Closed, walled gardens." +msgstr "" + +msgid "Less competition, lower quality." +msgstr "" + +msgid "Compare to: browser ecosystem, desktop ecosystem" +msgstr "" + +msgid "Little to no control over the environment" +msgstr "" + +msgid "Bad on Android, worse on iOS." +msgstr "" + +msgid "Our usage of GraphQL" +msgstr "" + +msgid "History goes here" +msgstr "" + +msgid "savings: React Native, GraphQL, TypeScript, stormshield" +msgstr "" + +msgid "Proposal" +msgstr "" + +msgid "Adopt GraphQL as the default for BFFs" +msgstr "" + +msgid "Target" +msgstr "" + +msgid "**data fetching** and **chaining**" +msgstr "" + +msgid "It is not about:" +msgstr "" + +msgid "over fetching" +msgstr "" + +msgid "different clients with different data requirements" +msgstr "" + +msgid "Goal" +msgstr "" + +msgid "" +"Move **complexity** out of mobile to the backend, get more **dynamicity** " +"out of it ???" +msgstr "" + +msgid "The complexity doesn't vanish or shrink, it just shifts." +msgstr "" + +msgid "" +"https://media.tenor.com/images/ce1962c14da22c969e664560e098b2bc/tenor.gif" +msgstr "" + +msgid "Alternatives" +msgstr "" + +msgid "AKA, why not \"just use a RESTful BFF\"?" +msgstr "" + +msgid "REST" +msgstr "" + +msgid "It doesn't address JOINs" +msgstr "" + +msgid "Fulcro" +msgstr "" + +msgid "For 10 reasons for using GraphQL, 8~9 are shared for Fulcro." +msgstr "" + +msgid "The other 1~2 aren't so relevant:" +msgstr "" + +msgid "data > syntax: already false for Swift, Kotlin, Dart" +msgstr "" + +msgid "attributes > aggregates: already false for Swift, Kotlin, Dart" +msgstr "" + +msgid "Falcor" +msgstr "" + +msgid "SOAP" +msgstr "" + +msgid "Implications" +msgstr "" + +msgid "Invalid arguments" +msgstr "" + +msgid "\"GraphQL isn't RESTful\"" +msgstr "" + +msgid "🤷" +msgstr "" + +msgid "Similar to saying \"REST isn't GraphQL\"" +msgstr "" + +msgid "\"GraphQL has a bad caching story\"" +msgstr "" + +msgid "True, but we don't do HTTP caching" +msgstr "" + +msgid "\"query-params can be used for selection in a BFF with REST\"" +msgstr "" + +msgid "👎" +msgstr "" + +msgid "This isn't RESTful, and is an *ad-hoc* querying format" +msgstr "" + +msgid "\"over-fetching isn't a problem\"" +msgstr "" + +msgid "That is not the main reason for GraphQL" +msgstr "" + +msgid "\"library X for GraphQL is bad\"" +msgstr "" + +msgid "Valid arguments" +msgstr "" + +msgid "\"Throttling by query complexity is hard\"" +msgstr "" + +msgid "Lessons learned" +msgstr "" + +msgid "Error handling" +msgstr "" + +msgid "Takeaways" +msgstr "" + +msgid "None of the points are specific to Flutter" +msgstr "" + +msgid "GraphQL enables declarative **dynamicity**" +msgstr "" + +msgid "Thank you!" +msgstr "" + +msgid "References:" +msgstr "" + +msgid "" +"[prose version of this presentation]({% link _articles/2020-10-22-graphql-" +"for-bffs-navigating-the-trade-offs.md %})" +msgstr "" + +msgid "" +"\"[Clients in control: building demand-driven systems with Om " +"Next](https://www.youtube.com/watch?v=Zb18iPjDgwM)\", by António Nuno " +"Monteiro" +msgstr "" + +msgid "\"[Om Next](https://www.youtube.com/watch?v=MDZpSIngwm4)\", by David Nolen" +msgstr "" + +msgid "these slides: [{{ site.tld }}/slides.html]({% link slides.md %})" +msgstr "" diff --git a/po/eo/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po b/po/eo/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po new file mode 100644 index 0000000..e34f58e --- /dev/null +++ b/po/eo/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po @@ -0,0 +1,339 @@ +# +msgid "" +msgstr "" + +msgid "On local-first" +msgstr "" + +msgid "Beyond the CRDT silver bullet" +msgstr "" + +msgid "Part 1" +msgstr "" + +msgid "Exposition" +msgstr "" + +msgid "\"cloud apps\" vs \"old-fashined apps\"" +msgstr "" + +msgid "Target" +msgstr "" + +msgid "documents" +msgstr "" + +msgid "files" +msgstr "" + +msgid "personal data repositories" +msgstr "" + +msgid "" +"Not: banking services, e-commerce, social networking, ride-sharing, *etc*." +msgstr "" + +msgid "7 Ideals for local-first software" +msgstr "" + +msgid "1 - No Spinners: Your Work at Your Fingertips" +msgstr "" + +msgid "2 - Your Work Is Not Trapped on One Device" +msgstr "" + +msgid "3 - The Network Is Optional" +msgstr "" + +msgid "4 - Seamless Collaboration with Your Colleagues" +msgstr "" + +msgid "5 - The Long Now" +msgstr "" + +msgid "6 - Security and Privacy by Default" +msgstr "" + +msgid "7 - You Retain Ultimate Ownership and Control" +msgstr "" + +msgid "Towards a Better Future" +msgstr "" + +msgid "" +"CRDTs (Conflict-free Replicated Data Types) as a Foundational Technology" +msgstr "" + +msgid "Use case" +msgstr "" + +msgid "" +"# in node A and node B\n" +"s = \"Hello, World\"\n" +"\n" +"# in node A\n" +"s = \"Hello, Alice\"\n" +"\n" +"# in node B\n" +"s = \"Hello, Bob\"\n" +msgstr "" + +msgid "How to reconcile those?" +msgstr "" + +msgid "`Hello, ABloibce`" +msgstr "" + +msgid "`Hello, AliceBob`" +msgstr "" + +msgid "`Hello, BobAlice`" +msgstr "" + +msgid "`Hello, Alice`" +msgstr "" + +msgid "`Hello, Bob`" +msgstr "" + +msgid "Existing CRDTs differ:" +msgstr "" + +msgid "performance" +msgstr "" + +msgid "storage" +msgstr "" + +msgid "compression" +msgstr "" + +msgid "metadata overhead" +msgstr "" + +msgid "Hint towards the \"automerge\" CRDT" +msgstr "" + +msgid "*show comparison table, page 9*" +msgstr "" + +msgid "Part 2" +msgstr "" + +msgid "Critique" +msgstr "" + +msgid "Software license" +msgstr "" + +msgid "" +"In our opinion, maintaining control and ownership of data does not mean that" +" the software must necessarily be open source." +msgstr "" + +msgid "Example 1 - intentional restriction" +msgstr "" + +msgid "" +"#!/bin/sh\n" +"\n" +"TODAY=$(date +%s)\n" +"LICENSE_EXPIRATION=$(date -d 2020-10-27 +%s)\n" +"\n" +"if [ $TODAY -ge $LICENSE_EXPIRATION ]; then\n" +" echo 'License expired!'\n" +" exit 1\n" +"fi\n" +"\n" +"echo $((2 + 2))\n" +msgstr "" + +msgid "" +"# today\n" +"$ ./useful-adder.sh\n" +"4\n" +"# tomorrow\n" +"$ ./useful-adder.sh\n" +"License expired!\n" +msgstr "" + +msgid "Example 2 - unintentional restriction" +msgstr "" + +msgid "" +"# today\n" +"$ useful-program\n" +"# ...useful output...\n" +"\n" +"# tomorrow, with more data\n" +"$ useful-program\n" +"ERROR: Panic! Stack overflow!\n" +msgstr "" + +msgid "local-first **requires** free/libre software" +msgstr "" + +msgid "Otherwise \"The Long Now\" (ideal nº5) is lost" +msgstr "" + +msgid "Denial of existing solutions" +msgstr "" + +msgid "" +"In principle it is possible to collaborate without a repository service, " +"e.g. by sending patch files by email, but the majority of Git users rely on " +"GitHub." +msgstr "" + +msgid "Solution: either GitHub+CRDTs or `git` **`send-email`**" +msgstr "" + +msgid "Plain text formats" +msgstr "" + +msgid "Git is highly optimized for code and similar line-based text file" +msgstr "" + +msgid "It even pulls software to the plain text direction, e.g.:" +msgstr "" + +msgid "delivery-templates" +msgstr "" + +msgid "`common-core.protocols.config`" +msgstr "" + +msgid "Why not exploit that more?" +msgstr "" + +msgid "Ditching of web applications" +msgstr "" + +msgid "The architecture of web apps remains fundamentally server-centric" +msgstr "" + +msgid "" +"Disagree. Constrast [PouchDB](https://pouchdb.com/) with Android [Instant " +"Apps](https://developer.android.com/topic/google-play-instant)" +msgstr "" + +msgid "???" +msgstr "" + +msgid "Talk on dynamic content" +msgstr "" + +msgid "Costs are underrated" +msgstr "" + +msgid "backups" +msgstr "" + +msgid "maintanence" +msgstr "" + +msgid "Example: blog vs vlog" +msgstr "" + +msgid "Real-time collaboration a bit overrated" +msgstr "" + +msgid "" +"It is only possible on the presence of reliable, medium-quality network " +"connection" +msgstr "" + +msgid "X also works when inside an elevator, subway or plane!" +msgstr "" + +msgid "On CRDTs and developer experience" +msgstr "" + +msgid "" +"For an app developer, how does the use of a CRDT-based data layer compare to" +" existing storage layers like a SQL database, a filesystem, or CoreData? Is " +"a distributed system harder to write software for?" +msgstr "" + +msgid "Yes." +msgstr "" + +msgid "" +"See \"[A Note on Distributed " +"Computing](https://web.archive.org/web/20130116163535/http://labs.oracle.com/techrep/1994/smli_tr-94-29.pdf)\"" +msgstr "" + +msgid "Conclusion" +msgstr "" + +msgid "Why this is a \"paper I love\": it took offline-first and ran with it." +msgstr "" + +msgid "But a pinch of CRDT won't make the world local-first." +msgstr "" + +msgid "The tricky part is the end of the sentence: \"**in spite of the Cloud**\"." +msgstr "" + +msgid "Thank you!" +msgstr "" + +msgid "References:" +msgstr "" + +msgid "these slides: [{{ site.tld }}/slides.html]({% link slides.md %})" +msgstr "" + +msgid "" +"\"[Local-First Software: You Own Your Data, in spite of the " +"Cloud](https://martin.kleppmann.com/papers/local-first.pdf)\", by M. " +"Kleppmann, A. Wiggins, P. Van Hardenberg and M. F. McGranaghan" +msgstr "" + +msgid "" +"[The Morning Paper](https://blog.acolyer.org/2019/11/20/local-first-" +"software/) article" +msgstr "" + +msgid "title: 'On \"local-first\": beyond the CRDT silver bullet'" +msgstr "" + +msgid "date: 2020-10-26" +msgstr "" + +msgid "layout: slides" +msgstr "" + +msgid "lang: en" +msgstr "" + +msgid "ref: on-local-first-beyond-the-crdt-silver-bullet" +msgstr "" + +msgid "published: false" +msgstr "" + +msgid "" +"[prose version of this presentation]({% link _articles/2020-10-26-local-" +"first-software-you-own-your-data-in-spite-of-the-cloud-article-review.md %})" +msgstr "" + +msgid "" +"\"[A Note on Distributed " +"Computing](https://web.archive.org/web/20130116163535/http://labs.oracle.com/techrep/1994/smli_tr-94-29.pdf)\"," +" by J. Waldo, G. Wyant, A. Wollrath and S Kendall" +msgstr "" + +#~ msgid "" +#~ "title: 'On \"local-first\": beyond the CRDT silver bullet'\n" +#~ "date: 2020-10-26\n" +#~ "layout: slides\n" +#~ "lang: en\n" +#~ "ref: on-local-first-beyond-the-crdt-silver-bullet\n" +#~ "published: false" +#~ msgstr "" + +#~ msgid "" +#~ "[prose version of this presentation]({% link _articles/2020-10-26-on-local-" +#~ "first-beyond-the-crdt-silver-bullet.md %})" +#~ msgstr "" diff --git a/po/eo/LC_MESSAGES/_slides/2020-11-14-on-local-first-beyond-the-crdt-silver-bullet.slides.po b/po/eo/LC_MESSAGES/_slides/2020-11-14-on-local-first-beyond-the-crdt-silver-bullet.slides.po new file mode 100644 index 0000000..61a7485 --- /dev/null +++ b/po/eo/LC_MESSAGES/_slides/2020-11-14-on-local-first-beyond-the-crdt-silver-bullet.slides.po @@ -0,0 +1,330 @@ +# +msgid "" +msgstr "" + +msgid "title: 'On \"local-first\": beyond the CRDT silver bullet'" +msgstr "" + +msgid "date: 2020-11-14" +msgstr "" + +msgid "layout: slides" +msgstr "" + +msgid "lang: en" +msgstr "" + +msgid "ref: on-local-first-beyond-the-crdt-silver-bullet" +msgstr "" + +msgid "On local-first" +msgstr "" + +msgid "Beyond the CRDT silver bullet" +msgstr "" + +msgid "Part 1" +msgstr "" + +msgid "Exposition" +msgstr "" + +msgid "\"cloud apps\" vs \"old-fashioned apps\"" +msgstr "" + +msgid "Target" +msgstr "" + +msgid "documents" +msgstr "" + +msgid "files" +msgstr "" + +msgid "personal data repositories" +msgstr "" + +msgid "" +"Not: banking services, e-commerce, social networking, ride-sharing, *etc*." +msgstr "" + +msgid "7 Ideals for local-first software" +msgstr "" + +msgid "1 - No Spinners: Your Work at Your Fingertips" +msgstr "" + +msgid "2 - Your Work Is Not Trapped on One Device" +msgstr "" + +msgid "3 - The Network Is Optional" +msgstr "" + +msgid "4 - Seamless Collaboration with Your Colleagues" +msgstr "" + +msgid "5 - The Long Now" +msgstr "" + +msgid "6 - Security and Privacy by Default" +msgstr "" + +msgid "7 - You Retain Ultimate Ownership and Control" +msgstr "" + +msgid "Towards a Better Future" +msgstr "" + +msgid "" +"CRDTs (Conflict-free Replicated Data Types) as a Foundational Technology" +msgstr "" + +msgid "Use case" +msgstr "" + +msgid "" +"# in node A and node B\n" +"s = \"Hello, World\"\n" +"\n" +"# in node A\n" +"s = \"Hello, Alice\"\n" +"\n" +"# in node B\n" +"s = \"Hello, Bob\"\n" +msgstr "" + +msgid "How to reconcile those?" +msgstr "" + +msgid "`Hello, ABloibce`" +msgstr "" + +msgid "`Hello, AliceBob`" +msgstr "" + +msgid "`Hello, BobAlice`" +msgstr "" + +msgid "`Hello, Alice`" +msgstr "" + +msgid "`Hello, Bob`" +msgstr "" + +msgid "Existing CRDTs differ:" +msgstr "" + +msgid "performance" +msgstr "" + +msgid "storage" +msgstr "" + +msgid "compression" +msgstr "" + +msgid "metadata overhead" +msgstr "" + +msgid "Hint towards the \"automerge\" CRDT" +msgstr "" + +msgid "*show comparison table, page 9*" +msgstr "" + +msgid "Part 2" +msgstr "" + +msgid "Critique" +msgstr "" + +msgid "Software license" +msgstr "" + +msgid "" +"In our opinion, maintaining control and ownership of data does not mean that" +" the software must necessarily be open source." +msgstr "" + +msgid "Example 1 - intentional restriction" +msgstr "" + +msgid "" +"#!/bin/sh\n" +"\n" +"TODAY=$(date +%s)\n" +"LICENSE_EXPIRATION=$(date -d 2020-10-27 +%s)\n" +"\n" +"if [ $TODAY -ge $LICENSE_EXPIRATION ]; then\n" +" echo 'License expired!'\n" +" exit 1\n" +"fi\n" +"\n" +"echo $((2 + 2))\n" +msgstr "" + +msgid "" +"# today\n" +"$ ./useful-adder.sh\n" +"4\n" +"# tomorrow\n" +"$ ./useful-adder.sh\n" +"License expired!\n" +msgstr "" + +msgid "Example 2 - unintentional restriction" +msgstr "" + +msgid "" +"# today\n" +"$ useful-program\n" +"# ...useful output...\n" +"\n" +"# tomorrow, with more data\n" +"$ useful-program\n" +"ERROR: Panic! Stack overflow!\n" +msgstr "" + +msgid "Otherwise \"The Long Now\" (ideal nº5) is lost" +msgstr "" + +msgid "Denial of existing solutions" +msgstr "" + +msgid "" +"In principle it is possible to collaborate without a repository service, " +"e.g. by sending patch files by email, but the majority of Git users rely on " +"GitHub." +msgstr "" + +msgid "Solution: either GitHub+CRDTs or `git` **`send-email`**" +msgstr "" + +msgid "Plain text formats" +msgstr "" + +msgid "Git is highly optimized for code and similar line-based text file" +msgstr "" + +msgid "It even pulls software to the plain text direction, e.g.:" +msgstr "" + +msgid "delivery-templates" +msgstr "" + +msgid "`common-core.protocols.config`" +msgstr "" + +msgid "Why not exploit that more?" +msgstr "" + +msgid "Ditching of web applications" +msgstr "" + +msgid "The architecture of web apps remains fundamentally server-centric" +msgstr "" + +msgid "" +"Disagree. Contrast [PouchDB](https://pouchdb.com/) with Android [Instant " +"Apps](https://developer.android.com/topic/google-play-instant)" +msgstr "" + +msgid "???" +msgstr "" + +msgid "Talk on dynamic content" +msgstr "" + +msgid "Costs are underrated" +msgstr "" + +msgid "backups" +msgstr "" + +msgid "maintenance" +msgstr "" + +msgid "Example: blog vs vlog" +msgstr "" + +msgid "Real-time collaboration a bit overrated" +msgstr "" + +msgid "" +"It is only possible on the presence of reliable, medium-quality network " +"connection" +msgstr "" + +msgid "X also works when inside an elevator, subway or plane!" +msgstr "" + +msgid "On CRDTs and developer experience" +msgstr "" + +msgid "" +"For an app developer, how does the use of a CRDT-based data layer compare to" +" existing storage layers like a SQL database, a filesystem, or CoreData? Is " +"a distributed system harder to write software for?" +msgstr "" + +msgid "Yes." +msgstr "" + +msgid "" +"See \"[A Note on Distributed " +"Computing](https://web.archive.org/web/20130116163535/http://labs.oracle.com/techrep/1994/smli_tr-94-29.pdf)\"" +msgstr "" + +msgid "Conclusion" +msgstr "" + +msgid "Why this is a \"paper I love\": it took offline-first and ran with it." +msgstr "" + +msgid "But a pinch of CRDT won't make the world local-first." +msgstr "" + +msgid "The tricky part is the end of the sentence: \"**in spite of the Cloud**\"." +msgstr "" + +msgid "Thank you!" +msgstr "" + +msgid "References:" +msgstr "" + +msgid "" +"\"[Local-First Software: You Own Your Data, in spite of the " +"Cloud](https://martin.kleppmann.com/papers/local-first.pdf)\", by M. " +"Kleppmann, A. Wiggins, P. Van Hardenberg and M. F. McGranaghan" +msgstr "" + +msgid "" +"[The Morning Paper](https://blog.acolyer.org/2019/11/20/local-first-" +"software/) article" +msgstr "" + +msgid "" +"\"[A Note on Distributed " +"Computing](https://web.archive.org/web/20130116163535/http://labs.oracle.com/techrep/1994/smli_tr-94-29.pdf)\"," +" by J. Waldo, G. Wyant, A. Wollrath and S Kendall" +msgstr "" + +msgid "" +"article: _articles/2020-11-14-local-first-software-you-own-your-data-in-" +"spite-of-the-cloud-article-review.md" +msgstr "" + +msgid "local-first **requires** free software" +msgstr "" + +#~ msgid "local-first **requires** free/libre software" +#~ msgstr "" + +#~ msgid "these slides: [{{ site.tld }}/slides.html]({% link slides.md %})" +#~ msgstr "" + +#~ msgid "" +#~ "[prose version of this presentation]({% link _articles/2020-11-14-local-" +#~ "first-software-you-own-your-data-in-spite-of-the-cloud-article-review.md %})" +#~ msgstr "" |