{"componentChunkName":"component---src-templates-blog-post-tsx","path":"/october-19-dvc-heartbeat","result":{"data":{"markdownRemark":{"id":"3dbe8a77-f37b-5286-8495-7576fe241716","excerpt":"<h2>News and links</h2>\n<p>Autumn is a great season for new beginnings and there is so much we love about\nit this year. Here are some of the highlights:</p>…","html":"<h2>News and links</h2>\n<p>Autumn is a great season for new beginnings and there is so much we love about\nit this year. Here are some of the highlights:</p>\n<ul>\n<li>\n<p>Co-hosting our\n<a href=\"https://www.meetup.com/San-Francisco-Machine-Learning-Meetup/events/264846847/\">first ever meetup</a>!\nOur <a href=\"https://twitter.com/FullStackML\">Dmitry Petrov</a> partnering with\n<a href=\"https://www.linkedin.com/in/daniel-fischetti-4a6592bb/\">Dan Fischetti</a> from\n<a href=\"https://twitter.com/standardAI\">Standard Cognition</a> to discuss Open-source\ntools to version control Machine Learning models and experiments. The\nrecording is available now here.</p>\n<p><html><head></head><body><iframe width=\"100%\" height=\"315\" src=\"https://www.youtube-nocookie.com/embed/RHQXK7EC0jI?rel=0\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe></body></html></p>\n</li>\n<li><a href=\"https://blog.dataversioncontrol.com/dvc-org-for-hacktoberfest-2019-ce5320151a0c\">Getting ready for the Hacktoberfest</a>\nand having the whole team get together to pick up and label nice issues and be\nready to support the contributors.</li>\n<li>Discovering some really cool blogposts, talks and tutorials from our users all\nover the world: check\n<a href=\"https://blog.octo.com/mise-en-application-de-dvc-sur-un-projet-de-machine-learning/\">this blogpost in French</a>\nor\n<a href=\"https://jupyter-tutorial.readthedocs.io/de/latest/reproduce/dvc/init.html\">this tutorial in German</a>!</li>\n<li>Having great time working with a <a href=\"https://github.com/dashohoxha\">tech writer</a>\nbrought to us by the\n<a href=\"https://developers.google.com/season-of-docs\">Google Season of Docs</a> program.\nCheck out these\n<a href=\"https://dvc.org/doc/tutorials/interactive\">interactive tutorials</a> we’ve\ncreated together.</li>\n<li>Having hot internal discussion about Discord vs Slack support/community\nchannels. If you are on the edge like us, have a look at\n<a href=\"https://internals.rust-lang.org/t/exploring-new-communication-channels/7859\">this discussion</a>\nin the Rust community, so helpful.</li>\n<li>\n<p>Seeing <a href=\"https://twitter.com/FullStackML\">Dmitry Petrov</a> being really happy one\nday:</p>\n<p><html><head></head><body><blockquote class=\"twitter-tweet\" data-dnt=\"true\"><p lang=\"en\" dir=\"ltr\">.<a href=\"https://twitter.com/martinfowler\">@martinfowler</a>'s books and his website were always the source of programming wisdom 💎 His Refactoring book is the first book I recommend to developers.<br><br>Now they write about ML lifecycle and automation. I’m especially excited because they use <a href=\"https://twitter.com/DVCorg\">@DVCorg</a> that we’ve created. <a href=\"https://t.co/HwswZqjOsb\">https://t.co/HwswZqjOsb</a></p>— Dmitry Petrov (@FullStackML) <a href=\"https://twitter.com/FullStackML/status/1169403554290814976\">September 5, 2019</a></blockquote></body></html></p>\n</li>\n</ul>\n<html><head></head><body><hr></body></html>\n<p>We at <a href=\"https://dvc.org\">DVC.org</a> are so happy every time we discover an article\nfeaturing DVC or addressing one of the burning ML issues we are trying to solve.\nHere are some of the links that caught our eye past month:</p>\n<ul>\n<li><strong>Continuous Delivery for Machine Learning by\n<a href=\"https://twitter.com/dtsato\">Danilo Sato</a>,\n<a href=\"https://twitter.com/arifwider\">Arif Wider</a>,\n<a href=\"https://twitter.com/intellification\">Christoph Windheuser</a> and curated by\n<a href=\"https://martinfowler.com/\">Martin Fowler</a>.</strong></li>\n</ul>\n<blockquote>\n<p>As Machine Learning techniques continue to evolve and perform more complex\ntasks, so is evolving our knowledge of how to manage and deliver such\napplications to production. By bringing and extending the principles and\npractices from Continuous Delivery, we can better manage the risks of\nreleasing changes to Machine Learning applications in a safe and reliable way.</p>\n</blockquote>\n<p><html><head></head><body><html><head></head><body><section class=\"elp-content-holder\">\n      <a href=\"https://martinfowler.com/articles/cd4ml.html\" class=\"external-link-preview\">\n          <div class=\"elp-description-holder\">\n            <h4 class=\"elp-title\">Continuous Delivery for Machine Learning</h4>\n            <div class=\"elp-description\">bio I am a consultant at ThoughtWorks Germany, where I am leading our data and machine learning activities. I enjoy…</div>\n            <div class=\"elp-link\">martinfowler.com</div>\n          </div>\n           <div class=\"elp-image-holder\">\n                <img src=\"/uploads/images/2019-11-05/continuous-delivery-for-machine-learning.png\" alt=\"Continuous Delivery for Machine Learning\">\n            </div>\n      </a>\n    </section>\n    </body></html></body></html></p>\n<ul>\n<li><strong><a href=\"https://medium.com/signaturit-tech-blog/the-path-to-identity-validation-2-3-4f698b2ffae9\">The Path to Identity Validation</a>\nby <a href=\"https://medium.com/@victor.segura\">Víctor Segura</a>.</strong></li>\n</ul>\n<blockquote>\n<p>So, the first question is clear: how to choose the optimal hardware for neural\nnetworks? Secondly, assuming that we have the appropriate infrastructure, how\nto build the machine learning ecosystem to train our models efficiently and\nnot die trying? At <strong>Signaturit</strong>, we have the solution ;)</p>\n</blockquote>\n<p><html><head></head><body><html><head></head><body><section class=\"elp-content-holder\">\n      <a href=\"https://medium.com/signaturit-tech-blog/the-path-to-identity-validation-2-3-4f698b2ffae9\" class=\"external-link-preview\">\n          <div class=\"elp-description-holder\">\n            <h4 class=\"elp-title\">The Path to Identity Validation (2/3)</h4>\n            <div class=\"elp-description\">How to start your own machine learning project?</div>\n            <div class=\"elp-link\">medium.com</div>\n          </div>\n           <div class=\"elp-image-holder\">\n                <img src=\"/uploads/images/2019-11-05/the-path-to-identity-validation.jpeg\" alt=\"The Path to Identity Validation (2/3)\">\n            </div>\n      </a>\n    </section>\n    </body></html></body></html></p>\n<ul>\n<li><strong>Talk:\n<a href=\"https://pretalx.com/pyconuk-2019/talk/GCLBFH/\">Managing Big Data in Machine Learning projects</a>\nby <a href=\"https://twitter.com/vvasworld\">V Vishnu Anirudh</a> at the\n<a href=\"https://2019.pyconuk.org/\">Pycon UK 2019.</a></strong></li>\n</ul>\n<blockquote>\n<p>My talk will focus on Version Control Systems (VCS) for big-data projects.\nWith the advent of Machine Learning (ML) , the development teams find it\nincreasingly difficult to manage and collaborate on projects that deal with\nhuge amounts of data and ML models apart from just source code.</p>\n</blockquote>\n<p><html><head></head><body><iframe width=\"100%\" height=\"315\" src=\"https://www.youtube-nocookie.com/embed/4XpHk85_x0E?rel=0\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe></body></html></p>\n<ul>\n<li><strong>Podcast: TWIML Talk #295\n<a href=\"https://twimlai.com/twiml-talk-295-managing-deep-learning-experiments-with-lukas-biewald/\">Managing Deep Learning Experiments</a>\nwith <a href=\"https://twitter.com/l2k\">Lukas Biewald</a></strong></li>\n</ul>\n<blockquote>\n<p>Seeing a need for reproducibility in deep learning experiments, Lukas founded\nWeights &#x26; Biases. In this episode we discuss his experiment tracking tool, how\nit works, the components that make it unique in the ML marketplace and the\nopen, collaborative culture that Lukas promotes. Listen to Lukas delve into\nhow he got his start in deep learning experiments, what his experiment\ntracking used to look like, the current Weights &#x26; Biases business success\nstrategy, and what his team is working on today.</p>\n</blockquote>\n<p><html><head></head><body><html><head></head><body><section class=\"elp-content-holder\">\n      <a href=\"https://twimlai.com/twiml-talk-295-managing-deep-learning-experiments-with-lukas-biewald/\" class=\"external-link-preview\">\n          <div class=\"elp-description-holder\">\n            <h4 class=\"elp-title\">Managing Deep Learning Experiments with Lukas Biewald — Talk #295</h4>\n            <div class=\"elp-description\">Today we are joined by Lukas Biewald, CEO and Co-Founder of Weights &#x26; Biases. Lukas, previously CEO and Founder of…</div>\n            <div class=\"elp-link\">twimlai.com</div>\n          </div>\n           <div class=\"elp-image-holder\">\n                <img src=\"/uploads/images/2019-11-05/managing-deep-learning-experiments.jpeg\" alt=\"Managing Deep Learning Experiments with Lukas Biewald — Talk #295\">\n            </div>\n      </a>\n    </section>\n    </body></html></body></html></p>\n<html><head></head><body><hr></body></html>\n<h2>Discord gems</h2>\n<p>There are lots of hidden gems in our Discord community discussions. Sometimes\nthey are scattered all over the channels and hard to track down.</p>\n<p>We are sifting through the issues and discussions and share with you the most\ninteresting takeaways.</p>\n<h3>Q: I’ve just run a <html><head></head><body><code class=\"language-text\">dvc run</code></body></html> step, and realised I forgot to declare an output file. <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/593743448020877323\">Is there a way to add an output file without rerunning the (computationally expensive) step/stage?</a></h3>\n<p>If you’ve already ran it, you could just open created DVC-file with an editor\nand add an entry to the outs field. After that, just run <html><head></head><body><code class=\"language-text\">dvc commit my.dvc</code></body></html> and\nit will save the checksums and data without re-running your command.\n<html><head></head><body><code class=\"language-text\">dvc run --no-exec</code></body></html> would also work with commit instead of modifying the\nDVC-file by hand.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/593869598651318282\">For metric files do I have to use dvc run to set a metric or can I do it some other way?</a> Can I use metrics functionality without the need to setup and manage DVC cache and remote storage?</h3>\n<p>Any file that is under DVC control (e.g. added with <html><head></head><body><code class=\"language-text\">dvc add</code></body></html> or an output in\n<html><head></head><body><code class=\"language-text\">dvc run -o</code></body></html>) can be made a metric file with dvc metrics add file. Alternatively\na command <html><head></head><body><code class=\"language-text\">dvc run -M</code></body></html> file makes file a metric without caching it. It means dvc\nmetrics show can be used while file is still versioned by Git.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/595586670498283520\">Is there a way not to add the full (Azure) connection string to the .dvc/config file that is being checked into Git for using dvc remotes</a>? I think it’s quite unhealthy to have secrets checked in SCM.</h3>\n<p>There are two options — use <html><head></head><body><code class=\"language-text\">AZURE_STORAGE_CONNECTION_STRING</code></body></html> environment\nvariable or use <html><head></head><body><code class=\"language-text\">--local</code></body></html> flag that will put it into the <html><head></head><body><code class=\"language-text\">.dvc/config.local</code></body></html>\nthat is added to the <html><head></head><body><code class=\"language-text\">.gitignore</code></body></html>, so you don’t track it with it and so won’t\nexpose secrets.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/601068667131920385\">I would like to know if it is possible to manage files under DVC whilst keeping them in their original locations (e.g. on a network drive in a given folder structure)</a>? <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/615278138896941101\">If I want to add a large file to be tracked by DVC, and it is in a bucket on S3 or GCS, can I do that without downloading it locally?</a></h3>\n<p>Yes, you are probably looking for external dependencies and outputs. This is the\n<a href=\"https://dvc.org/doc/user-guide/managing-external-data\">link</a> to the\ndocumentation to start.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/606388040377565215\">How do I setup DVC so that NAS (e.g. Synology) acts as a shared DVC cache?</a></h3>\n<p>Using NAS (e.g. NFS) is a very common scenario for DVC. In short you use\n<html><head></head><body><code class=\"language-text\">dvc cache dir</code></body></html> to setup a cache externally. Set cache type to use symlinks and\nenable protected mode. We are preparing a\n<a href=\"https://github.com/iterative/dvc.org/blob/31c5d424c6530bb793af69c2af578d2b8a374d02/static/docs/use-cases/shared-storage-on-nfs.md\">document</a>\nhow to setup the NFS as a shared cache, but I think it can be applied to any\nNAS.</p>\n<h3>Q: So I have some data that is in the hundreds of gigs. <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/608013531010301952\">If I enable symlink, hardlink strategy and cache protecting, will DVC automatically choose this strategy over copying when trying to use dvc add</a>?</h3>\n<p>Yes, it will! Here is some clarification. So when you set those settings like\nthat, <html><head></head><body><code class=\"language-text\">dvc add</code></body></html> data will move data to your cache and then will create a\nhardlink from your cache to your workspace.</p>\n<p>Unless your cache directory and your workspace are on different file systems,\nmove should be instant. Please, find more information\n<a href=\"https://dvc.org/doc/user-guide/large-dataset-optimization\">here</a>.</p>\n<h3>Q: My repo’s DVC is “busy and locked” and I’m not sure how it got that way and how to remove/diagnose the lock. <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/608392956679815168\">Any suggestions?</a></h3>\n<p>DVC uses a lock file to prevent running two commands at the same time. The lock\n<a href=\"https://dvc.org/doc/user-guide/dvc-files-and-directories#dvc-files-and-directories\">file</a>\nis under the <html><head></head><body><code class=\"language-text\">.dvc</code></body></html> directory. If no DVC commands running and you are still\ngetting this error it’s safe to remove this file manually to resolve the issue.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/611209851757920266\">I’m trying to understand how does DVC remote add work in case of a local folder and what is the best workflow when data is outside of your project root?</a></h3>\n<p>When using DVC, in most cases we assume that your data will be somewhere under\nproject root. There is an option to use so called\n<a href=\"https://dvc.org/doc/user-guide/managing-external-data\">external dependencies</a>,\nwhich is data that is usually too big to be stored under your project root, but\nif you operate on data that is of some reasonable size, I would recommend\nstarting with putting data somewhere under project root. Remotes are usually\nplaces where you store your data, but it is DVC task to move your data around.\nBut if you want to keep your current setup where you will have data in different\nplace than your project, you will need to refer to data with full paths. So, for\nexample:</p>\n<ol>\n<li>You are in <html><head></head><body><code class=\"language-text\">/home/gabriel/myproject</code></body></html> and you have initialized dvc and git\nrepository</li>\n<li>You have <html><head></head><body><code class=\"language-text\">featurize.py</code></body></html> in your project dir, and want to use data to produce\nsome features and than <html><head></head><body><code class=\"language-text\">train.py</code></body></html> to train a model.</li>\n<li>Run the command:</li>\n</ol>\n<html><head></head><body><div class=\"gatsby-highlight\" data-language=\"dvc\"><pre class=\"language-dvc\"><code class=\"language-dvc\"><span class=\"token line\"><span class=\"token input\">$ </span><span class=\"token dvc\">dvc run</span> -d /research_data/myproject/videos <span class=\"token punctuation\">\\</span>\n          -o /research_data/myproject/features <span class=\"token punctuation\">\\</span>\n          python featurize.py</span></code></pre></div></body></html>\n<p>to tell DVC, that you use <html><head></head><body><code class=\"language-text\">/research_data/myproject/videos</code></body></html> to featurize, and\nproduce output to your features dir. Note that your code should be aware of\nthose paths, they can be hardcoded inside <html><head></head><body><code class=\"language-text\">featurize.py</code></body></html>, but point of <html><head></head><body><code class=\"language-text\">dvc run</code></body></html>\nis just to tell DVC what artifacts belong to currently defined step of ML\npipeline.</p>\n<h3>Q: When I run <html><head></head><body><code class=\"language-text\">du</code></body></html> command to check how much space DVC project consumes I see that it duplicates/copies data. <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/613935477896249364\">It’s very space and time consuming to copy large data files, is there a way to avoid that?</a> It takes too long to add large files to DVC.</h3>\n<p>Yes! You don’t have to copy files with DVC. First of all, there are two reasons\nwhen du can show that it takes double the space to store data under DVC control.\ndu can be inaccurate when the underlying file system supports reflinks (XFS on\nLinux, APFS on Mac, etc). This is actually the best scenario since no copying is\nhappening and no changes are required to any DVC settings. Second, case means\nthat copy semantics is used by default. It can be turned off by providing cache\ntype <html><head></head><body><code class=\"language-text\">symlinks</code></body></html>, <html><head></head><body><code class=\"language-text\">hardlinks</code></body></html>. Please, read more on this\n<a href=\"https://dvc.org/doc/user-guide/large-dataset-optimization#file-link-types-for-the-dvc-cache\">here</a>.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/615479227189559323\">How can I detach a file from DVC control?</a></h3>\n<p>Just removing the corresponding DVC-file and running <html><head></head><body><code class=\"language-text\">dvc gc</code></body></html> after that should\nbe enough. It’ll stop tracking the data file and clean the local cache that\nmight still contain it. Note! Don’t forget to run <html><head></head><body><code class=\"language-text\">dvc unprotect</code></body></html> if you use\nadvanced<a href=\"https://dvc.org/doc/user-guide/large-dataset-optimization\"> DVC setup with symlinks and hardlinks</a>\n(<html><head></head><body><code class=\"language-text\">cache.type</code></body></html> config option is not default). If <html><head></head><body><code class=\"language-text\">dvc gc</code></body></html> behavior is not\ngranular enough you can manually find the by its cache from the DVC-file in\n<html><head></head><body><code class=\"language-text\">.dvc/cache</code></body></html> and remote storage. Learn\n<a href=\"https://dvc.org/doc/user-guide/dvc-files-and-directories#structure-of-cache-directory\">here</a>\nhow they are organized.</p>\n<h3>Q: <a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/621057268145848340\">I’m trying to understand if DVC is an appropriate solution for storing data under GDPR requirements.</a> That means that permanent deletion of files with sensitive data needs to be fully supported.</h3>\n<p>Yes, in this sense DVC is not very different from using bare S3, SSH or any\nother storage where you can go and just delete data. DVC can give a bit of\noverhead to locate a specific file to delete, but otherwise it’s all the same\nyou will be able to delete any file you want. See more details on how you\nretrospectively can edit directories under DVC control\n<a href=\"https://discordapp.com/channels/485586884165107732/485596304961962003/621062105524862987\">here</a>.</p>\n<html><head></head><body><hr></body></html>\n<p>If you have any questions, concerns or ideas, let us know in the comments below\nor connect with DVC team <a href=\"https://dvc.org/support\">here</a>. Our\n<a href=\"https://twitter.com/DVCorg\">DMs on Twitter</a> are always open, too.</p>","timeToRead":11,"fields":{"slug":"/october-19-dvc-heartbeat"},"frontmatter":{"title":"October ’19 DVC❤️Heartbeat","date":"November 05, 2019","description":"Every month we are sharing here our news, findings, interesting reads,\ncommunity takeaways, and everything along the way.\n","descriptionLong":"Every month we are sharing here our news, findings, interesting reads,\ncommunity takeaways, and everything along the way.\nSome of those are related to our brainchild DVC and its journey. The others\nare a collection of exciting stories and ideas centered around ML best\npractices and workflow.\n","tags":["Meetup","Heartbeat","Hacktoberfest","DVC"],"commentsUrl":"https://discuss.dvc.org/t/october-19-dvc-heartbeat/285","author":{"childMarkdownRemark":{"frontmatter":{"name":"Svetlana Grinchenko","avatar":{"childImageSharp":{"fixed":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIDBQT/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAHRz7x3qhnQCoH/xAAaEAACAwEBAAAAAAAAAAAAAAABAgMEMxIU/9oACAEBAAEFArBJZ0aqyN0s+trCvhYchTKzj0SRD//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB0QAAICAgMBAAAAAAAAAAAAAAECABExQQMSIVH/2gAIAQEABj8CXiVuvbcDK9jYMDDcRyLBFTHpIixRflQjAHyBVwJ//8QAGxABAAMAAwEAAAAAAAAAAAAAAQARQSExUXH/2gAIAQEAAT8ht1LLoIkF4B6wLgOVH8uRVjiTT5AoqBr2L1odagwijiyf/9oADAMBAAIAAwAAABBjDwD/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAeEAACAwADAAMAAAAAAAAAAAABEQAhMUFRYXGBkf/aAAgBAQABPxCmAzsDr5hIjqwzzzqjPahi5r8IQVrj2MCG47GtJ+o5KCJ7t+zbocIBE8rYP/mqRYTv5EF8QZIHU//Z","width":40,"height":40,"src":"/static/fcc8502faa36f9a989fa0651c3c21653/d83e5/svetlana_grinchenko.jpg","srcSet":"/static/fcc8502faa36f9a989fa0651c3c21653/d83e5/svetlana_grinchenko.jpg 1x,\n/static/fcc8502faa36f9a989fa0651c3c21653/58860/svetlana_grinchenko.jpg 1.5x,\n/static/fcc8502faa36f9a989fa0651c3c21653/90ac5/svetlana_grinchenko.jpg 2x","srcWebp":"/static/fcc8502faa36f9a989fa0651c3c21653/e145b/svetlana_grinchenko.webp","srcSetWebp":"/static/fcc8502faa36f9a989fa0651c3c21653/e145b/svetlana_grinchenko.webp 1x,\n/static/fcc8502faa36f9a989fa0651c3c21653/0d42c/svetlana_grinchenko.webp 1.5x,\n/static/fcc8502faa36f9a989fa0651c3c21653/f46db/svetlana_grinchenko.webp 2x"}}}}}},"picture":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAACjElEQVQozw3NWW/SAAAA4P4cX8yM02mG3EfpQW9aWmhpoaVABxvXOAwDBozDDR1ucxfTJZtKpibGp8Uj0cXN6F40Jib6sOiTP0O/P/ABubJBkoElPHiRDn7u6eVBs7PWOnv/dHtzOaImEDcZZ+VIxGB5RaAFzI71ieBFint7J9Xs3QaebRXEYiXJK6c5obdSH++3373cHh+s04GIJqtB2L9Hh35mhZSmWG6haSf+QQn9rgul5XaiUgY215qddjmkxq1uklaNaL3VHa6o8ZlAIMygTB5kvyelr3VpoVEVMqWGoP4tcK/6xm5DXVvKA88PBzuDBSWs+nEWm3L22ZDI8HaQcVhhxoK8EMQ/JX+jWxv2Sg91WI4oCY6bzc82O5WNVga4u5hBaYnC/IQTqXqobwpxVJLgsOYwgT2E+aGT42qU7w563eJrwz0oqj5K9FjgEC1KIRlg/EEcoSC7VzSBxwH6TZo56Ej3m5qdTwwZ5ixLFcqF9XnlKIXv77b9rJSUpKAD2cOokxgBYA7w+pVbnqvmDYT4ovvq2dgoQXQqM7KuuyAKgTAyYswr3Eh2+9kAS3C8Fyu68PMY96uMAelM3Ab7y07kVIDGWbavMS2FHW20m8UUxwpWk9s37dY5CSJ5HGUgB8xMex7RzMUsslUKAwsrDd5ICCg9konDRf5JTVztVpYbeZuH9Hkx1OrJmMFPQfieSl5zYNaJ6bwNPhF9x2k0nIkDrdpMaU5mOfryDQ+EU7CsxbSoDyVcbhR2evFJ22MC+6hD3bIqzqWcIDOEkfOoqz9HPehEgWo+utPPxRURcXknLk3iN+2Q2WuygKYp6/+n5YZPRc9qTmhEuWY+aWVlyAoaXrOmUd2a8Q+8Wg6azLqIfwAAAABJRU5ErkJggg==","aspectRatio":1.7911813643926788,"src":"/static/acf6fc572e556237fc9034abc2f70772/286b3/post-image.png","srcSet":"/static/acf6fc572e556237fc9034abc2f70772/1f44b/post-image.png 213w,\n/static/acf6fc572e556237fc9034abc2f70772/3e433/post-image.png 425w,\n/static/acf6fc572e556237fc9034abc2f70772/286b3/post-image.png 850w,\n/static/acf6fc572e556237fc9034abc2f70772/9a739/post-image.png 1275w,\n/static/acf6fc572e556237fc9034abc2f70772/c47cc/post-image.png 1700w,\n/static/acf6fc572e556237fc9034abc2f70772/1c789/post-image.png 2153w","srcWebp":"/static/acf6fc572e556237fc9034abc2f70772/5c1d9/post-image.webp","srcSetWebp":"/static/acf6fc572e556237fc9034abc2f70772/99b2d/post-image.webp 213w,\n/static/acf6fc572e556237fc9034abc2f70772/23220/post-image.webp 425w,\n/static/acf6fc572e556237fc9034abc2f70772/5c1d9/post-image.webp 850w,\n/static/acf6fc572e556237fc9034abc2f70772/5e720/post-image.webp 1275w,\n/static/acf6fc572e556237fc9034abc2f70772/35cfd/post-image.webp 1700w,\n/static/acf6fc572e556237fc9034abc2f70772/9c175/post-image.webp 2153w","sizes":"(max-width: 850px) 100vw, 850px","presentationWidth":850}}},"pictureComment":null}}},"pageContext":{"next":{"fields":{"slug":"/november-19-dvc-heartbeat"},"frontmatter":{"title":"November ’19 DVC❤️Heartbeat"}},"previous":{"fields":{"slug":"/dvc-org-for-hacktoberfest-2019"},"frontmatter":{"title":"DVC.org for Hacktoberfest 2019"}},"currentPage":6,"slug":"/october-19-dvc-heartbeat"}}}