DEV Community

Jeremy Grifski
Jeremy Grifski

Posted on • Edited on

Sample Programs is Looking for Help in 2019

Featured Image

If you're reading this article, you're probably interested in contributing to a new open-source project. Luckily for you, we have a project that is open to all experience levels. Say hello to Sample Programs in Every Language!

Project Description

At a high level, Sample Programs is a collection of code snippets in as many programming languages as possible. As of today, we've hit 250 code snippets in 106 different programming languages.

GitHub logo TheRenegadeCoder / sample-programs

Sample Programs in Every Programming Language

Sample Programs in Every Language

Build Status Discord

Welcome to the Sample Programs in Every Language repository! What began as a simple 100 Days of Code challenge has expanded into a fun project. Within this repository, you'll find a growing collection of sample programs in just about every programming language to date.

Learn More

To get up to speed quickly, check out the contributing doc. Otherwise here are some helpful links:

  • Projects: a list of projects currently accepting code snippets
  • Discord: an invite to our community discord
  • Code of Conduct: a copy of the Contributor Convenant
  • License: a copy of the MIT license document
  • News: a series of articles about what's happening in the repo
  • Template: a template repo, so you can create your own collection

Support

Sample Programs in Every Language is a project run by myself, Jeremy Grifski, as a part of my website…

Of course, there are many projects just like this one, so what makes ours different? As it turns out, we also write articles to explain every code snippet in our collection. Ideally, a user should be able to view a code snippet and find out how it works all in one place. That's our goal with this repository: all code snippets will have their own documentation.

Requests

Currently, our workload can be broken into two sets:

  1. Code Snippets
  2. Articles

If you're looking for a project where you can contribute some knowledge from your favorite language, this is the project for you. We have plenty of opportunities for you to share code snippets. Or, if you prefer writing documentation, we could use your help with that as well.

At this time, we have about 22 people in our team working away regularly on the Sample Programs project. Since launch, the project has grown to 107 stars and 80 forks, but it's still small enough for you to make some meaningful changes. So, consider helping out!

Milestones

Within the last month, we hit the 100 languages and the 250 code snippets milestones.

At this time, we're looking to complete the following milestones:

  1. 200 Languages - 12/31/2019
  2. 500 Code Snippets - 12/31/2019
  3. 100 Articles - 6/30/2019

As you can see, a lot of our milestones have a whole year on them, but we'd be happy to bump them up with some more support.

Side Projects

In addition to code snippets and articles, we have a handful of side projects such as the Sample Programs Wiki:

GitHub logo TheRenegadeCoder / sample-programs-wiki

A wiki generation solution for Sample Programs

The Sample Programs Docs Generator

The Sample Programs Wiki tool houses the wiki.py script which we use in the Sample Programs repository to generate our documentation. The script is automated by a GitHub Actions build in the Sample Programs repo.

If you would like to propose a change, feel free to leverage the issues tab or make a pull request.

How It Works

The wiki.py script works by analyzing the information in the Sample Programs repository and storing that information in objects. These objects are then used to generate various documentation pages in Markdown.

What is Automated

Currently, the script maintains our entire Sample Programs wiki.

During wiki automation, it generates 27 pages: 1 alphabet catalog and 26 alphabet pages.

The alphabet catalog contains a table with links to each alphabet page as well as metadata like the number of scripts and languages per letter. In addition, the alphabet…

Currently, we automate our own wiki which contains tables of metadata about our collection of code snippets. If you're interested in improving our current wiki, check out that side project.

In addition, I'm looking to start automating our releases. Recently, we wrote up a 100 languages release as well as a 250 code snippets release. Both of which were painfully time consuming, and I'm certain the process can be automated in the same way as the wiki. If anyone is interested in helping out on that front, let me know!

Thanks

If nothing else, thanks for taking the time to learn about the Sample Programs project. If you have a moment, consider starring the repo to help our collection grow. Otherwise, take care, and happy new year!

Top comments (0)