From da123fef8839786ca9c65922321b4043fcdd92ff Mon Sep 17 00:00:00 2001 From: Erik Schierboom Date: Fri, 18 Jun 2021 04:54:14 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Add=20authors=20and=20contributo?= =?UTF-8?q?rs=20to=20Practice=20Exercises=20(#356)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add authors and contributors to Practice Exercises For each Practice Exercise, we've looked at the commit history of its files to see which commits touched that Practice Exercise. Each commit that we could associate with a Practice Exercise was used to determine authorship/contributorship. ### Authors 1. Find the Git commit author of the oldest commit linked to that Practice Exercise 2. Find the GitHub username for the Git commit author of that commit 3. Add the GitHub username of the Git commit author to the `authors` key in the `.meta/config.json` file ### Contributors 1. Find the Git commit authors and any co-authors of all but the oldest commit linked to that Practice Exercise. If there is only one commit, there won't be any contributors. 1. Exclude the Git commit author and any co-authors of the oldest commit from the list of Git commit authors (an author is _not_ also a contributor) 2. Find the GitHub usernames for the Git commit authors and any co-authors of those commits 3. Add the GitHub usernames of the Git commit authors and any co-authors to the `contributor` key in the `.meta/config.json` file We used the GitHub GraphQL API to find the username of a commit author or any co-authors. In some cases though, a username cannot be found for a commit (e.g. due to the user account no longer existing), in which case the commit was skipped. ## Renames There are a small number of Practice Exercises that might have been renamed at some point. You can ask Git to "follow" a file over its renames using `git log --follow `, which will also return commits made before renames. Unfortunately, Git does not store renames, it just stores the contents of the renamed files and tries to guess if a file was renamed by looking at its contents. This _can_ (and will) lead to false positives, where Git will think a file has been renamed whereas it hasn't. As we don't want to have incorrect authors/contributors for exercises, we're ignoring renames. The only exception to this are known exercise renames: - `bracket-push` was renamed to `matching-brackets` - `retree` was renamed to `satellite` - `resistor-colors` was renamed to `resistor-color-duo` - `kindergarden-garden` was renamed to `kindergarten-garden` ## Exclusions There are some commits that we skipped over, and which thus didn't influence the authors/contributors list: - Commits authored by `dependabot[bot]`, `dependabot-preview[bot]` or `github-actions[bot]` - Bulk update PRs made by `ErikSchierboom` or `kytrinx` to update the track * remove neenjaw from contributors Co-authored-by: Tim Austin --- .../practice/accumulate/.meta/config.json | 15 ++++------- exercises/practice/acronym/.meta/config.json | 21 ++++++++------- .../practice/affine-cipher/.meta/config.json | 8 +++++- .../practice/all-your-base/.meta/config.json | 11 +++++++- .../practice/allergies/.meta/config.json | 22 +++++++++------- exercises/practice/anagram/.meta/config.json | 15 ++++------- .../armstrong-numbers/.meta/config.json | 8 +++++- .../practice/atbash-cipher/.meta/config.json | 15 ++++------- .../practice/beer-song/.meta/config.json | 21 ++++++++------- .../practice/binary-search/.meta/config.json | 21 ++++++++------- exercises/practice/binary/.meta/config.json | 15 ++++------- exercises/practice/bob/.meta/config.json | 21 ++++++++------- .../practice/book-store/.meta/config.json | 15 ++++------- exercises/practice/bowling/.meta/config.json | 21 ++++++++------- exercises/practice/change/.meta/config.json | 12 ++++++++- exercises/practice/clock/.meta/config.json | 22 +++++++++------- .../collatz-conjecture/.meta/config.json | 11 +++++++- exercises/practice/connect/.meta/config.json | 24 ++++++++++------- .../practice/crypto-square/.meta/config.json | 21 ++++++++------- exercises/practice/diamond/.meta/config.json | 15 ++++------- .../difference-of-squares/.meta/config.json | 21 ++++++++------- exercises/practice/etl/.meta/config.json | 15 ++++------- .../practice/flatten-array/.meta/config.json | 10 ++++++- .../practice/gigasecond/.meta/config.json | 26 ++++++++++++------- .../practice/grade-school/.meta/config.json | 21 ++++++++------- exercises/practice/grains/.meta/config.json | 15 ++++------- exercises/practice/hamming/.meta/config.json | 24 ++++++++++------- .../practice/hello-world/.meta/config.json | 15 ++++------- exercises/practice/isogram/.meta/config.json | 15 ++++------- .../largest-series-product/.meta/config.json | 22 +++++++++------- exercises/practice/leap/.meta/config.json | 20 +++++++------- exercises/practice/luhn/.meta/config.json | 21 ++++++++------- exercises/practice/markdown/.meta/config.json | 15 ++++------- .../matching-brackets/.meta/config.json | 11 +++++++- exercises/practice/meetup/.meta/config.json | 10 ++++++- .../practice/minesweeper/.meta/config.json | 10 ++++++- .../practice/nth-prime/.meta/config.json | 21 ++++++++------- .../nucleotide-count/.meta/config.json | 15 ++++------- .../practice/ocr-numbers/.meta/config.json | 15 ++++------- .../palindrome-products/.meta/config.json | 15 ++++------- exercises/practice/pangram/.meta/config.json | 21 ++++++++------- .../pascals-triangle/.meta/config.json | 21 ++++++++------- .../perfect-numbers/.meta/config.json | 10 ++++++- .../practice/phone-number/.meta/config.json | 21 ++++++++------- .../practice/pig-latin/.meta/config.json | 21 ++++++++------- .../practice/prime-factors/.meta/config.json | 21 ++++++++------- .../practice/queen-attack/.meta/config.json | 21 ++++++++------- .../rail-fence-cipher/.meta/config.json | 15 ++++------- .../practice/raindrops/.meta/config.json | 21 ++++++++------- .../rna-transcription/.meta/config.json | 20 +++++++------- .../practice/robot-name/.meta/config.json | 25 +++++++++++------- .../robot-simulator/.meta/config.json | 15 ++++------- .../practice/roman-numerals/.meta/config.json | 22 +++++++++------- .../run-length-encoding/.meta/config.json | 9 ++++++- .../practice/scrabble-score/.meta/config.json | 15 ++++------- exercises/practice/series/.meta/config.json | 11 +++++++- exercises/practice/sieve/.meta/config.json | 15 ++++------- .../practice/space-age/.meta/config.json | 21 ++++++++------- .../sum-of-multiples/.meta/config.json | 9 ++++++- .../practice/transpose/.meta/config.json | 15 ++++------- exercises/practice/triangle/.meta/config.json | 21 ++++++++------- exercises/practice/trinary/.meta/config.json | 22 +++++++++------- exercises/practice/two-fer/.meta/config.json | 8 +++++- .../.meta/config.json | 21 ++++++++------- .../practice/word-count/.meta/config.json | 15 ++++------- exercises/practice/wordy/.meta/config.json | 21 ++++++++------- 66 files changed, 606 insertions(+), 522 deletions(-) diff --git a/exercises/practice/accumulate/.meta/config.json b/exercises/practice/accumulate/.meta/config.json index 44117e8e..bf6a787c 100644 --- a/exercises/practice/accumulate/.meta/config.json +++ b/exercises/practice/accumulate/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Implement the `accumulate` operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.", - "authors": [], + "authors": ["pmatseykanets"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Accumulate.php" - ], - "test": [ - "AccumulateTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Accumulate.php"], + "test": ["AccumulateTest.php"], + "example": [".meta/example.php"] }, "source": "Conversation with James Edward Gray II", "source_url": "https://twitter.com/jeg2" diff --git a/exercises/practice/acronym/.meta/config.json b/exercises/practice/acronym/.meta/config.json index 8427fdb2..ae2dcd22 100644 --- a/exercises/practice/acronym/.meta/config.json +++ b/exercises/practice/acronym/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Convert a long phrase to its acronym", - "authors": [], + "authors": ["pmatseykanets"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "Acronym.php" - ], - "test": [ - "AcronymTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Acronym.php"], + "test": ["AcronymTest.php"], + "example": [".meta/example.php"] }, "source": "Julien Vanier", "source_url": "https://github.com/monkbroc" diff --git a/exercises/practice/affine-cipher/.meta/config.json b/exercises/practice/affine-cipher/.meta/config.json index 5427c8e1..db20ac52 100644 --- a/exercises/practice/affine-cipher/.meta/config.json +++ b/exercises/practice/affine-cipher/.meta/config.json @@ -1,6 +1,12 @@ { "blurb": "Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.", - "authors": [], + "authors": [ + "camilopayan" + ], + "contributors": [ + "arueckauer", + "neenjaw" + ], "files": { "solution": [ "AffineCipher.php" diff --git a/exercises/practice/all-your-base/.meta/config.json b/exercises/practice/all-your-base/.meta/config.json index f4a5bf3d..fce9edfb 100644 --- a/exercises/practice/all-your-base/.meta/config.json +++ b/exercises/practice/all-your-base/.meta/config.json @@ -1,6 +1,15 @@ { "blurb": "Convert a number, represented as a sequence of digits in one base, to any other base.", - "authors": [], + "authors": [ + "camilopayan" + ], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "mk-mxp", + "neenjaw" + ], "files": { "solution": [ "AllYourBase.php" diff --git a/exercises/practice/allergies/.meta/config.json b/exercises/practice/allergies/.meta/config.json index 6d555061..16b6b2dd 100644 --- a/exercises/practice/allergies/.meta/config.json +++ b/exercises/practice/allergies/.meta/config.json @@ -1,16 +1,18 @@ { "blurb": "Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.", - "authors": [], + "authors": ["mikeSimonson"], + "contributors": [ + "arueckauer", + "DerTee", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "Allergies.php" - ], - "test": [ - "AllergiesTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Allergies.php"], + "test": ["AllergiesTest.php"], + "example": [".meta/example.php"] }, "source": "Jumpstart Lab Warm-up", "source_url": "http://jumpstartlab.com" diff --git a/exercises/practice/anagram/.meta/config.json b/exercises/practice/anagram/.meta/config.json index c69ef503..3117a45c 100644 --- a/exercises/practice/anagram/.meta/config.json +++ b/exercises/practice/anagram/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Given a word and a list of possible anagrams, select the correct sublist.", - "authors": [], + "authors": ["ecrmnn"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Anagram.php" - ], - "test": [ - "AnagramTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Anagram.php"], + "test": ["AnagramTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by the Extreme Startup game", "source_url": "https://github.com/rchatley/extreme_startup" diff --git a/exercises/practice/armstrong-numbers/.meta/config.json b/exercises/practice/armstrong-numbers/.meta/config.json index a96ad2d7..5f9e6927 100644 --- a/exercises/practice/armstrong-numbers/.meta/config.json +++ b/exercises/practice/armstrong-numbers/.meta/config.json @@ -1,6 +1,12 @@ { "blurb": "Determine if a number is an Armstrong number", - "authors": [], + "authors": [ + "amscotti" + ], + "contributors": [ + "arueckauer", + "neenjaw" + ], "files": { "solution": [ "ArmstrongNumbers.php" diff --git a/exercises/practice/atbash-cipher/.meta/config.json b/exercises/practice/atbash-cipher/.meta/config.json index 76a11fd8..d41d674e 100644 --- a/exercises/practice/atbash-cipher/.meta/config.json +++ b/exercises/practice/atbash-cipher/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.", - "authors": [], + "authors": ["nhoag"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "AtbashCipher.php" - ], - "test": [ - "AtbashCipherTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["AtbashCipher.php"], + "test": ["AtbashCipherTest.php"], + "example": [".meta/example.php"] }, "source": "Wikipedia", "source_url": "http://en.wikipedia.org/wiki/Atbash" diff --git a/exercises/practice/beer-song/.meta/config.json b/exercises/practice/beer-song/.meta/config.json index d316553d..b00645cf 100644 --- a/exercises/practice/beer-song/.meta/config.json +++ b/exercises/practice/beer-song/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.", - "authors": [], + "authors": ["nhoag"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "BeerSong.php" - ], - "test": [ - "BeerSongTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["BeerSong.php"], + "test": ["BeerSongTest.php"], + "example": [".meta/example.php"] }, "source": "Learn to Program by Chris Pine", "source_url": "http://pine.fm/LearnToProgram/?Chapter=06" diff --git a/exercises/practice/binary-search/.meta/config.json b/exercises/practice/binary-search/.meta/config.json index bbc281d9..bfd87266 100644 --- a/exercises/practice/binary-search/.meta/config.json +++ b/exercises/practice/binary-search/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Implement a binary search algorithm.", - "authors": [], + "authors": ["arthurchipdean"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "BinarySearch.php" - ], - "test": [ - "BinarySearchTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["BinarySearch.php"], + "test": ["BinarySearchTest.php"], + "example": [".meta/example.php"] }, "source": "Wikipedia", "source_url": "http://en.wikipedia.org/wiki/Binary_search_algorithm" diff --git a/exercises/practice/binary/.meta/config.json b/exercises/practice/binary/.meta/config.json index ee272cee..989086df 100644 --- a/exercises/practice/binary/.meta/config.json +++ b/exercises/practice/binary/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Convert a binary number, represented as a string (e.g. '101010'), to its decimal equivalent using first principles", - "authors": [], + "authors": ["pmatseykanets"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Binary.php" - ], - "test": [ - "BinaryTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Binary.php"], + "test": ["BinaryTest.php"], + "example": [".meta/example.php"] }, "source": "All of Computer Science", "source_url": "http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-" diff --git a/exercises/practice/bob/.meta/config.json b/exercises/practice/bob/.meta/config.json index a2f0c81f..7284edc2 100644 --- a/exercises/practice/bob/.meta/config.json +++ b/exercises/practice/bob/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Bob is a lackadaisical teenager. In conversation, his responses are very limited.", - "authors": [], + "authors": ["brettsantore"], + "contributors": [ + "arueckauer", + "DerTee", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "Bob.php" - ], - "test": [ - "BobTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Bob.php"], + "test": ["BobTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial.", "source_url": "http://pine.fm/LearnToProgram/?Chapter=06" diff --git a/exercises/practice/book-store/.meta/config.json b/exercises/practice/book-store/.meta/config.json index 79a66218..2aee54cc 100644 --- a/exercises/practice/book-store/.meta/config.json +++ b/exercises/practice/book-store/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "To try and encourage more sales of different books from a popular 5 book series, a bookshop has decided to offer discounts of multiple-book purchases.", - "authors": [], + "authors": ["Hrumpa"], + "contributors": ["arueckauer", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "BookStore.php" - ], - "test": [ - "BookStoreTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["BookStore.php"], + "test": ["BookStoreTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by the harry potter kata from Cyber-Dojo.", "source_url": "http://cyber-dojo.org" diff --git a/exercises/practice/bowling/.meta/config.json b/exercises/practice/bowling/.meta/config.json index c7512945..420eb20e 100644 --- a/exercises/practice/bowling/.meta/config.json +++ b/exercises/practice/bowling/.meta/config.json @@ -1,16 +1,19 @@ { "blurb": "Score a bowling game", "authors": [], + "contributors": [ + "arueckauer", + "DerTee", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane" + ], "files": { - "solution": [ - "Bowling.php" - ], - "test": [ - "BowlingTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Bowling.php"], + "test": ["BowlingTest.php"], + "example": [".meta/example.php"] }, "source": "The Bowling Game Kata at but UncleBob", "source_url": "http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata" diff --git a/exercises/practice/change/.meta/config.json b/exercises/practice/change/.meta/config.json index 3659d9f7..5337fbd8 100644 --- a/exercises/practice/change/.meta/config.json +++ b/exercises/practice/change/.meta/config.json @@ -1,6 +1,16 @@ { "blurb": "Correctly determine change to be given using the least number of coins", - "authors": [], + "authors": [ + "petemcfarlane" + ], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "leNEKO", + "neenjaw" + ], "files": { "solution": [ "Change.php" diff --git a/exercises/practice/clock/.meta/config.json b/exercises/practice/clock/.meta/config.json index 48f0276f..2c3c7dc3 100644 --- a/exercises/practice/clock/.meta/config.json +++ b/exercises/practice/clock/.meta/config.json @@ -1,16 +1,18 @@ { "blurb": "Implement a clock that handles times without dates.", - "authors": [], + "authors": ["jrdnull"], + "contributors": [ + "arueckauer", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane" + ], "files": { - "solution": [ - "Clock.php" - ], - "test": [ - "ClockTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Clock.php"], + "test": ["ClockTest.php"], + "example": [".meta/example.php"] }, "source": "Pairing session with Erin Drummond", "source_url": "https://twitter.com/ebdrummond" diff --git a/exercises/practice/collatz-conjecture/.meta/config.json b/exercises/practice/collatz-conjecture/.meta/config.json index 56ce65e0..80ae1d61 100644 --- a/exercises/practice/collatz-conjecture/.meta/config.json +++ b/exercises/practice/collatz-conjecture/.meta/config.json @@ -1,6 +1,15 @@ { "blurb": "Calculate the number of steps to reach 1 using the Collatz conjecture", - "authors": [], + "authors": [ + "kk-r" + ], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "CollatzConjecture.php" diff --git a/exercises/practice/connect/.meta/config.json b/exercises/practice/connect/.meta/config.json index 17d7e3da..b39a13a4 100644 --- a/exercises/practice/connect/.meta/config.json +++ b/exercises/practice/connect/.meta/config.json @@ -1,15 +1,19 @@ { "blurb": "Compute the result for a game of Hex / Polygon", - "authors": [], + "authors": ["pminten"], + "contributors": [ + "arueckauer", + "dkinzer", + "karptonite", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "Connect.php" - ], - "test": [ - "ConnectTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Connect.php"], + "test": ["ConnectTest.php"], + "example": [".meta/example.php"] } } diff --git a/exercises/practice/crypto-square/.meta/config.json b/exercises/practice/crypto-square/.meta/config.json index e9e8b653..f66cdba7 100644 --- a/exercises/practice/crypto-square/.meta/config.json +++ b/exercises/practice/crypto-square/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Implement the classic method for composing secret messages called a square code.", - "authors": [], + "authors": ["camilopayan"], + "contributors": [ + "arueckauer", + "dstockto", + "kunicmarko20", + "kytrinyx", + "yisraeldov" + ], "files": { - "solution": [ - "CryptoSquare.php" - ], - "test": [ - "CryptoSquareTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["CryptoSquare.php"], + "test": ["CryptoSquareTest.php"], + "example": [".meta/example.php"] }, "source": "J Dalbey's Programming Practice problems", "source_url": "http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html" diff --git a/exercises/practice/diamond/.meta/config.json b/exercises/practice/diamond/.meta/config.json index 24db41af..3e8bbbeb 100644 --- a/exercises/practice/diamond/.meta/config.json +++ b/exercises/practice/diamond/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.", - "authors": [], + "authors": ["camilopayan"], + "contributors": ["arueckauer", "yisraeldov"], "files": { - "solution": [ - "Diamond.php" - ], - "test": [ - "DiamondTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Diamond.php"], + "test": ["DiamondTest.php"], + "example": [".meta/example.php"] }, "source": "Seb Rose", "source_url": "http://claysnow.co.uk/recycling-tests-in-tdd/" diff --git a/exercises/practice/difference-of-squares/.meta/config.json b/exercises/practice/difference-of-squares/.meta/config.json index 4d09484b..70c36486 100644 --- a/exercises/practice/difference-of-squares/.meta/config.json +++ b/exercises/practice/difference-of-squares/.meta/config.json @@ -1,16 +1,19 @@ { "blurb": "Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane", + "Scientifica96" + ], "files": { - "solution": [ - "DifferenceOfSquares.php" - ], - "test": [ - "DifferenceOfSquaresTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["DifferenceOfSquares.php"], + "test": ["DifferenceOfSquaresTest.php"], + "example": [".meta/example.php"] }, "source": "Problem 6 at Project Euler", "source_url": "http://projecteuler.net/problem=6" diff --git a/exercises/practice/etl/.meta/config.json b/exercises/practice/etl/.meta/config.json index 82b7cf81..19932d92 100644 --- a/exercises/practice/etl/.meta/config.json +++ b/exercises/practice/etl/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "We are going to do the `Transform` step of an Extract-Transform-Load.", - "authors": [], + "authors": ["camilopayan"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Etl.php" - ], - "test": [ - "EtlTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Etl.php"], + "test": ["EtlTest.php"], + "example": [".meta/example.php"] }, "source": "The Jumpstart Lab team", "source_url": "http://jumpstartlab.com" diff --git a/exercises/practice/flatten-array/.meta/config.json b/exercises/practice/flatten-array/.meta/config.json index d4bf1c34..216220ec 100644 --- a/exercises/practice/flatten-array/.meta/config.json +++ b/exercises/practice/flatten-array/.meta/config.json @@ -1,6 +1,14 @@ { "blurb": "Take a nested list and return a single list with all values except nil/null", - "authors": [], + "authors": [ + "kk-r" + ], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "FlattenArray.php" diff --git a/exercises/practice/gigasecond/.meta/config.json b/exercises/practice/gigasecond/.meta/config.json index 8eafa9d4..ea1041ee 100644 --- a/exercises/practice/gigasecond/.meta/config.json +++ b/exercises/practice/gigasecond/.meta/config.json @@ -1,16 +1,24 @@ { "blurb": "Given a moment, determine the moment that would be after a gigasecond has passed.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "Dog", + "kunicmarko20", + "kytrinyx", + "lafent", + "MatheusNaldi", + "petemcfarlane", + "peteraba", + "TFarla", + "tstirrat15", + "zembrowski" + ], "files": { - "solution": [ - "Gigasecond.php" - ], - "test": [ - "GigasecondTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Gigasecond.php"], + "test": ["GigasecondTest.php"], + "example": [".meta/example.php"] }, "source": "Chapter 9 in Chris Pine's online Learn to Program tutorial.", "source_url": "http://pine.fm/LearnToProgram/?Chapter=09" diff --git a/exercises/practice/grade-school/.meta/config.json b/exercises/practice/grade-school/.meta/config.json index c31fd1e6..7080e21c 100644 --- a/exercises/practice/grade-school/.meta/config.json +++ b/exercises/practice/grade-school/.meta/config.json @@ -1,16 +1,19 @@ { "blurb": "Given students' names along with the grade that they are in, create a roster for the school", "authors": [], + "contributors": [ + "arueckauer", + "DerTee", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "rossbearman" + ], "files": { - "solution": [ - "GradeSchool.php" - ], - "test": [ - "GradeSchoolTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["GradeSchool.php"], + "test": ["GradeSchoolTest.php"], + "example": [".meta/example.php"] }, "source": "A pairing session with Phil Battos at gSchool", "source_url": "http://gschool.it" diff --git a/exercises/practice/grains/.meta/config.json b/exercises/practice/grains/.meta/config.json index 908e4076..1ce5e542 100644 --- a/exercises/practice/grains/.meta/config.json +++ b/exercises/practice/grains/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.", - "authors": [], + "authors": ["Hrumpa"], + "contributors": ["arueckauer", "G-Rath", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Grains.php" - ], - "test": [ - "GrainsTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Grains.php"], + "test": ["GrainsTest.php"], + "example": [".meta/example.php"] }, "source": "JavaRanch Cattle Drive, exercise 6", "source_url": "http://www.javaranch.com/grains.jsp" diff --git a/exercises/practice/hamming/.meta/config.json b/exercises/practice/hamming/.meta/config.json index ea9ec14d..a7dac316 100644 --- a/exercises/practice/hamming/.meta/config.json +++ b/exercises/practice/hamming/.meta/config.json @@ -1,16 +1,22 @@ { "blurb": "Calculate the Hamming difference between two DNA strands.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "Dog", + "kip-13", + "kunicmarko20", + "kytrinyx", + "lafent", + "marvinrabe", + "petemcfarlane", + "rossbearman" + ], "files": { - "solution": [ - "Hamming.php" - ], - "test": [ - "HammingTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Hamming.php"], + "test": ["HammingTest.php"], + "example": [".meta/example.php"] }, "source": "The Calculating Point Mutations problem at Rosalind", "source_url": "http://rosalind.info/problems/hamm/" diff --git a/exercises/practice/hello-world/.meta/config.json b/exercises/practice/hello-world/.meta/config.json index 3dbd1659..d7a6445c 100644 --- a/exercises/practice/hello-world/.meta/config.json +++ b/exercises/practice/hello-world/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "The classical introductory exercise. Just say \"Hello, World!\"", - "authors": [], + "authors": ["duffn"], + "contributors": ["arueckauer", "joseph-walker", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "HelloWorld.php" - ], - "test": [ - "HelloWorldTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["HelloWorld.php"], + "test": ["HelloWorldTest.php"], + "example": [".meta/example.php"] }, "source": "This is an exercise to introduce users to using Exercism", "source_url": "http://en.wikipedia.org/wiki/%22Hello,_world!%22_program" diff --git a/exercises/practice/isogram/.meta/config.json b/exercises/practice/isogram/.meta/config.json index 557a2e49..5f361390 100644 --- a/exercises/practice/isogram/.meta/config.json +++ b/exercises/practice/isogram/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Determine if a word or phrase is an isogram.", - "authors": [], + "authors": ["ecrmnn"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Isogram.php" - ], - "test": [ - "IsogramTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Isogram.php"], + "test": ["IsogramTest.php"], + "example": [".meta/example.php"] }, "source": "Wikipedia", "source_url": "https://en.wikipedia.org/wiki/Isogram" diff --git a/exercises/practice/largest-series-product/.meta/config.json b/exercises/practice/largest-series-product/.meta/config.json index eb302376..3aef7011 100644 --- a/exercises/practice/largest-series-product/.meta/config.json +++ b/exercises/practice/largest-series-product/.meta/config.json @@ -1,16 +1,18 @@ { "blurb": "Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.", - "authors": [], + "authors": ["brettsantore"], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "LargestSeriesProduct.php" - ], - "test": [ - "LargestSeriesProductTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["LargestSeriesProduct.php"], + "test": ["LargestSeriesProductTest.php"], + "example": [".meta/example.php"] }, "source": "A variation on Problem 8 at Project Euler", "source_url": "http://projecteuler.net/problem=8" diff --git a/exercises/practice/leap/.meta/config.json b/exercises/practice/leap/.meta/config.json index 6857e01d..a66ae573 100644 --- a/exercises/practice/leap/.meta/config.json +++ b/exercises/practice/leap/.meta/config.json @@ -1,16 +1,18 @@ { "blurb": "Given a year, report if it is a leap year.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane" + ], "files": { - "solution": [ - "Leap.php" - ], - "test": [ - "LeapTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Leap.php"], + "test": ["LeapTest.php"], + "example": [".meta/example.php"] }, "source": "JavaRanch Cattle Drive, exercise 3", "source_url": "http://www.javaranch.com/leap.jsp" diff --git a/exercises/practice/luhn/.meta/config.json b/exercises/practice/luhn/.meta/config.json index e1ee0052..b844ec44 100644 --- a/exercises/practice/luhn/.meta/config.json +++ b/exercises/practice/luhn/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Given a number determine whether or not it is valid per the Luhn formula.", - "authors": [], + "authors": ["Pierre-Vdsp"], + "contributors": [ + "arueckauer", + "dstockto", + "kunicmarko20", + "kytrinyx", + "yisraeldov" + ], "files": { - "solution": [ - "Luhn.php" - ], - "test": [ - "LuhnTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Luhn.php"], + "test": ["LuhnTest.php"], + "example": [".meta/example.php"] }, "source": "The Luhn Algorithm on Wikipedia", "source_url": "http://en.wikipedia.org/wiki/Luhn_algorithm" diff --git a/exercises/practice/markdown/.meta/config.json b/exercises/practice/markdown/.meta/config.json index 9b0bd907..cad5318e 100644 --- a/exercises/practice/markdown/.meta/config.json +++ b/exercises/practice/markdown/.meta/config.json @@ -1,15 +1,10 @@ { "blurb": "Refactor a Markdown parser", - "authors": [], + "authors": ["petemcfarlane"], + "contributors": ["arueckauer", "kytrinyx", "yisraeldov"], "files": { - "solution": [ - "Markdown.php" - ], - "test": [ - "MarkdownTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Markdown.php"], + "test": ["MarkdownTest.php"], + "example": [".meta/example.php"] } } diff --git a/exercises/practice/matching-brackets/.meta/config.json b/exercises/practice/matching-brackets/.meta/config.json index c2665797..2d1f35a2 100644 --- a/exercises/practice/matching-brackets/.meta/config.json +++ b/exercises/practice/matching-brackets/.meta/config.json @@ -1,6 +1,15 @@ { "blurb": "Make sure the brackets and braces all match.", - "authors": [], + "authors": [ + "petemcfarlane" + ], + "contributors": [ + "amscotti", + "arueckauer", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "MatchingBrackets.php" diff --git a/exercises/practice/meetup/.meta/config.json b/exercises/practice/meetup/.meta/config.json index e87bffb9..a8029425 100644 --- a/exercises/practice/meetup/.meta/config.json +++ b/exercises/practice/meetup/.meta/config.json @@ -1,6 +1,14 @@ { "blurb": "Calculate the date of meetups.", - "authors": [], + "authors": [ + "camilopayan" + ], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "Meetup.php" diff --git a/exercises/practice/minesweeper/.meta/config.json b/exercises/practice/minesweeper/.meta/config.json index 4835167e..6b8a4b9d 100644 --- a/exercises/practice/minesweeper/.meta/config.json +++ b/exercises/practice/minesweeper/.meta/config.json @@ -1,6 +1,14 @@ { "blurb": "Add the numbers to a minesweeper board", - "authors": [], + "authors": [ + "petemcfarlane" + ], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "Minesweeper.php" diff --git a/exercises/practice/nth-prime/.meta/config.json b/exercises/practice/nth-prime/.meta/config.json index e376bbe1..5f56cc34 100644 --- a/exercises/practice/nth-prime/.meta/config.json +++ b/exercises/practice/nth-prime/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Given a number n, determine what the nth prime is.", - "authors": [], + "authors": ["arthurchipdean"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "NthPrime.php" - ], - "test": [ - "NthPrimeTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["NthPrime.php"], + "test": ["NthPrimeTest.php"], + "example": [".meta/example.php"] }, "source": "A variation on Problem 7 at Project Euler", "source_url": "http://projecteuler.net/problem=7" diff --git a/exercises/practice/nucleotide-count/.meta/config.json b/exercises/practice/nucleotide-count/.meta/config.json index 0228e90a..f91d11c4 100644 --- a/exercises/practice/nucleotide-count/.meta/config.json +++ b/exercises/practice/nucleotide-count/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Given a DNA string, compute how many times each nucleotide occurs in the string.", - "authors": [], + "authors": ["mikeSimonson"], + "contributors": ["arueckauer", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "NucleotideCount.php" - ], - "test": [ - "NucleotideCountTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["NucleotideCount.php"], + "test": ["NucleotideCountTest.php"], + "example": [".meta/example.php"] }, "source": "The Calculating DNA Nucleotides_problem at Rosalind", "source_url": "http://rosalind.info/problems/dna/" diff --git a/exercises/practice/ocr-numbers/.meta/config.json b/exercises/practice/ocr-numbers/.meta/config.json index a15639e8..7d4fd811 100644 --- a/exercises/practice/ocr-numbers/.meta/config.json +++ b/exercises/practice/ocr-numbers/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.", - "authors": [], + "authors": ["Hrumpa"], + "contributors": ["arueckauer", "G-Rath", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "OcrNumbers.php" - ], - "test": [ - "OcrNumbersTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["OcrNumbers.php"], + "test": ["OcrNumbersTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by the Bank OCR kata", "source_url": "http://codingdojo.org/cgi-bin/wiki.pl?KataBankOCR" diff --git a/exercises/practice/palindrome-products/.meta/config.json b/exercises/practice/palindrome-products/.meta/config.json index 3f19efc4..3fd740dd 100644 --- a/exercises/practice/palindrome-products/.meta/config.json +++ b/exercises/practice/palindrome-products/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Detect palindrome products in a given range.", - "authors": [], + "authors": ["camilopayan"], + "contributors": ["arueckauer", "yisraeldov"], "files": { - "solution": [ - "PalindromeProducts.php" - ], - "test": [ - "PalindromeProductsTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["PalindromeProducts.php"], + "test": ["PalindromeProductsTest.php"], + "example": [".meta/example.php"] }, "source": "Problem 4 at Project Euler", "source_url": "http://projecteuler.net/problem=4" diff --git a/exercises/practice/pangram/.meta/config.json b/exercises/practice/pangram/.meta/config.json index fcddd9a5..80173d92 100644 --- a/exercises/practice/pangram/.meta/config.json +++ b/exercises/practice/pangram/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Determine if a sentence is a pangram.", - "authors": [], + "authors": ["ecrmnn"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "rossbearman" + ], "files": { - "solution": [ - "Pangram.php" - ], - "test": [ - "PangramTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Pangram.php"], + "test": ["PangramTest.php"], + "example": [".meta/example.php"] }, "source": "Wikipedia", "source_url": "https://en.wikipedia.org/wiki/Pangram" diff --git a/exercises/practice/pascals-triangle/.meta/config.json b/exercises/practice/pascals-triangle/.meta/config.json index 5cae9677..d7579864 100644 --- a/exercises/practice/pascals-triangle/.meta/config.json +++ b/exercises/practice/pascals-triangle/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Compute Pascal's triangle up to a given number of rows.", - "authors": [], + "authors": ["arthurchipdean"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "PascalsTriangle.php" - ], - "test": [ - "PascalsTriangleTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["PascalsTriangle.php"], + "test": ["PascalsTriangleTest.php"], + "example": [".meta/example.php"] }, "source": "Pascal's Triangle at Wolfram Math World", "source_url": "http://mathworld.wolfram.com/PascalsTriangle.html" diff --git a/exercises/practice/perfect-numbers/.meta/config.json b/exercises/practice/perfect-numbers/.meta/config.json index bf811eab..ee37656c 100644 --- a/exercises/practice/perfect-numbers/.meta/config.json +++ b/exercises/practice/perfect-numbers/.meta/config.json @@ -1,6 +1,14 @@ { "blurb": "Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.", - "authors": [], + "authors": [ + "Pierre-Vdsp" + ], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "PerfectNumbers.php" diff --git a/exercises/practice/phone-number/.meta/config.json b/exercises/practice/phone-number/.meta/config.json index df8825d3..92e8b50c 100644 --- a/exercises/practice/phone-number/.meta/config.json +++ b/exercises/practice/phone-number/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Clean up user-entered phone numbers so that they can be sent SMS messages.", - "authors": [], + "authors": ["nhoag"], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "PhoneNumber.php" - ], - "test": [ - "PhoneNumberTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["PhoneNumber.php"], + "test": ["PhoneNumberTest.php"], + "example": [".meta/example.php"] }, "source": "Event Manager by JumpstartLab", "source_url": "http://tutorials.jumpstartlab.com/projects/eventmanager.html" diff --git a/exercises/practice/pig-latin/.meta/config.json b/exercises/practice/pig-latin/.meta/config.json index 08af7699..65ee5ceb 100644 --- a/exercises/practice/pig-latin/.meta/config.json +++ b/exercises/practice/pig-latin/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Implement a program that translates from English to Pig Latin", - "authors": [], + "authors": ["brettsantore"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "woylie" + ], "files": { - "solution": [ - "PigLatin.php" - ], - "test": [ - "PigLatinTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["PigLatin.php"], + "test": ["PigLatinTest.php"], + "example": [".meta/example.php"] }, "source": "The Pig Latin exercise at Test First Teaching by Ultrasaurus", "source_url": "https://github.com/ultrasaurus/test-first-teaching/blob/master/learn_ruby/pig_latin/" diff --git a/exercises/practice/prime-factors/.meta/config.json b/exercises/practice/prime-factors/.meta/config.json index 0c7a3c87..e6869845 100644 --- a/exercises/practice/prime-factors/.meta/config.json +++ b/exercises/practice/prime-factors/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Compute the prime factors of a given natural number.", - "authors": [], + "authors": ["arthurchipdean"], + "contributors": [ + "arueckauer", + "kunicmarko20", + "kytrinyx", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "PrimeFactors.php" - ], - "test": [ - "PrimeFactorsTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["PrimeFactors.php"], + "test": ["PrimeFactorsTest.php"], + "example": [".meta/example.php"] }, "source": "The Prime Factors Kata by Uncle Bob", "source_url": "http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata" diff --git a/exercises/practice/queen-attack/.meta/config.json b/exercises/practice/queen-attack/.meta/config.json index eb1dc33d..b64962a2 100644 --- a/exercises/practice/queen-attack/.meta/config.json +++ b/exercises/practice/queen-attack/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.", - "authors": [], + "authors": ["MichaelBunker"], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "QueenAttack.php" - ], - "test": [ - "QueenAttackTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["QueenAttack.php"], + "test": ["QueenAttackTest.php"], + "example": [".meta/example.php"] }, "source": "J Dalbey's Programming Practice problems", "source_url": "http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html" diff --git a/exercises/practice/rail-fence-cipher/.meta/config.json b/exercises/practice/rail-fence-cipher/.meta/config.json index 07d567bb..f9512613 100644 --- a/exercises/practice/rail-fence-cipher/.meta/config.json +++ b/exercises/practice/rail-fence-cipher/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Implement encoding and decoding for the rail fence cipher.", - "authors": [], + "authors": ["kk-r"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "yisraeldov"], "files": { - "solution": [ - "RailFenceCipher.php" - ], - "test": [ - "RailFenceCipherTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["RailFenceCipher.php"], + "test": ["RailFenceCipherTest.php"], + "example": [".meta/example.php"] }, "source": "Wikipedia", "source_url": "https://en.wikipedia.org/wiki/Transposition_cipher#Rail_Fence_cipher" diff --git a/exercises/practice/raindrops/.meta/config.json b/exercises/practice/raindrops/.meta/config.json index a97f4f13..1206542b 100644 --- a/exercises/practice/raindrops/.meta/config.json +++ b/exercises/practice/raindrops/.meta/config.json @@ -1,16 +1,19 @@ { "blurb": "Convert a number to a string, the content of which depends on the number's factors.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "kenden", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane" + ], "files": { - "solution": [ - "Raindrops.php" - ], - "test": [ - "RaindropsTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Raindrops.php"], + "test": ["RaindropsTest.php"], + "example": [".meta/example.php"] }, "source": "A variation on FizzBuzz, a famous technical interview question that is intended to weed out potential candidates. That question is itself derived from Fizz Buzz, a popular children's game for teaching division.", "source_url": "https://en.wikipedia.org/wiki/Fizz_buzz" diff --git a/exercises/practice/rna-transcription/.meta/config.json b/exercises/practice/rna-transcription/.meta/config.json index 471932db..973a0eab 100644 --- a/exercises/practice/rna-transcription/.meta/config.json +++ b/exercises/practice/rna-transcription/.meta/config.json @@ -1,16 +1,18 @@ { "blurb": "Given a DNA strand, return its RNA Complement Transcription.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane" + ], "files": { - "solution": [ - "RnaTranscription.php" - ], - "test": [ - "RnaTranscriptionTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["RnaTranscription.php"], + "test": ["RnaTranscriptionTest.php"], + "example": [".meta/example.php"] }, "source": "Hyperphysics", "source_url": "http://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html" diff --git a/exercises/practice/robot-name/.meta/config.json b/exercises/practice/robot-name/.meta/config.json index fa4d6d36..bd099aeb 100644 --- a/exercises/practice/robot-name/.meta/config.json +++ b/exercises/practice/robot-name/.meta/config.json @@ -1,16 +1,23 @@ { "blurb": "Manage robot factory settings.", "authors": [], + "contributors": [ + "arueckauer", + "DerTee", + "dkinzer", + "Dog", + "Hrumpa", + "kunicmarko20", + "kytrinyx", + "lafent", + "masters3d", + "petemcfarlane", + "schorsch3000" + ], "files": { - "solution": [ - "RobotName.php" - ], - "test": [ - "RobotNameTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["RobotName.php"], + "test": ["RobotNameTest.php"], + "example": [".meta/example.php"] }, "source": "A debugging session with Paul Blackwell at gSchool." } diff --git a/exercises/practice/robot-simulator/.meta/config.json b/exercises/practice/robot-simulator/.meta/config.json index 88029e9c..1a2a1467 100644 --- a/exercises/practice/robot-simulator/.meta/config.json +++ b/exercises/practice/robot-simulator/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Write a robot simulator.", - "authors": [], + "authors": ["Hrumpa"], + "contributors": ["arueckauer", "G-Rath", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "RobotSimulator.php" - ], - "test": [ - "RobotSimulatorTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["RobotSimulator.php"], + "test": ["RobotSimulatorTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by an interview question at a famous company.", "source_url": "" diff --git a/exercises/practice/roman-numerals/.meta/config.json b/exercises/practice/roman-numerals/.meta/config.json index fba504a1..6f5990d6 100644 --- a/exercises/practice/roman-numerals/.meta/config.json +++ b/exercises/practice/roman-numerals/.meta/config.json @@ -1,16 +1,20 @@ { "blurb": "Write a function to convert from normal numbers to Roman Numerals.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "Dog", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane", + "zembrowski" + ], "files": { - "solution": [ - "RomanNumerals.php" - ], - "test": [ - "RomanNumeralsTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["RomanNumerals.php"], + "test": ["RomanNumeralsTest.php"], + "example": [".meta/example.php"] }, "source": "The Roman Numeral Kata", "source_url": "http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals" diff --git a/exercises/practice/run-length-encoding/.meta/config.json b/exercises/practice/run-length-encoding/.meta/config.json index b4eecfe0..9d97c438 100644 --- a/exercises/practice/run-length-encoding/.meta/config.json +++ b/exercises/practice/run-length-encoding/.meta/config.json @@ -1,6 +1,13 @@ { "blurb": "Implement run-length encoding and decoding.", - "authors": [], + "authors": [ + "Leprechaunz" + ], + "contributors": [ + "arueckauer", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "RunLengthEncoding.php" diff --git a/exercises/practice/scrabble-score/.meta/config.json b/exercises/practice/scrabble-score/.meta/config.json index 580cca8f..b79db1f3 100644 --- a/exercises/practice/scrabble-score/.meta/config.json +++ b/exercises/practice/scrabble-score/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Given a word, compute the Scrabble score for that word.", - "authors": [], + "authors": ["MichaelBunker"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "ScrabbleScore.php" - ], - "test": [ - "ScrabbleScoreTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["ScrabbleScore.php"], + "test": ["ScrabbleScoreTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by the Extreme Startup game", "source_url": "https://github.com/rchatley/extreme_startup" diff --git a/exercises/practice/series/.meta/config.json b/exercises/practice/series/.meta/config.json index 9a4b45d7..d4365ec4 100644 --- a/exercises/practice/series/.meta/config.json +++ b/exercises/practice/series/.meta/config.json @@ -1,6 +1,15 @@ { "blurb": "Given a string of digits, output all the contiguous substrings of length `n` in that string.", - "authors": [], + "authors": [ + "camilopayan" + ], + "contributors": [ + "arueckauer", + "dstockto", + "kunicmarko20", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "Series.php" diff --git a/exercises/practice/sieve/.meta/config.json b/exercises/practice/sieve/.meta/config.json index ba47de60..d6191c5c 100644 --- a/exercises/practice/sieve/.meta/config.json +++ b/exercises/practice/sieve/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.", - "authors": [], + "authors": ["jeslopcru"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Sieve.php" - ], - "test": [ - "SieveTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Sieve.php"], + "test": ["SieveTest.php"], + "example": [".meta/example.php"] }, "source": "Sieve of Eratosthenes at Wikipedia", "source_url": "http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes" diff --git a/exercises/practice/space-age/.meta/config.json b/exercises/practice/space-age/.meta/config.json index 1bf59df6..33e17bf0 100644 --- a/exercises/practice/space-age/.meta/config.json +++ b/exercises/practice/space-age/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.", - "authors": [], + "authors": ["camilopayan"], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "SpaceAge.php" - ], - "test": [ - "SpaceAgeTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["SpaceAge.php"], + "test": ["SpaceAgeTest.php"], + "example": [".meta/example.php"] }, "source": "Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial.", "source_url": "http://pine.fm/LearnToProgram/?Chapter=01" diff --git a/exercises/practice/sum-of-multiples/.meta/config.json b/exercises/practice/sum-of-multiples/.meta/config.json index a533569b..40731a39 100644 --- a/exercises/practice/sum-of-multiples/.meta/config.json +++ b/exercises/practice/sum-of-multiples/.meta/config.json @@ -1,6 +1,13 @@ { "blurb": "Given a number, find the sum of all the multiples of particular numbers up to but not including that number.", - "authors": [], + "authors": [ + "arthurchipdean" + ], + "contributors": [ + "arueckauer", + "kytrinyx", + "neenjaw" + ], "files": { "solution": [ "SumOfMultiples.php" diff --git a/exercises/practice/transpose/.meta/config.json b/exercises/practice/transpose/.meta/config.json index 80435e36..6d787857 100644 --- a/exercises/practice/transpose/.meta/config.json +++ b/exercises/practice/transpose/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Take input text and output it transposed.", - "authors": [], + "authors": ["kk-r"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "Transpose.php" - ], - "test": [ - "TransposeTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Transpose.php"], + "test": ["TransposeTest.php"], + "example": [".meta/example.php"] }, "source": "Reddit r/dailyprogrammer challenge #270 [Easy].", "source_url": "https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text" diff --git a/exercises/practice/triangle/.meta/config.json b/exercises/practice/triangle/.meta/config.json index fc12e357..44a718d6 100644 --- a/exercises/practice/triangle/.meta/config.json +++ b/exercises/practice/triangle/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Determine if a triangle is equilateral, isosceles, or scalene.", - "authors": [], + "authors": ["camilopayan"], + "contributors": [ + "arueckauer", + "G-Rath", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "Triangle.php" - ], - "test": [ - "TriangleTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Triangle.php"], + "test": ["TriangleTest.php"], + "example": [".meta/example.php"] }, "source": "The Ruby Koans triangle project, parts 1 & 2", "source_url": "http://rubykoans.com" diff --git a/exercises/practice/trinary/.meta/config.json b/exercises/practice/trinary/.meta/config.json index 711fd317..c285b78c 100644 --- a/exercises/practice/trinary/.meta/config.json +++ b/exercises/practice/trinary/.meta/config.json @@ -1,16 +1,20 @@ { "blurb": "Convert a trinary number, represented as a string (e.g. '102012'), to its decimal equivalent using first principles.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "LucasThompson", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "Trinary.php" - ], - "test": [ - "TrinaryTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Trinary.php"], + "test": ["TrinaryTest.php"], + "example": [".meta/example.php"] }, "source": "All of Computer Science", "source_url": "http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-" diff --git a/exercises/practice/two-fer/.meta/config.json b/exercises/practice/two-fer/.meta/config.json index cf80fa10..ac5d6be8 100644 --- a/exercises/practice/two-fer/.meta/config.json +++ b/exercises/practice/two-fer/.meta/config.json @@ -1,6 +1,12 @@ { "blurb": "Create a sentence of the form \"One for X, one for me.\"", - "authors": [], + "authors": [ + "rossbearman" + ], + "contributors": [ + "arueckauer", + "neenjaw" + ], "files": { "solution": [ "TwoFer.php" diff --git a/exercises/practice/variable-length-quantity/.meta/config.json b/exercises/practice/variable-length-quantity/.meta/config.json index 4047f35b..35f686d5 100644 --- a/exercises/practice/variable-length-quantity/.meta/config.json +++ b/exercises/practice/variable-length-quantity/.meta/config.json @@ -1,16 +1,17 @@ { "blurb": "Implement variable length quantity encoding and decoding.", - "authors": [], + "authors": ["pmatseykanets"], + "contributors": [ + "arueckauer", + "Hrumpa", + "kunicmarko20", + "kytrinyx", + "petemcfarlane" + ], "files": { - "solution": [ - "VariableLengthQuantity.php" - ], - "test": [ - "VariableLengthQuantityTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["VariableLengthQuantity.php"], + "test": ["VariableLengthQuantityTest.php"], + "example": [".meta/example.php"] }, "source": "A poor Splice developer having to implement MIDI encoding/decoding.", "source_url": "https://splice.com" diff --git a/exercises/practice/word-count/.meta/config.json b/exercises/practice/word-count/.meta/config.json index 5bc91cd8..f1b66ca0 100644 --- a/exercises/practice/word-count/.meta/config.json +++ b/exercises/practice/word-count/.meta/config.json @@ -1,16 +1,11 @@ { "blurb": "Given a phrase, count the occurrences of each word in that phrase.", - "authors": [], + "authors": ["ecrmnn"], + "contributors": ["arueckauer", "kunicmarko20", "kytrinyx", "petemcfarlane"], "files": { - "solution": [ - "WordCount.php" - ], - "test": [ - "WordCountTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["WordCount.php"], + "test": ["WordCountTest.php"], + "example": [".meta/example.php"] }, "source": "This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour." } diff --git a/exercises/practice/wordy/.meta/config.json b/exercises/practice/wordy/.meta/config.json index 711cf893..a2ba4513 100644 --- a/exercises/practice/wordy/.meta/config.json +++ b/exercises/practice/wordy/.meta/config.json @@ -1,16 +1,19 @@ { "blurb": "Parse and evaluate simple math word problems returning the answer as an integer.", "authors": [], + "contributors": [ + "arueckauer", + "dkinzer", + "kunicmarko20", + "kytrinyx", + "lafent", + "petemcfarlane", + "yisraeldov" + ], "files": { - "solution": [ - "Wordy.php" - ], - "test": [ - "WordyTest.php" - ], - "example": [ - ".meta/example.php" - ] + "solution": ["Wordy.php"], + "test": ["WordyTest.php"], + "example": [".meta/example.php"] }, "source": "Inspired by one of the generated questions in the Extreme Startup game.", "source_url": "https://github.com/rchatley/extreme_startup"