Rosetta Code/List authors of task descriptions

From Rosetta Code
Revision as of 15:17, 4 September 2017 by Thundergnat (talk | contribs) (→‎{{header|Perl 6}}: Restore broken task links)
Rosetta Code/List authors of task descriptions is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

In this task, the goal is to compile an authorship list for task descriptions. A pseudocode example (in imperative style) that should accomplish this is as follows:

<lang pseudocode>for each task page

 grab page source, discard everything after the first ==section==.

Cache as $previous. Note $author.

 for each revision
   grab page source, discard everything after first ==section==.

Cache as $previous2. Note $author2

   compare $previous2 to $previous. If different, record $author to $list.
   replace $previous with $previous2
   replace $author with $author2</lang>

The following resources for HTTP interface information for MediaWiki may prove to be useful:

Conversely, some languages have libraries which abstract these interfaces into language-native idioms. Use of these abstractions is perfectly fine.


Please DO NOT add a full output for each programming language; just show a representative sample. One full list is useful. Multiple full lists just use space and bandwidth.

Perl 6

Works with: Rakudo version 2017.08

The pseudocode above is no longer really useful as the page format has changed. Rather than checking every edit to see if it was a change to the task description, we'll just assume the user that created the page is the task author. This isn't 100% accurate; a very few pages got renamed and recreated by someone other than the original author without preserving the history, so they are misreported (15 Puzzle Game for instance,) but is as good as it is likely to get without extensive manual intervention. Any further edits to the task description are not credited. As it is, we must still make thousands of requests and pound the server pretty hard. Checking every edit would make the task several of orders of magnitude more abusive of the server (and my internet connection.)

Each stage of the scraping process is saved to local files so it can be restarted without losing all your progress in the event of a timeout or error. If that happens though, you need to manually adjust where to restart the process.

<lang perl6>use HTTP::UserAgent; use Gumbo; use Sort::Naturally;

my $ua = HTTP::UserAgent.new;

for 'Programming_Tasks', 'Draft_Programming_Tasks' -> $category { # Get lists of Tasks & Draft Tasks

   # last; # Uncomment to skip this step
   my $page = "http://rosettacode.org/wiki/Category:$category";
   my $html =  $ua.get($page).content;

my $xmldoc = parse-html($html, :TAG

, :id<mw-pages>); my @tasks = parse-html($xmldoc[0].Str, :TAG
  • ).Str.comb( /'/wiki/' <-["]>+ / )>>.substr(6); #" my $f = open("./RC_{$category}.txt", :w) or die "$!\n"; $f.print( @tasks.join("\n") ); $f.close; } for 'Programming_Tasks', 'Draft_Programming_Tasks' -> $category { # Scrape info from each page. # last; # Uncomment to skip this step my @tasks = "./RC_{$category}.txt".IO.slurp.lines; for @tasks -> $title { my $ua = HTTP::UserAgent.new; # Get the earliest edit my $addr = "http://rosettacode.org/mw/index.php?title={$title}&dir=prev&limit=1&action=history"; my $html = $ua.get: $addr; $html.content ~~ m|'
  • ' (.+?) '' |;
           my $line = $0.lines.tail;
           # Parse out the User name
           $line ~~ m| 'title="User:' <-[>]>+? '>' (.+?) '</a>' |;
    
           my $auth = $0;
           # Oops, no user name, must be anonymous, get IP address instead
           unless $auth {
               $line ~~ m| '"mw-userlink mw-anonuserlink">' (.+?) '</a>' |;
               $auth = $0;
           }
    
           # Parse out human readable title
           $line ~~ m| '<a href="/mw/index.php?title=' $title '&' .+? 'title="'(.+?)'">cur</a>' |;
    
           my $decoded = $0;
           
           # report progress
           say "$decoded: $auth";
    
           # save it to a file
           my $f = open("./RC_Authors.txt", :a)  or die "$!\n";
           $f.say( "$decoded\t$category\t$auth" );
           $f.close;
    
           sleep 3; # Don't pound the server
       }
       sleep 300; # Wait between batches, seems to disconnect after 1000 requests without pause
    

    }

    my %authors;

    1. Generate an HTML table from the results.

    my ($cnt, $draftcnt, $taskcnt); "./RC_Authors.txt".IO.slurp.lines.map: {

       my ($task, $cat, $auth) = $_.split("\t");
       $cnt++;
       if $cat.contains('Draft') {
           $cat = 'Draft:';
           $draftcnt++;
       } else {
           $cat = 'Task: ';
           $taskcnt++;
       }
       %authors{$auth}.push: "$cat $task";
    

    };

    1. Dump an HTML table to STDOUT, capture it for display
    say '';

    for %authors.sort(*.key.&naturally) -> $a {

    print '';

    }

    say '
    As of ', Date.today, ' | Total: ',
       $cnt, ' / Tasks: ', $taskcnt, ' / Draft Tasks: ', $draftcnt,
    
    '
    UserAuthored
    ', $a.key, '
    1. '; print $a.value.sort( *.substr(7) ).join('
    2. '); say '
    ';</lang>
    Output:
    As of 2017-09-04 | Total: 1059 / Tasks: 854 / Draft Tasks: 205
    UserAuthored
    2Powers
    1. Draft: Names to numbers
    2. Draft: Solving coin problems
    12.175.32.19
    1. Task: Soundex
    12Me21
    1. Task: Draw a rotating cube
    64.131.185.25
    1. Task: Sierpinski carpet
    2. Task: Sierpinski triangle
    66.120.226.84
    1. Task: Top rank per group
    67.20.197.154
    1. Task: RSA code
    68.38.195.134
    1. Task: Zig-zag matrix
    68.175.31.239
    1. Task: SEDOLs
    69.12.181.181
    1. Task: Random numbers
    70.83.182.253
    1. Task: Check that file exists
    2. Task: Create a file
    3. Task: Delete a file
    4. Task: File modification time
    5. Task: File size
    6. Task: Rename a file
    71.205.120.86
    1. Task: Function definition
    74.56.102.15
    1. Task: Compound data type
    2. Task: Copy a string
    3. Task: Enumerations
    4. Task: Increment a numerical string
    5. Task: Polymorphism
    6. Task: Stack
    74.74.225.216
    1. Task: Singly-linked list/Traversal
    76.19.46.239
    1. Task: Non-decimal radices/Convert
    76.91.63.71
    1. Task: Sorting algorithms/Heapsort
    77.250.119.152
    1. Task: Haversine formula
    78.35.107.83
    1. Task: Discordian date
    2. Task: Leap year
    78.146.0.60
    1. Task: Narcissist
    79.54.58.148
    1. Task: Paraffins
    82.32.24.201
    1. Draft: Aspect Oriented Programming
    83.104.248.190
    1. Task: Matrix multiplication
    87.224.129.185
    1. Task: Canny edge detector
    91.4.78.20
    1. Task: Ordered Partitions
    96.20.64.30
    1. Task: Mandelbrot set
    99.105.56.162
    1. Task: Levenshtein distance
    137.195.250.2
    1. Task: Sorting algorithms/Bogosort
    2. Task: Sorting algorithms/Permutation sort
    142.204.88.102
    1. Task: Create an HTML table
    145.254.251.66
    1. Task: List comprehensions
    145.254.251.95
    1. Task: Pattern matching
    146.201.224.238
    1. Task: Reverse a string
    155.192.0.234
    1. Task: Sorting algorithms/Strand sort
    165.124.208.73
    1. Task: Pythagoras tree
    171.65.33.13
    1. Task: Command-line arguments
    195.33.114.129
    1. Task: Sorting algorithms/Shell sort
    200.102.26.6
    1. Task: HTTP
    201.67.232.39
    1. Task: Record sound
    207.74.29.206
    1. Task: Window creation
    209.63.105.137
    1. Task: Associative array/Creation
    2. Task: Fork
    3. Task: Table creation/Postal addresses
    219.77.140.150
    1. Task: Factorial
    Abu
    1. Task: Anonymous recursion
    2. Task: Chat server
    3. Draft: Chess player
    4. Task: Extend your language
    5. Task: First class environments
    6. Task: Function frequency
    7. Task: GUI component interaction
    8. Task: GUI enabling/disabling of controls
    9. Task: Maze generation
    10. Task: Maze solving
    11. Task: Morse code
    12. Task: Parallel calculations
    13. Task: Random number generator (device)
    Adonis
    1. Task: Classes
    2. Task: Walk a directory/Non-recursively
    3. Task: XML/DOM serialization
    Akshay
    1. Draft: Dijkstra's algorithm
    AlainD
    1. Task: Fractran
    2. Task: URL parser
    Alegend
    1. Task: Evaluate binomial coefficients
    AlexLehm
    1. Task: Langton's ant
    Aloisdg
    1. Draft: Munchausen numbers
    2. Draft: Sattolo cycle
    3. Draft: Two Sum
    AnatolV
    1. Task: Kronecker product based fractals
    2. Task: Kronecker product
    Avi
    1. Task: Cholesky decomposition
    2. Task: Element-wise operations
    3. Task: Euler method
    4. Task: LU decomposition
    5. Task: Numerical integration/Gauss-Legendre Quadrature
    6. Task: QR decomposition
    7. Task: UTF-8 encode and decode
    Axtens
    1. Draft: Decision tables
    2. Task: Find limit of recursion
    3. Task: History variables
    4. Task: Last letter-first letter
    5. Task: Price fraction
    6. Task: Take notes on the command line
    7. Draft: Tasks without examples
    Backupbrain
    1. Task: SOAP
    Badmadevil
    1. Task: Pascal's triangle/Puzzle
    2. Task: Power set
    Bcdady
    1. Task: Write to Windows event log
    Bearophile
    1. Draft: ASCII art diagram converter
    2. Draft: Boids
    3. Draft: Dice game probabilities
    4. Draft: Free polyominoes enumeration
    5. Task: Generate lower case ASCII alphabet
    6. Task: Iterated digits squaring
    7. Task: Maximum triangle path sum
    8. Task: Nonogram solver
    9. Task: Sum and Product Puzzle
    10. Task: Total circles area
    Binki
    1. Task: Write entire file
    Bjartur
    1. Draft: Repeat
    Bjrtr
    1. Task: Call an object method
    BlaiseP
    1. Task: The ISAAC Cipher
    Blue Prawn
    1. Task: Bitmap/Bézier curves/Cubic
    2. Task: Bitmap/Bézier curves/Quadratic
    3. Task: Bitmap/Bresenham's line algorithm
    4. Task: Bitmap/Midpoint circle algorithm
    5. Task: Bitmap/PPM conversion through a pipe
    6. Task: Bitmap/Write a PPM file
    7. Task: Bitmap
    8. Task: Catmull–Clark subdivision surface
    9. Draft: Check output device is a terminal
    10. Task: Equilibrium index
    11. Task: Image convolution
    12. Task: LZW compression
    13. Task: Last Friday of each month
    14. Task: Median filter
    15. Task: N-queens problem
    16. Task: Percentage difference between images
    17. Draft: Process SMIL directives in XML data
    18. Task: Shell one-liner
    19. Task: Window creation/X11
    Bob9000
    1. Task: SQL-based authentication
    2. Task: Sort an integer array
    3. Task: Sort using a custom comparator
    BR
    1. Task: Sorting algorithms/Comb sort
    Bubbajim3
    1. Task: MAC Vendor Lookup
    Bugmenot
    1. Task: Array length
    2. Draft: Type detection
    Bugmenot2
    1. Task: Search a list of records
    Bukzor
    1. Task: Make directory path
    Casebash
    1. Task: String matching
    Cblp
    1. Task: Stream Merge
    Ce
    1. Task: Arithmetic/Integer
    2. Task: Comments
    3. Task: Constrained genericity
    4. Task: Create a two-dimensional array at runtime
    5. Task: Infinity
    6. Task: Inheritance/Multiple
    7. Task: Integer comparison
    8. Task: Logical operations
    9. Task: Loops/Downward for
    10. Task: Loops/N plus one half
    11. Task: Pointers and references
    12. Task: Tree traversal
    Cook
    1. Task: Literals/String
    2. Task: Special characters
    Created by: X
    1. Task: Determine if a string is numeric
    CRGreathouse
    1. Task: Literals/Floating point
    2. Task: Matrix arithmetic
    3. Task: Rosetta Code/Find bare lang tags
    4. Draft: Untrusted environment
    Crossrodas1112
    1. Draft: Word break problem
    Cyberjacob
    1. Draft: IRC gateway
    D2
    1. Task: Towers of Hanoi
    Damian.nikodem
    1. Task: Sockets
    DanBron
    1. Task: Host introspection
    2. Task: K-means++ clustering
    Danprager
    1. Draft: Deming's Funnel
    DataWraith
    1. Task: Run-length encoding
    Davewhipp
    1. Task: Constrained random points on a circle
    Davgot
    1. Task: Chinese remainder theorem
    DavidMcCabe
    1. Task: Send an unknown method call
    Daxim
    1. Task: 100 doors
    2. Task: FizzBuzz
    3. Task: HTTPS/Authenticated
    4. Task: OpenGL
    Dbohdan
    1. Task: 2048
    2. Task: FTP
    3. Task: Retrieve and search chat history
    Dgamey
    1. Task: Deepcopy
    2. Task: Galton box animation
    3. Task: Longest string challenge
    4. Task: MD5/Implementation
    5. Task: Sierpinski triangle/Graphical
    6. Task: State name puzzle
    Dingowolf
    1. Draft: Create an object/Native demonstration
    2. Task: Happy numbers
    3. Task: Strip block comments
    4. Task: Variable-length quantity
    Dirkt
    1. Task: Formal power series
    2. Task: Non-continuous subsequences
    3. Task: Parametric polymorphism
    Dkf
    1. Task: Accumulator factory
    2. Task: Animate a pendulum
    3. Task: Animation
    4. Task: Averages/Median
    5. Task: Averages/Mode
    6. Task: Cumulative standard deviation
    7. Task: Echo server
    8. Task: Generator/Exponential
    9. Task: HTTPS/Client-authenticated
    10. Task: HTTPS
    11. Task: Hough transform
    12. Task: Named parameters
    13. Task: Non-decimal radices/Input
    14. Task: Respond to an unknown method call
    15. Draft: Rosetta Code/Tasks sorted by average lines of code
    16. Task: Speech synthesis
    17. Task: Stack traces
    18. Task: Sutherland-Hodgman polygon clipping
    19. Task: Terminal control/Ringing the terminal bell
    20. Task: Verify distribution uniformity/Chi-squared test
    21. Task: Wireworld
    Dmitry-kazakov
    1. Task: Abstract type
    2. Task: Active object
    3. Task: Arena storage pool
    4. Task: Bitmap/Histogram
    5. Task: Bitmap/Read a PPM file
    6. Task: Call a foreign-language function
    7. Task: Checkpoint synchronization
    8. Task: Create an object at a given address
    9. Task: Dining philosophers
    10. Task: Events
    11. Task: Grayscale image
    12. Task: Loops/Nested
    13. Task: Polymorphic copy
    14. Task: Rendezvous
    15. Task: Safe addition
    16. Task: Use another language to call a function
    Drea
    1. Task: Sieve of Eratosthenes
    DSblizzard
    1. Task: Multisplit
    Dstaley
    1. Task: JortSort
    Dstaudacher
    1. Task: Create a file on magnetic tape
    Dubs
    1. Draft: Solve a Rubik's Cube
    Dukzcry
    1. Task: AVL tree
    Dwarring
    1. Draft: Poker hand analyser
    Ed Davis
    1. Task: Compiler/AST interpreter
    2. Task: Compiler/code generator
    3. Task: Compiler/lexical analyzer
    4. Task: Compiler/syntax analyzer
    5. Task: Compiler/virtual machine interpreter
    Edmund
    1. Task: Babbage problem
    2. Draft: French Republican calendar
    Emarch
    1. Draft: I.Q. Puzzle
    EMBee
    1. Draft: Find URI in text
    2. Draft: Make a backup file
    3. Task: Order two numerical lists
    4. Draft: Readline interface
    5. Draft: Rosetta Code/Run examples
    6. Draft: Run as a daemon or service
    7. Task: S-Expressions
    8. Task: Simple database
    9. Draft: Text to HTML
    Emeraude
    1. Task: Floyd-Warshall algorithm
    Epsilon
    1. Task: Arithmetic evaluation
    2. Draft: Proof
    Eriksiers
    1. Task: Sorting algorithms/Pancake sort
    Fabian
    1. Task: Collections
    Farter
    1. Draft: Tetris
    Francogrex
    1. Task: Hash join
    2. Task: Machine code
    Fwend
    1. Task: Archimedean spiral
    2. Task: Barnsley fern
    3. Task: Best shuffle
    4. Task: Chaos game
    5. Task: Julia set
    6. Task: Magic squares of doubly even order
    7. Task: Magic squares of singly even order
    8. Draft: Penrose tiling
    9. Task: Pentagram
    10. Draft: Pentomino tiling
    11. Draft: Perceptron
    12. Task: Plasma effect
    13. Task: Polyspiral
    14. Task: Semordnilap
    15. Task: Set puzzle
    16. Task: Sierpinski pentagon
    17. Task: Superellipse
    18. Task: Temperature conversion
    19. Task: Vampire number
    20. Draft: Word search
    G.Brougnard
    1. Draft: Addition chains
    2. Draft: Cipolla's algorithm
    3. Draft: Prime conspiracy
    4. Draft: Railway circuit
    5. Draft: Simulated annealing
    6. Draft: Tonelli-Shanks algorithm
    Geka Sua
    1. Task: Compare sorting algorithms' performance
    2. Task: Plot coordinate pairs
    3. Task: Polynomial regression
    4. Task: Time a function
    5. Task: Write float arrays to a text file
    Geoffhacker
    1. Draft: Longest Common Substring
    Georg Peter
    1. Task: Integer overflow
    Gerard Schildberger
    1. Task: 4-rings or 4-squares puzzle
    2. Task: Bernoulli numbers
    3. Task: Commatizing numbers
    4. Draft: Egyptian fractions
    5. Task: Emirp primes
    6. Task: Exponentiation order
    7. Task: Farey sequence
    8. Task: Find palindromic numbers in both binary and ternary bases
    9. Draft: Idiomatically determine all the characters that can be used for symbols
    10. Draft: Idiomatically determine all the lowercase and uppercase letters
    11. Draft: Knuth's power tree
    12. Task: Left factorials
    13. Draft: Leonardo numbers
    14. Draft: Lucky and even lucky numbers
    15. Task: Magic squares of odd order
    16. Task: Pernicious numbers
    17. Task: Population count
    18. Task: Primorial numbers
    19. Task: Pythagorean quadruples
    20. Task: Reverse words in a string
    21. Task: Sort three variables
    22. Task: Split a character string based on change of character
    23. Task: Sum to 100
    24. Task: Taxicab numbers
    25. Task: Ulam spiral (for primes)
    26. Task: Zero to the zero power
    Gfannes
    1. Task: Apply a callback to an array
    2. Task: Filter
    3. Task: Hash from two arrays
    4. Task: Remove duplicate elements
    5. Task: XML/XPath
    Glennj
    1. Task: Boolean values
    2. Task: Date manipulation
    3. Task: Doubly-linked list/Traversal
    4. Task: Loop over multiple arrays simultaneously
    5. Task: Loops/For with a specified step
    6. Task: Repeat a string
    GlitchMr
    1. Draft: Check input device is a terminal
    2. Draft: Damm algorithm
    Gn4v3
    1. Task: Greatest subsequential sum
    GozzoMan
    1. Task: Higher-order functions
    Grauenwolf
    1. Task: Determine if only one instance is running
    2. Task: Doubly-linked list/Definition
    3. Task: XML/Input
    4. Task: XML/Output
    GreatPalash
    1. Draft: Substitution Cipher
    Grondilu
    1. Task: Bitcoin/address validation
    2. Task: Bitcoin/public point to address
    3. Draft: Display a linear combination
    4. Draft: Elementary cellular automaton/Infinite length
    5. Draft: Elementary cellular automaton/Random Number Generator
    6. Task: Elementary cellular automaton
    7. Draft: Elliptic curve arithmetic
    8. Draft: Entropy/Narcissist
    9. Task: FASTA format
    10. Task: Generate Chess960 starting position
    11. Draft: Generate random chess position
    12. Draft: Geometric algebra
    13. Draft: Index finite lists of positive integers
    14. Draft: Levenshtein distance/Alignment
    15. Draft: Modular arithmetic
    16. Task: Modular inverse
    17. Draft: Orbital elements
    18. Draft: Perlin noise
    19. Task: SHA-256
    20. Draft: Shortest common supersequence
    21. Draft: Suffix tree
    22. Task: Test integerness
    23. Task: Topic variable
    Guga360
    1. Task: Arrays
    2. Task: Execute HQ9+
    3. Task: Image noise
    4. Task: Rosetta Code/Fix code tags
    5. Task: Rosetta Code/Rank languages by popularity
    6. Task: Yahoo! search interface
    Hajo
    1. Draft: One-time pad
    Hamstar
    1. Task: Active Directory/Connect
    2. Task: Active Directory/Search for a user
    Hansoft
    1. Draft: Sorting Algorithms/Circle Sort
    Hippyman
    1. Draft: Color wheel
    Hircus
    1. Task: Stair-climbing puzzle
    Hout
    1. Task: Cartesian product of two or more lists
    2. Task: Water collected between towers
    Hsnarula
    1. Task: Find the last Sunday of each month
    IanOsgood
    1. Task: Memory allocation
    2. Task: Sorting algorithms/Quicksort
    Infogulch
    1. Task: Sudoku
    Isrunt
    1. Draft: File extension is in extensions list
    Jfd34
    1. Task: The Twelve Days of Christmas
    Jgfoot
    1. Task: Parallel Brute Force
    Jhuni
    1. Task: Enforced immutability
    Jimbojw
    1. Task: Date format
    JimD
    1. Task: Rot-13
    2. Task: Secure temporary file
    JimTheriot
    1. Draft: Chebyshev coefficients
    2. Draft: Particle Swarm Optimization
    3. Draft: Weather Routing
    Jking
    1. Task: ABC Problem
    Jrslepak
    1. Task: Doubly-linked list/Element definition
    2. Task: Doubly-linked list/Element insertion
    Jwilkins
    1. Task: Add a variable to a class instance at runtime
    Kentros
    1. Draft: Word count
    Kernigh
    1. Task: Caesar cipher
    2. Task: Conjugate transpose
    3. Task: DNS query
    4. Task: Deal cards for FreeCell
    5. Task: Empty directory
    6. Task: Even or odd
    7. Task: Identity matrix
    8. Task: Jump anywhere
    9. Task: Least common multiple
    10. Task: Letter frequency
    11. Task: Linear congruential generator
    12. Task: MD4
    13. Task: Modular exponentiation
    14. Task: RIPEMD-160
    15. Task: Return multiple values
    16. Task: SHA-1
    17. Task: Set
    18. Task: Subtractive generator
    Kevin Reid
    1. Task: Atomic updates
    2. Task: Distributed programming
    3. Task: Multiple distinct objects
    4. Task: Optional parameters
    5. Task: Play recorded sounds
    6. Task: Queue/Usage
    7. Task: Read entire file
    8. Task: Rosetta Code/Find unimplemented tasks
    9. Task: Runtime evaluation/In an environment
    10. Task: Runtime evaluation
    11. Task: Stem-and-leaf plot
    12. Task: Variables
    Kipb
    1. Task: Formatted numeric output
    2. Task: String case
    Kwhitefoot
    1. Draft: Singly-linked list/Element removal
    Kzh
    1. Task: Catamorphism
    Lambertdw
    1. Task: Sorting algorithms/Radix sort
    Learneroo
    1. Draft: Input/Output for Lines of Text
    2. Draft: Input/Output for Pairs of Numbers
    Ledrug
    1. Task: Balanced ternary
    2. Task: Color quantization
    3. Task: Count the coins
    4. Task: Cut a rectangle
    5. Task: Draw a clock
    6. Draft: IPC via named pipe
    7. Task: Josephus problem
    8. Draft: List rooted trees
    9. Task: Odd word problem
    10. Task: Priority queue
    11. Task: Pythagorean triples
    12. Task: Resistor mesh
    13. Task: Set of real numbers
    14. Task: Statistics/Basic
    15. Task: Statistics/Normal distribution
    16. Task: Unicode strings
    17. Task: Visualize a tree
    Legrady
    1. Draft: File size distribution
    Lrq3000
    1. Draft: Polynomial synthetic division
    Lupus
    1. Task: Factors of a Mersenne number
    2. Task: Roots of a quadratic function
    3. Task: Sorting algorithms/Selection sort
    MagiMaster
    1. Task: Mad Libs
    2. Draft: Morpion solitaire
    3. Draft: Recursive descent parser generator
    4. Task: Sokoban
    5. Task: Straddling checkerboard
    6. Task: Vigenère cipher/Cryptanalysis
    7. Task: Vigenère cipher
    Magnus
    1. Draft: Finite state machine
    Mahaju
    1. Draft: Montgomery reduction
    MainframeFossil
    1. Task: Get system command output
    Markhobley
    1. Draft: Audio frequency generator
    2. Task: Binary digits
    3. Task: Call a function
    4. Task: Case-sensitivity of identifiers
    5. Draft: Code segment unload
    6. Task: Colour bars/Display
    7. Task: Colour pinstripe/Display
    8. Task: Colour pinstripe/Printer
    9. Task: Count in octal
    10. Task: Death Star
    11. Task: Draw a cuboid
    12. Task: Draw a sphere
    13. Task: Empty string
    14. Task: Function prototype
    15. Task: GUI/Maximum window dimensions
    16. Task: Globally replace text in several files
    17. Task: Greyscale bars/Display
    18. Task: Guess the number
    19. Task: Hello world/Line printer
    20. Task: Hello world/Newline omission
    21. Task: Here document
    22. Task: Honeycombs
    23. Task: Include a file
    24. Task: Inverted syntax
    25. Task: Joystick position
    26. Task: Keyboard input/Flush the keyboard buffer
    27. Task: Keyboard input/Keypress check
    28. Task: Keyboard input/Obtain a Y or N response
    29. Task: Metronome
    30. Draft: Musical scale
    31. Task: Nautical bell
    32. Task: Pinstripe/Display
    33. Task: Pinstripe/Printer
    34. Task: Pi
    35. Task: Pragmatic directives
    36. Task: Read a configuration file
    37. Draft: Read a file character by character/UTF8
    38. Task: Read a file line by line
    39. Task: Read a specific line from a file
    40. Task: Remove lines from a file
    41. Task: Scope/Function names and labels
    42. Task: Special variables
    43. Task: Start from a main routine
    44. Task: String comparison
    45. Task: Strip a set of characters from a string
    46. Task: Strip comments from a string
    47. Task: Strip control codes and extended characters from a string
    48. Task: Strip whitespace from a string/Top and tail
    49. Task: Substring/Top and tail
    50. Task: Terminal control/Clear the screen
    51. Task: Terminal control/Coloured text
    52. Task: Terminal control/Cursor movement
    53. Task: Terminal control/Cursor positioning
    54. Task: Terminal control/Dimensions
    55. Task: Terminal control/Display an extended character
    56. Task: Terminal control/Hiding the cursor
    57. Task: Terminal control/Inverse video
    58. Task: Terminal control/Positional read
    59. Task: Terminal control/Preserve screen
    60. Draft: Terminal control/Restricted width positional input/No wrapping
    61. Draft: Terminal control/Restricted width positional input/With wrapping
    62. Task: Terminal control/Unicode output
    63. Task: Truncate a file
    64. Task: URL decoding
    65. Task: URL encoding
    66. Task: Update a configuration file
    67. Draft: Using a Speech engine to highlight words
    68. Task: Video display modes
    69. Draft: Waveform analysis/Doh ray me
    70. Draft: Waveform analysis/Top and tail
    71. Task: Write language name in 3D ASCII
    Markjreed
    1. Task: Chinese zodiac
    2. Task: Knight's tour
    3. Task: Subleq
    Marshmallows
    1. Task: Amb
    2. Task: Loops/For
    3. Task: Loops/Infinite
    Masak
    1. Task: Average loop length
    2. Task: Balanced brackets
    Mathaddict
    1. Task: A+B
    Matthias
    1. Task: Dragon curve
    Mbishop
    1. Task: Knuth shuffle
    Mcandre
    1. Draft: Modulinos
    2. Draft: Multiline shebang
    3. Draft: Parse command-line arguments
    4. Task: Pick random element
    5. Task: Program name
    MichaelChrisco
    1. Task: Sorting algorithms/Bead sort
    Mikachu
    1. Task: Roman numerals/Decode
    Mikymaione
    1. Draft: Kosaraju
    2. Draft: Tarjan
    Mischief
    1. Draft: Sorting algorithms/Cycle sort
    Mogmios
    1. Draft: VList
    Mroman
    1. Task: Entropy
    Mwn3d
    1. Task: 99 Bottles of Beer
    2. Task: Ackermann function
    3. Task: Arithmetic/Complex
    4. Task: Array concatenation
    5. Task: Assertions
    6. Task: Binary search
    7. Task: Bitwise operations
    8. Draft: Card shuffles
    9. Task: Catalan numbers
    10. Task: Detect division by zero
    11. Task: Documentation
    12. Task: Execute SNUSP
    13. Task: Fibonacci sequence
    14. Task: Five weekends
    15. Task: Gray code
    16. Task: Hello world/Standard error
    17. Task: Huffman coding
    18. Task: Inheritance/Single
    19. Task: Input loop
    20. Task: Longest common subsequence
    21. Task: Loops/Break
    22. Task: Loops/Continue
    23. Task: Loops/Do-while
    24. Task: Loops/Foreach
    25. Task: Loops/While
    26. Task: MD5
    27. Task: Monte Carlo methods
    28. Task: Null object
    29. Task: Numerical integration
    30. Task: Parametrized SQL statement
    31. Task: Pascal's triangle
    32. Task: Perfect numbers
    33. Task: Primality by trial division
    34. Task: Prime decomposition
    35. Task: Program termination
    36. Task: Quine
    37. Task: Real constants and functions
    38. Task: Reduced row echelon form
    39. Task: Rosetta Code/Count examples
    40. Task: Scope modifiers
    41. Task: Show the epoch
    42. Task: Sleep
    43. Task: Sorting algorithms/Cocktail sort
    44. Task: Sorting algorithms/Insertion sort
    45. Task: Sorting algorithms/Merge sort
    46. Task: Sorting algorithms/Stooge sort
    47. Task: String concatenation
    48. Task: String length
    49. Task: Sum and product of an array
    50. Task: System time
    51. Task: Trigonometric functions
    52. Task: User input/Graphical
    53. Task: User input/Text
    54. Task: Variadic function
    55. Task: World Cup group stage
    Namanyayg
    1. Draft: Using the Meetup.com API
    NevilleDNZ
    1. Draft: Addition-chain exponentiation
    2. Task: Append a record to the end of a text file
    3. Task: Arithmetic/Rational
    4. Draft: Banker's algorithm
    5. Draft: Birthday problem
    6. Task: Calendar - for "REAL" programmers
    7. Task: Calendar
    8. Task: Combinations and permutations
    9. Task: Currying
    10. Task: Exponentiation operator
    11. Draft: Find first and last set bit of a long integer
    12. Draft: Generalised floating point addition
    13. Draft: Generalised floating point multiplication
    14. Task: Greatest common divisor
    15. Task: Hello world/Graphical
    16. Task: Holidays related to Easter
    17. Task: Horizontal sundial calculations
    18. Draft: Implicit type conversion
    19. Task: Jensen's Device
    20. Draft: Just in time processing on a character stream
    21. Task: Lucas-Lehmer test
    22. Task: Man or boy test
    23. Task: Matrix-exponentiation operator
    24. Task: Matrix transposition
    25. Task: Multiplication tables
    26. Task: Naming conventions
    27. Draft: Native shebang
    28. Task: Number names
    29. Task: Operator precedence
    30. Draft: Permutations with repetitions
    31. Draft: Reverse the gender of a string
    32. Task: Search a list
    33. Draft: Sorting algorithms/Tree sort on a linked list
    34. Task: String append
    35. Task: String prepend
    36. Task: Ternary logic
    37. Task: Thiele's interpolation formula
    38. Draft: Unicode polynomial equation
    39. Draft: User defined pipe and redirection operators
    Nigel Galloway
    1. Task: 9 billion names of God the integer
    2. Task: Arithmetic-geometric mean/Calculate Pi
    3. Task: Arithmetic-geometric mean
    4. Draft: Blackjack strategy
    5. Task: Carmichael 3 strong pseudoprimes
    6. Task: Casting out nines
    7. Task: Catalan numbers/Pascal's triangle
    8. Draft: Combinations with repetitions/Square Digit Chain
    9. Task: Continued fraction/Arithmetic/Construct from rational number
    10. Draft: Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N)
    11. Draft: Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2)
    12. Task: Continued fraction
    13. Task: Digital root
    14. Task: Fibonacci word/fractal
    15. Task: Fibonacci word
    16. Task: Find largest left truncatable prime in a given base
    17. Draft: Ramsey's theorem
    18. Task: Solve a Hidato puzzle
    19. Task: Solve a Holy Knight's tour
    20. Task: Solve a Hopido puzzle
    21. Task: Solve a Numbrix puzzle
    22. Task: Sum digits of an integer
    23. Task: Textonyms
    24. Draft: Ukkonen’s Suffix Tree Construction
    25. Task: Vogel's approximation method
    26. Task: Zeckendorf arithmetic
    Nirs
    1. Task: Delegates
    2. Task: Queue/Definition
    Old man
    1. Task: Primes - allocate descendants to their ancestors
    Oligomous
    1. Task: Factors of an integer
    2. Task: Substring
    Outis
    1. Task: Reflection/Get source
    2. Task: Reflection/List methods
    3. Draft: Reflection/List methods
    4. Task: Reflection/List properties
    P3cox
    1. Draft: Fibonacci heap
    Paddy3118
    1. Task: 24 game/Solve
    2. Task: 24 game
    3. Task: AKS test for primes
    4. Task: Abundant, deficient and perfect number classifications
    5. Task: Align columns
    6. Task: Aliquot sequence classifications
    7. Task: Almost prime
    8. Task: Amicable pairs
    9. Task: Anagrams/Deranged anagrams
    10. Task: Anagrams
    11. Task: Arbitrary-precision integers (included)
    12. Task: Averages/Mean angle
    13. Task: Averages/Mean time of day
    14. Task: Averages/Pythagorean means
    15. Task: Averages/Root mean square
    16. Task: Averages/Simple moving average
    17. Task: Box the compass
    18. Task: Break OO privacy
    19. Task: Bulls and cows/Player
    20. Task: Bulls and cows
    21. Task: CSV to HTML translation
    22. Task: Circles of given radius through two points
    23. Task: Comma quibbling
    24. Task: Conway's Game of Life
    25. Task: Day of the week
    26. Task: Digital root/Multiplicative digital root
    27. Task: Dinesman's multiple-dwelling problem
    28. Task: Dot product
    29. Task: Dutch national flag problem
    30. Task: Egyptian division
    31. Task: Ethiopian multiplication
    32. Task: Euler's sum of powers conjecture
    33. Task: Evolutionary algorithm
    34. Task: Exceptions/Catch an exception thrown in a nested call
    35. Task: Executable library
    36. Task: Extensible prime generator
    37. Task: Extreme floating point values
    38. Task: Fibonacci n-step number sequences
    39. Task: Find common directory path
    40. Task: First-class functions/Use numbers analogously
    41. Task: First-class functions
    42. Task: Flatten a list
    43. Task: Flipping bits game
    44. Task: Floyd's triangle
    45. Task: Function composition
    46. Draft: Functional coverage tree
    47. Task: Guess the number/With feedback (player)
    48. Task: Guess the number/With feedback
    49. Task: Hailstone sequence
    50. Task: Hamming numbers
    51. Task: Harshad or Niven series
    52. Task: Hello world/Newbie
    53. Task: Heronian triangles
    54. Task: Hickerson series of almost integers
    55. Task: Hofstadter-Conway $10,000 sequence
    56. Task: Hofstadter Figure-Figure sequences
    57. Task: Hofstadter Q sequence
    58. Task: Horner's rule for polynomial evaluation
    59. Task: I before E except after C
    60. Task: Interactive programming
    61. Draft: Kahan summation
    62. Task: Kaprekar numbers
    63. Task: Knapsack problem/Unbounded
    64. Task: Knuth's algorithm S
    65. Task: Largest int from concatenated ints
    66. Task: Literals/Integer
    67. Task: Longest increasing subsequence
    68. Task: Look-and-say sequence
    69. Task: Ludic numbers
    70. Task: Luhn test of credit card numbers
    71. Task: Lychrel numbers
    72. Task: Menu
    73. Task: Middle three digits
    74. Task: Minesweeper game
    75. Task: Monty Hall problem
    76. Task: Move-to-front algorithm
    77. Draft: Multi-dimensional array
    78. Task: Multifactorial
    79. Task: Mutual recursion
    80. Task: N'th
    81. Task: Narcissistic decimal number
    82. Task: Natural sorting
    83. Task: Non-decimal radices/Output
    84. Task: Nonoblock
    85. Task: Number reversal game
    86. Task: Numeric error propagation
    87. Task: One-dimensional cellular automata
    88. Task: One of n lines in a file
    89. Task: Order disjoint list items
    90. Task: Ordered words
    91. Task: Pangram checker
    92. Task: Parsing/RPN calculator algorithm
    93. Task: Parsing/RPN to infix conversion
    94. Task: Parsing/Shunting-yard algorithm
    95. Task: Partial function application
    96. Task: Pascal matrix generation
    97. Task: Penney's game
    98. Task: Percolation/Bond percolation
    99. Task: Percolation/Mean cluster density
    100. Task: Percolation/Mean run density
    101. Task: Percolation/Site percolation
    102. Task: Permutations/Derangements
    103. Task: Permutations/Rank of a permutation
    104. Task: Permutations by swapping
    105. Task: Phrase reversals
    106. Task: Pig the dice game/Player
    107. Task: Pig the dice game
    108. Task: Probabilistic choice
    109. Draft: Proper divisors
    110. Task: Quaternion type
    111. Task: Quickselect algorithm
    112. Task: Random number generator (included)
    113. Task: Range expansion
    114. Task: Range extraction
    115. Task: Ranking methods
    116. Task: Rep-string
    117. Task: Sailors, coconuts and a monkey problem
    118. Task: Send email
    119. Task: Sequence of non-squares
    120. Draft: Sequence of primorial primes
    121. Task: Set consolidation
    122. Task: Seven-sided dice from five-sided dice
    123. Task: Shoelace formula for polygonal area
    124. Task: Short-circuit evaluation
    125. Task: Solve the no connection puzzle
    126. Task: Sort disjoint sublist
    127. Task: Sort stability
    128. Task: Sparkline in unicode
    129. Task: Spiral matrix
    130. Task: Stable marriage problem
    131. Task: Stern-Brocot sequence
    132. Task: String interpolation (included)
    133. Draft: Superpermutation minimisation
    134. Task: Test a function
    135. Task: Text processing/1
    136. Task: Text processing/2
    137. Task: Text processing/Max licenses in use
    138. Task: Tic-tac-toe
    139. Draft: Topological sort/Extracted top item
    140. Task: Topological sort
    141. Task: Topswops
    142. Task: Trabb Pardo–Knuth algorithm
    143. Task: Truncatable primes
    144. Task: Truth table
    145. Task: Unbias a random generator
    146. Task: Unicode variable names
    147. Task: Van der Corput sequence
    148. Task: Vector products
    149. Task: Verify distribution uniformity/Naive
    150. Task: Web scraping
    151. Task: Y combinator
    152. Task: Yin and yang
    153. Task: Zeckendorf number representation
    154. Task: Zhang-Suen thinning algorithm
    Paul
    1. Draft: Linux CPU utilization
    Paul.chernoch
    1. Draft: Cycle detection
    Paulo Jorente
    1. Draft: 15 puzzle solver
    2. Draft: Bacon cipher
    3. Draft: Black Box
    4. Draft: Decimal floating point number to binary
    5. Draft: Greed
    6. Draft: Hexapawn
    7. Draft: Markov chain text generator
    8. Draft: Mastermind
    9. Draft: Playfair cipher
    10. Draft: Robots
    11. Task: Smith numbers
    12. Draft: Snake And Ladder
    13. Draft: Tamagotchi emulator
    Pelci
    1. Task: Combinations with repetitions
    2. Task: Knapsack problem/0-1
    3. Task: Knapsack problem/Bounded
    4. Task: Knapsack problem/Continuous
    5. Task: Permutations
    Pirho
    1. Task: Gaussian elimination
    Pistacchio
    1. Draft: Hunt The Wumpus
    Proton
    1. Draft: External sort
    Rainb
    1. Draft: Base64 encode data
    Ralph
    1. Task: Sort an array of composite structures
    RasF
    1. Task: Problem of Apollonius
    Raslbg
    1. Draft: Data Encryption Standard
    Razerwolf
    1. Draft: Bilinear interpolation
    Rdm
    1. Task: 15 Puzzle Game
    2. Draft: Convex hull
    3. Draft: OpenGL Pixel Shader
    Rob.s.brit
    1. Task: Brownian tree
    2. Task: Execute a Markov algorithm
    3. Task: Fractal tree
    4. Task: Multiple regression
    Roger Hui
    1. Task: Averages/Arithmetic mean
    2. Task: Combinations
    3. Task: Multiplicative order
    4. Task: Roots of unity
    5. Task: Sum of squares
    Roland Illig
    1. Task: Nested function
    Sanaris
    1. Draft: N-body problem
    Sceiler
    1. Draft: Extract file extension
    Senyotzyabin
    1. Task: Sum multiples of 3 and 5
    Sgeier
    1. Task: Hostname
    2. Task: Introspection
    3. Task: Simple windowed application
    Shedai
    1. Draft: Most frequent k chars distance
    ShinTakezou
    1. Task: Binary strings
    2. Task: Bitmap/Flood fill
    3. Task: Bitmap/Read an image through a pipe
    4. Task: Bitwise IO
    5. Task: Call a function in a shared library
    6. Task: Closest-pair problem
    7. Task: Forest fire
    8. Task: Four bit adder
    9. Task: Gamma function
    10. Task: Miller–Rabin primality test
    11. Task: Nth root
    12. Task: Palindrome detection
    13. Task: Polynomial long division
    14. Task: Ray-casting algorithm
    15. Task: Sorting algorithms/Counting sort
    16. Task: Sorting algorithms/Gnome sort
    17. Task: Xiaolin Wu's line algorithm
    Short Circuit
    1. Task: Conditional structures
    2. Task: Count in factors
    3. Task: Empty program
    4. Task: Exceptions
    5. Task: Execute Brain****
    6. Task: Execute a system command
    7. Task: File input/output
    8. Task: Find the missing permutation
    9. Task: Flow-control structures
    10. Task: Greatest element of a list
    11. Task: Hello world/Text
    12. Task: Integer sequence
    13. Task: JSON
    14. Task: Long multiplication
    15. Task: Map range
    16. Task: Old lady swallowed a fly
    17. Task: Parse an IP Address
    18. Task: RCRPG
    19. Task: Rate counter
    20. Draft: Remote agent/Agent interface
    21. Draft: Remote agent/Agent logic
    22. Draft: Remote agent/Simulation
    23. Task: Rock-paper-scissors
    24. Task: Roots of a function
    25. Draft: Rosetta Code/List authors of task descriptions
    26. Task: Singleton
    27. Task: Singly-linked list/Element definition
    28. Task: Singly-linked list/Element insertion
    29. Task: Sum of a series
    30. Task: Symmetric difference
    31. Draft: Table creation
    32. Task: Undefined values
    33. Task: Walk a directory/Recursively
    Simplex
    1. Task: Department Numbers
    Siskus
    1. Draft: Assertions in design by contract
    2. Draft: Separate the house number from the street name
    3. Draft: Starting a web browser
    Sluggo
    1. Task: Deconvolution/1D
    2. Task: Deconvolution/2D+
    3. Task: Permutation test
    4. Draft: Subset sum problem
    Smarmius
    1. Task: Voronoi diagram
    Smls
    1. Task: Brace expansion
    2. Task: Compare a list of strings
    3. Task: Convert seconds to compound duration
    4. Task: Tokenize a string with escaping
    Sonia
    1. Draft: Currency
    2. Task: Hello world/Web server
    3. Task: K-d tree
    4. Task: Sorting algorithms/Sleep sort
    5. Task: Word wrap
    Sothach
    1. Draft: Longest common prefix
    Spekkio
    1. Task: CRC-32
    2. Task: Munching squares
    Spintronic
    1. Draft: XML Validation
    Spoon!
    1. Task: Associative array/Iteration
    2. Task: Character codes
    3. Task: Closures/Value capture
    4. Task: Count occurrences of a substring
    5. Task: Environment variables
    6. Draft: Sorting algorithms/Patience sort
    Star651
    1. Draft: AudioAlarm
    2. Draft: Audio Overlap Loop
    Stone
    1. Task: Tokenize a string
    Sxpert
    1. Draft: OpenWebNet Password
    TBH
    1. Task: Forward difference
    TheWombat
    1. Task: Validate International Securities Identification Number
    Thundergnat
    1. Task: Benford's law
    2. Draft: Imaginary base numbers
    3. Draft: Largest number divisible by its digits
    4. Task: Pathological floating point problems
    5. Task: Self-referential sequence
    Til
    1. Task: Regular expressions
    TimSC
    1. Draft: A* search algorithm
    2. Draft: Angle difference between two bearings
    3. Draft: Apply a digitial filter (direct form II transposed)
    4. Draft: Determine if two triangles overlap
    5. Draft: Eertree
    6. Draft: Find the intersection of a line with a plane
    7. Draft: Find the intersection of two lines
    8. Draft: Negative base numbers
    9. Draft: Ramer-Douglas-Peucker line simplification
    TimToady
    1. Task: Same Fringe
    2. Task: Twelve statements
    Tinku99
    1. Task: Color of a screen pixel
    2. Task: Dynamic variable names
    3. Task: Inverted index
    4. Task: Keyboard macros
    5. Task: Mouse position
    6. Task: OLE Automation
    7. Draft: Parse EBNF
    8. Task: Simulate input/Keyboard
    9. Task: Simulate input/Mouse
    10. Task: Window management
    TobyK
    1. Task: Check Machin-like formulas
    2. Draft: Chess player/Move generation
    3. Draft: Chess player/Program options and user interface
    4. Draft: Chess player/Search and evaluation
    5. Draft: Find duplicate files
    6. Task: Password generator
    Toucanbird
    1. Task: CUSIP
    2. Task: IBAN
    3. Draft: NYSIIS
    4. Draft: Time-based One-time Password Algorithm
    Trizen
    1. Draft: Arithmetic coding/As a generalized change of radix
    2. Task: Cramer's rule
    3. Draft: Faulhaber's formula
    4. Draft: Faulhaber's triangle
    5. Task: Jaro distance
    6. Draft: Snake
    Ttmrichter
    1. Task: Universal Turing machine
    Umariani
    1. Task: Sort a list of object identifiers
    Underscore
    1. Task: Go Fish
    2. Task: Metaprogramming
    Vcelier
    1. Task: Sorting algorithms/Bubble sort
    Vilipetek
    1. Task: CSV data manipulation
    Waldorf
    1. Task: Address of a variable
    2. Task: Concurrent computing
    3. Task: Define a primitive data type
    4. Task: Generic swap
    5. Task: Handle a signal
    6. Task: Memory layout of a data structure
    7. Task: Metered concurrency
    8. Task: Object serialization
    9. Task: Playing cards
    10. Task: Roman numerals/Encode
    11. Task: Synchronous concurrency
    12. Task: Variable size/Get
    13. Task: Variable size/Set
    Walterpachl
    1. Draft: Selective File Copy
    Wei2912
    1. Task: General FizzBuzz
    2. Task: Unix/ls
    WillNess
    1. Task: Sequence of primes by Trial Division
    2. Task: Zebra puzzle
    Wmeyer
    1. Task: Compile-time calculation
    Wolfram
    1. Task: Fast Fourier transform
    Wsg
    1. Task: Semiprime
    Xenoker
    1. Task: Runge-Kutta method
    Xkrouhn
    1. Task: Convert decimal number to rational
    2. Task: Self-describing numbers
    Yuriy Chumak
    1. Draft: OpenGL/Utah Teapot
    Zelah
    1. Draft: Integer roots
    2. Draft: Self-hosting compiler
    Zorro1024
    1. Task: Perfect shuffle
    2. Draft: Vector
    Zzo38
    1. Task: Thue-Morse
    Русский
    1. Task: Main step of GOST 28147-89
    2. Draft: Old Russian measure of length
    3. Draft: Transportation problem