aboutsummaryrefslogtreecommitdiff
path: root/locale/pt/LC_MESSAGES/_slides
diff options
context:
space:
mode:
Diffstat (limited to 'locale/pt/LC_MESSAGES/_slides')
-rw-r--r--locale/pt/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po55
-rw-r--r--locale/pt/LC_MESSAGES/_slides/2020-10-22-graphql-for-bffs-navigating-the-trade-offs.slides.po237
-rw-r--r--locale/pt/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po310
3 files changed, 602 insertions, 0 deletions
diff --git a/locale/pt/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po b/locale/pt/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po
new file mode 100644
index 0000000..9d17530
--- /dev/null
+++ b/locale/pt/LC_MESSAGES/_slides/2020-10-22-datomic-on-global-good-reasons-for-and-against-it.slides.po
@@ -0,0 +1,55 @@
+#
+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 ""
+"(defn prototype->database\n"
+" [prototype]\n"
+" (if (= :global prototype)\n"
+" :datomic\n"
+" #{:dynamodb :redis :nothing}))\n"
+msgstr ""
+
+msgid "...which is, in my opinion, a poor heuristic."
+msgstr ""
+
+msgid "notifications vs toasty"
+msgstr ""
+
+msgid "jurassic-park vs auth"
+msgstr ""
+
+msgid "blackleach -> diablo -> ledger"
+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 ""
diff --git a/locale/pt/LC_MESSAGES/_slides/2020-10-22-graphql-for-bffs-navigating-the-trade-offs.slides.po b/locale/pt/LC_MESSAGES/_slides/2020-10-22-graphql-for-bffs-navigating-the-trade-offs.slides.po
new file mode 100644
index 0000000..49ae9f3
--- /dev/null
+++ b/locale/pt/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 "these slides: FIXME [{{ site.tld }}/slides.html]({% link slides.md %})"
+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 ""
diff --git a/locale/pt/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po b/locale/pt/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po
new file mode 100644
index 0000000..3ed5049
--- /dev/null
+++ b/locale/pt/LC_MESSAGES/_slides/2020-10-26-on-local-first-beyond-the-crdt-silver-bullet.slides.po
@@ -0,0 +1,310 @@
+#
+msgid ""
+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 "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 ""
+"[prose version of this presentation]({% link _articles/2020-10-26-on-local-"
+"first-beyond-the-crdt-silver-bullet.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 ""