diff --git a/content/authors/marcel_rd.md b/content/authors/marcel_rd.md new file mode 100644 index 0000000000..6a91b237ff --- /dev/null +++ b/content/authors/marcel_rd.md @@ -0,0 +1,14 @@ +--- +name: Marcel Ribeiro-Dantas +avatar: marcel.jpg +--- + +Early Stage Researcher at [Institut Curie](https://intstitut-curie.org) with +over 10 years of experience in the field of biomedical engineering and health +informatics. Areas of interest include Causal Inference, Artificial +Intelligence, and Data Science. Degrees in Computer and Automation Engineering +(Eng), Big Data (Grad degree), and Bioinformatics (MSc). Currently enrolled in a +Ph.D. at EDITE (Sorbonne Université). + +Twitter: [@mribeirodantas](https://twitter.com/mribeirodantas) Website: +[mribeirodantas.me](https://mribeirodantas.me) diff --git a/content/blog/2020-05-08-dvc-ambassador-program-announcement.md b/content/blog/2020-05-08-dvc-ambassador-program-announcement.md new file mode 100644 index 0000000000..c057c3e696 --- /dev/null +++ b/content/blog/2020-05-08-dvc-ambassador-program-announcement.md @@ -0,0 +1,163 @@ +--- +title: 'Join the DVC Ambassador Program!' +date: 2020-05-08 +description: | + We're launching our ambassador program for people all around the world to get involved in + the DVC community. +descriptionLong: | + We're launching our ambassador program for people all around the world to get involved in + the DVC community. Our first ambassador, Marcel Ribeiro-Dantas, shares a guest blog about + how ambassadors support open source projects through blog writing, public outreach, and code. +picture: 2020-05-08/Ambassador_Header.png +author: marcel_rd +commentsUrl: https://discuss.dvc.org/t/join-the-dvc-ambassador-program/383 +tags: + - Ambassador + - Volunteer + - Meetup + - Blogging +--- + +DVC's software can be everywhere, but its developers can’t - that’s why +ambassadors, folks who do outreach and community building around projects they +love, are a key part of the open source community. DVC is starting an ambassador +program to help people who are passionate about our mission get involved. + +As the first DVC ambassador, and a +[Fedora ambassador](https://fedoraproject.org/wiki/User:Mribeirodantas) before +that, I can tell you a bit about the role. As a representative of open source +projects, I've participated in lots of events, made friends, and traveled. Every +single time I’ve contributed, I got this nice feeling that it was all worth it. +I believe that if you agree with the core values of the project, a great +relationship lies ahead :). + +So what are the core values of DVC, exactly? DVC is founded on the principle of +engineering solutions for making data science and machine learning rigorous and +reproducible. If this matters to you, too, you might be a good fit for our +ambassador program! + +As an ambassador, you’ll act as a bridge between DVC in your community. There +are lots of ways to do this, big and small. For example: + +- Write a blog post talking about how you use DVC in your projects +- What about creating a network of DVC users and data scientists in your town? + Even though we’re self-isolating now, you can still organize online meetups. + [We already did one!](https://tulu.la/events/dvc-virtual-meetup-2020-00032c) + We help cover costs to organize meetups. +- Do you want to talk about DVC at your office, or at a conference? We help + speakers develop talks, and we have some discretionary funds for travel on a + case-by-case basis. +- Want to develop a feature for DVC? We welcome contributions to the code base, + even if it’s your first pull request ever. + +Being an ambassador means getting closer to the team in charge of DVC, but at +the same time, it means going farther to reach people outside the organization- +including people who don’t know about DVC yet, people who need some help getting +started, and people who are already excited about our mission and want to find +meaningful ways to pitch in. + +## About Iterative and DVC + +DVC got started in 2017 as a personal project by Dmitry Petrov ( +[we just celebrated our 3rd birthday](https://dvc.org/blog/dvc-3-years-and-1-0-release)). +Previously, Dmitry worked at Microsoft as a data scientist and did a PhD in +Computer Science. In 2018, Dmitry teamed up with his co-founder Ivan Shcheklein +(co-founder of [The Tweeted Times](https://tweetedtimes.com/) and +[Sedna](https://www.sedna.org/) contributor) to incorporate Iterative.ai and +grow the project. Iterative.ai is building enterprise tools for collaboration on +ML projects. Currently, Iterative.ai's open source flagship project is Data +Version Control (DVC), an open source version control system for managing +complex workflows, datasets, and models. + +Development is ongoing in the core DVC project as well as new ventures into +[MLOps and Continuous Integration & Delivery (CI/CD)](https://dvc.org/blog/reimagining-devops-video) +for data science. The team is small-and-mighty, with developers, engineers, and +data scientists on four continents. The open source community is a huge part of +all Iterative.ai projects; currently, DVC has more than +[5,000 stars on GitHub](https://github.com/iterative/dvc) and more than 100 +individual contributors! + +One of DVC’s main principles is adapting existing software engineering practices +to machine learning. For example, DVC is built around Git version control: in an +ML project using DVC, each experiment corresponds to a Git commit. When you +check out any commit, you’ll see the source code as it was when you made the +commit- as expected. But, you’ll also see your datasets as they were and the +exact pipeline of commands you ran in that experiment! + +## How to become an ambassador + +If you’re interested in becoming an ambassador, send us an email at +[info@dvc.org](mailto:info@dvc.org) with the subject line “I want to be an +ambassador!” Please tell us: + +- A little about yourself and your professional background +- Any outreach work you’ve done before +- What kind of ambassador activities you’d be most interested in participating + in + +The program is structured to provide a lot of flexibility, so each ambassador +can do outreach in ways that are personally motivating and enjoyable. There are +a few guidelines: + +- We ask for at least one-year commitment +- We ask ambassadors to contribute at least four activities per year, about once + every three months. There's no upper limit to how much you can do! +- For your first contribution, we ask for a blog post- this way, we can + collaborate with you to help get all the technical details right. After that, + it’s up to you! + +## Some ideas to get started + +Our official ambassador program is just starting, but our community already has +a lot of folks making noise. Here are just a few contributions we admire- we +think they’re pretty cool inspirations for future projects. + +### Blogs and tutorials + +Shareable blogs are one of our most effective outreach strategies. They give +visibility to the author _and_ new ways to use DVC, so it's a win-win. + +- [Remote training with GitLab-CI and DVC](https://blog.codecentric.de/en/2020/01/remote-training-gitlab-ci-dvc/), + by Mercel Mikl and Bert Besser (Bert has also organized a DVC meetup in + Berlin) +- [Creating a solid Data Science development environment](https://towardsdatascience.com/creating-a-solid-data-science-development-environment-60df14ce3a34), + by Gabriel dos Santos Goncalves +- [Continuous Delivery for Machine Learning](https://martinfowler.com/articles/cd4ml.html), + by Danilo Sato, Arif Wider, and Christoph Windheuser +- [Manage your Data Science Project in R](https://mribeirodantas.xyz/blog/index.php/2020/03/05/r-dvc-and-rmarkdown/) + was my first blog post about using DVC in an R project! + +### Talks + +Community members have presented at events like PyCon, PyData, and local +meetups. + +- [Version control for data science](https://www.slideshare.net/AlessiaMarcolini/version-control-for-data-science), + by Alessia Marcolini @ PyCon DE & PyData Berlin +- [How to easily set up and version control your machine learning pipelines](https://www.youtube.com/watch?v=rUTlqpcmiQw), + by Sarah Diot-Girard & Stephanie Bracaloni @ PyData Amsterdam +- [ML models and dataset versioning](https://speakerdeck.com/kurianbenoy/ml-models-and-dataset-versioning), + by Kurian Benoy @ PyCon India + +### Code contributions + +Our GitHub repository has lots of open discussions about potential features- its +a goldmine for ways to pitch in. For example: + +- [Helge Munk Jacobsen](https://github.com/elgehelge) took on an open issue in + our code base about supporting hyperparameter tracking with DVC and made a + pull request to add this feature. + +- [Vera Sativa](https://github.com/verasativa/) added directory support to the + `dvc import-url` function- and she was our 100th contributor, so she won her + own DeeVee the owl. + +![](/uploads/images/2020-01-17/odd_with_deevee.png 'Vera and team =500')_Vera +(center, flashing a peace sign) thanked us with this lovely picture of DeeVee +and her team, [Odd Industries](https://odd.co/en/)._ + +If any of this sounds fun to you, please be in touch over +[email](mailto:info@dvc.org) (and you can also reach us on +[Twitter](https://twitter.com/dvcorg) and our +[Discord Channel](https://discordapp.com/invite/dvwXA2N)). We look forward to +connecting with you! diff --git a/content/docs/command-reference/diff.md b/content/docs/command-reference/diff.md index 7151a4231c..e1515c56bd 100644 --- a/content/docs/command-reference/diff.md +++ b/content/docs/command-reference/diff.md @@ -8,7 +8,7 @@ workspace. ```usage usage: dvc diff [-h] [-q | -v] - [--show-json] [--show-hash] + [--show-json] [--show-hash] [--show-md] [a_rev] [b_rev] positional arguments: @@ -49,6 +49,9 @@ for example when `dvc init` was used with the `--no-scm` option. - `--show-hash` - print file and directory hash values along with their path. Useful for debug purposes. +- `--show-md` - print the list of files and directories with their status in the + Markdown table format. + - `-h`, `--help` - prints the usage/help message, and exit. - `-q`, `--quiet` - do not write anything to standard output. Exit with 0 if no diff --git a/content/docs/command-reference/metrics/diff.md b/content/docs/command-reference/metrics/diff.md index 9772c5e262..a73ec47ce9 100644 --- a/content/docs/command-reference/metrics/diff.md +++ b/content/docs/command-reference/metrics/diff.md @@ -9,7 +9,8 @@ commits in the DVC repository, or between a commit and the ```usage usage: dvc metrics diff [-h] [-q | -v] [--targets [ [ ...]]] - [-t ] [-x ] [-R] [--show-json] + [-t ] [-x ] [-R] + [--show-json] [--show-md] [a_ref] [b_ref] positional arguments: @@ -63,6 +64,8 @@ They're calculated between two commits (hash, branch, tag, or any - `--show-json` - prints the command's output in easily parsable JSON format, instead of a human-readable table. +- `--show-md` - prints the command's output in Markdown table format. + - `-h`, `--help` - prints the usage/help message, and exit. - `-q`, `--quiet` - do not write anything to standard output. Exit with 0 if no @@ -105,7 +108,7 @@ had in the previous commit: ``` $ dvc metrics diff - Path Metric Value Change -metrics.json TP 531 4 -metrics.json AUC 0.967 0.003 +Path Metric Value Change +metrics.json TP 531 4 +metrics.json AUC 0.967 0.003 ``` diff --git a/content/docs/command-reference/params/diff.md b/content/docs/command-reference/params/diff.md index 41da5477bf..31a2c6764a 100644 --- a/content/docs/command-reference/params/diff.md +++ b/content/docs/command-reference/params/diff.md @@ -7,7 +7,7 @@ commits in the DVC repository, or between a commit and the ## Synopsis ```usage -usage: dvc params diff [-h] [-q | -v] [--all] [--show-json] +usage: dvc params diff [-h] [-q | -v] [--all] [--show-json] [--show-md] [a_rev] [b_rev] positional arguments: @@ -40,6 +40,8 @@ itself does not ascribe any specific meaning for these values. - `--show-json` - prints the command's output in easily parsable JSON format, instead of a human-readable table. +- `--show-md` - prints the command's output in the Markdown table format. + - `-h`, `--help` - prints the usage/help message, and exit. - `-q`, `--quiet` - do not write anything to standard output. Exit with 0 if no @@ -78,12 +80,12 @@ Let's now print parameter values that we are tracking in this ```dvc $ dvc params diff - Path Param Old New -params.yaml lr None 0.0041 -params.yaml process.bow None 15000 -params.yaml process.thresh None 0.98 -params.yaml train.epochs None 70 -params.yaml train.layers None 9 +Path Param Old New +params.yaml lr None 0.0041 +params.yaml process.bow None 15000 +params.yaml process.thresh None 0.98 +params.yaml train.epochs None 70 +params.yaml train.layers None 9 ``` The command above shows the difference in parameters between the workspace and @@ -96,22 +98,22 @@ won't be shown if there are no changes: ```dvc $ dvc params diff - Path Param Old New -params.yaml lr 0.0041 0.0043 -params.yaml train.layers 9 7 -params.yaml train.epochs 70 110 +Path Param Old New +params.yaml lr 0.0041 0.0043 +params.yaml train.layers 9 7 +params.yaml train.epochs 70 110 ``` Specify `--all` option to see all the parameters including not changed ones: ```dvc $ dvc params diff --all - Path Param Old New -params.yaml lr 0.0041 0.0043 -params.yaml process.bow 15000 15000 -params.yaml process.thresh 0.98 0.98 -params.yaml train.layers 9 7 -params.yaml train.epochs 70 110 +Path Param Old New +params.yaml lr 0.0041 0.0043 +params.yaml process.bow 15000 15000 +params.yaml process.thresh 0.98 0.98 +params.yaml train.layers 9 7 +params.yaml train.epochs 70 110 ``` To compare parameters with a specific commit, a tag or any @@ -120,9 +122,9 @@ additional command line parameter: ```dvc $ dvc params diff e12b167 - Path Param Old New -params.yaml lr 0.0038 0.0043 -params.yaml train.epochs 70 110 +Path Param Old New +params.yaml lr 0.0038 0.0043 +params.yaml train.epochs 70 110 ``` Note that the `train.layers` parameter disappeared because its value was not @@ -133,8 +135,8 @@ To see the difference between two specific commits, both need to be specified: ```dvc $ dvc params diff e12b167 HEAD^ - Path Param Old New -params.yaml lr 0.0038 0.0041 -params.yaml train.layers 10 9 -params.yaml train.epochs 50 70 +Path Param Old New +params.yaml lr 0.0038 0.0041 +params.yaml train.layers 10 9 +params.yaml train.epochs 50 70 ``` diff --git a/content/docs/install/linux.md b/content/docs/install/linux.md index 719c62507c..3d7700c175 100644 --- a/content/docs/install/linux.md +++ b/content/docs/install/linux.md @@ -45,7 +45,7 @@ In this case it installs `boto3` library as well, besides DVC. $ conda install -c conda-forge dvc ``` -> Currently, it supports Python 3.5-3.7 +> Currently, it supports Python 3.6-3.8 ## Install with snap diff --git a/content/docs/install/macos.md b/content/docs/install/macos.md index 466e04a34b..0092b4a1e5 100644 --- a/content/docs/install/macos.md +++ b/content/docs/install/macos.md @@ -61,4 +61,4 @@ In this case it installs `boto3` library as well, besides DVC. $ conda install -c conda-forge dvc ``` -> Currently, it supports Python 3.5-3.7 +> Currently, it supports Python 3.6-3.8 diff --git a/content/docs/install/windows.md b/content/docs/install/windows.md index 53306f50b3..228bdb222c 100644 --- a/content/docs/install/windows.md +++ b/content/docs/install/windows.md @@ -30,7 +30,7 @@ a POSIX-like command line terminal in Windows. $ conda install -c conda-forge dvc ``` -> Currently, it supports Python 3.5-3.7 +> Currently, it supports Python 3.6-3.8 ## Install with pip diff --git a/src/components/Community/Contribute/index.tsx b/src/components/Community/Contribute/index.tsx index 2ac2d0019b..89505abf6f 100644 --- a/src/components/Community/Contribute/index.tsx +++ b/src/components/Community/Contribute/index.tsx @@ -94,11 +94,10 @@ const Contribute: React.FC<{ theme: ICommunitySectionTheme }> = ({ theme }) => { - Let’s talk! + Learn more! } > diff --git a/src/components/Community/Hero/index.tsx b/src/components/Community/Hero/index.tsx index 3f628f8215..012ffba955 100644 --- a/src/components/Community/Hero/index.tsx +++ b/src/components/Community/Hero/index.tsx @@ -2,14 +2,40 @@ import React from 'react' import LayoutWidthContainer from '../../LayoutWidthContainer' import ShowOnly from '../../ShowOnly' -import Link from '../../Link' +import Link, { ILinkProps } from '../../Link' import { logEvent } from '../../../utils/front/ga' +import { scrollIntoLayout } from '../../../utils/front/scroll' import data from '../data.json' import styles from './styles.module.css' const logHero = (): void => logEvent('community', 'hero') +// This special link component will smooth-scroll on local fragment links +const MaybeSmoothLink: React.FC = props => { + const { href, children } = props + if (href.startsWith('#')) { + // Intercept local fragment links and turn them into a special + // smooth-scrolling `a` element + return ( + { + logHero() + scrollIntoLayout(document.getElementById(href.slice(1)), { + smooth: true + }) + }} + > + {children} + + ) + } else { + // Pass through all props to a normal link otherwise + return + } +} + const Hero: React.FC = () => { if (!data.hero) { return null @@ -17,12 +43,7 @@ const Hero: React.FC = () => { return ( - + { alt="" /> - + ) } diff --git a/src/components/Community/data.json b/src/components/Community/data.json index 224067ba9b..aac0a10873 100644 --- a/src/components/Community/data.json +++ b/src/components/Community/data.json @@ -1,8 +1,8 @@ { "hero": { - "pictureDesktop": "/img/community/banner.png", - "pictureMobile": "/img/community/banner-mobile.png", - "url": "https://www.mlprague.com/#schedule-saturday" + "pictureDesktop": "/img/community/header_mailing_list_skinny.png", + "pictureMobile": "/img/community/mobile_header_mailing_list_skinny.png", + "url": "#subscribe" }, "section": { "contribute": { @@ -44,26 +44,26 @@ } ], "userContent": [ + { + "url": "https://medium.com/acing-ai/ml-ops-data-science-version-control-5935c49d1b76", + "title": "ML Ops: Data Science Version Control", + "author": "Vimarsh Karbhari", + "date": "2020-04-23", + "pictureUrl": "/img/community/ugc/medium_logo.png" + }, + { + "url": "https://blog.codecentric.de/en/2020/01/remote-training-gitlab-ci-dvc/", + "title": "Manage your Data Science Project in R", + "author": "Marcel Ribeiro-Dantas", + "date": "2020-03-05", + "pictureUrl": "/img/community/ugc/marcel.jpg" + }, { "url": "https://blog.codecentric.de/en/2020/01/remote-training-gitlab-ci-dvc/", "title": "Remote training with GitLab-CI and DVC", "author": "Marcel Mikl and Bert Besser", "date": "2020-01-28", "pictureUrl": "/img/community/ugc/codecentric.png" - }, - { - "url": "https://martinfowler.com/articles/cd4ml.html", - "title": "Continuous Delivery for Machine Learning", - "author": "Danilo Sato, Arif Wider and Christoph Windheuser", - "date": "2019-09-20", - "pictureUrl": "/img/community/ugc/fowler_icon.ico" - }, - { - "url": "https://towardsdatascience.com/mlops-reducing-the-technical-debt-of-machine-learning-dac528ef39de", - "title": "MLOps: Reducing the Technical Debt of Machine Learning", - "author": "Saurav Chakravorty", - "date": "2019-12-21", - "pictureUrl": "/img/community/ugc/tds_logo.png" } ], "events": [ @@ -92,7 +92,7 @@ } ], "stats": { - "users": "1380+", + "users": "1800+", "messages": "50K+" } } diff --git a/static/img/community/banner-mobile.png b/static/img/community/banner-mobile.png deleted file mode 100644 index 75c4edd41f..0000000000 Binary files a/static/img/community/banner-mobile.png and /dev/null differ diff --git a/static/img/community/banner.png b/static/img/community/banner.png deleted file mode 100644 index 1a1cab5c55..0000000000 Binary files a/static/img/community/banner.png and /dev/null differ diff --git a/static/img/community/header_mailing_list_skinny.png b/static/img/community/header_mailing_list_skinny.png new file mode 100644 index 0000000000..3e44fe97da Binary files /dev/null and b/static/img/community/header_mailing_list_skinny.png differ diff --git a/static/img/community/mobile_header_mailing_list_skinny.png b/static/img/community/mobile_header_mailing_list_skinny.png new file mode 100644 index 0000000000..8f229ac861 Binary files /dev/null and b/static/img/community/mobile_header_mailing_list_skinny.png differ diff --git a/static/img/community/ugc/donuts.png b/static/img/community/ugc/donuts.png deleted file mode 100644 index 35a2c3dbb8..0000000000 Binary files a/static/img/community/ugc/donuts.png and /dev/null differ diff --git a/static/img/community/ugc/fowler_icon.ico b/static/img/community/ugc/fowler_icon.ico deleted file mode 100644 index 782a130df1..0000000000 Binary files a/static/img/community/ugc/fowler_icon.ico and /dev/null differ diff --git a/static/img/community/ugc/marcel.jpg b/static/img/community/ugc/marcel.jpg new file mode 100644 index 0000000000..574a10a78e Binary files /dev/null and b/static/img/community/ugc/marcel.jpg differ diff --git a/static/img/community/ugc/ml-axis-of-change.png b/static/img/community/ugc/ml-axis-of-change.png deleted file mode 100644 index ec03c75a4b..0000000000 Binary files a/static/img/community/ugc/ml-axis-of-change.png and /dev/null differ diff --git a/static/uploads/avatars/marcel.jpg b/static/uploads/avatars/marcel.jpg new file mode 100644 index 0000000000..574a10a78e Binary files /dev/null and b/static/uploads/avatars/marcel.jpg differ diff --git a/static/uploads/images/2020-05-08/Ambassador_Header.png b/static/uploads/images/2020-05-08/Ambassador_Header.png new file mode 100644 index 0000000000..413dd7f8c8 Binary files /dev/null and b/static/uploads/images/2020-05-08/Ambassador_Header.png differ