6
\$\begingroup\$

One single proposal per answer, most upvoted as of 2013-12-21 (12:00AM UTC) becomes our next challenge!

The winning entry shall be marked as the accepted answer.

index | previous challenge | next challenge

\$\endgroup\$

4 Answers 4

5
\$\begingroup\$

Gotta catch'em all!

Write a small program that will send an HTTP GET request to the Pokédex, find all Pokémons and deserialize them into objects, optionally displaying them along with some relevant information.

The author of the web API has created a CR account just for this! See comment here.

\$\endgroup\$
3
  • 5
    \$\begingroup\$ Oh wow! This is awesome, if my API is picked, I'll be happy to help judge the challenge and provide support :) \$\endgroup\$
    – phalt
    Commented Dec 17, 2013 at 10:17
  • 3
    \$\begingroup\$ I think this needs something else to make it interesting. I mean, as it stands it looks as though json.load(urllib2.urlopen('http://pokeapi.co/api/v1/pokedex/1/')) would be a valid solution. Something like, "fetch two Pokémons and simulate a battle"? (I know nothing about Pokémon but I believe they fight battles according to some kind of rules, right?) \$\endgroup\$ Commented Dec 18, 2013 at 12:23
  • \$\begingroup\$ That's a good idea, I like that. Maybe some form of "Top Trumps" with Pokemon statistics? How about - grab 2 random pokemon and compare their stats and determine the winner? \$\endgroup\$
    – phalt
    Commented Dec 19, 2013 at 11:25
2
\$\begingroup\$

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext   ABCDEFGHIJKLMNOPQRSTUVWXYZ
ciphertext  RDYBXZWFCTIELAMJPGQVNSOHUK

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD 
QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR
VQLJAJTJKEJYKQRAQK

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW
XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ
FXYIFBOIGVSI

UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA
OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD

EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK
TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN
DOGXHEDHHKRQXH

CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF
YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG

(submitted by Gareth Rees)

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Can we assume that the plaintext is in English? \$\endgroup\$
    – svick
    Commented Dec 17, 2013 at 18:07
  • \$\begingroup\$ If you like! Guesses about the nature of the plaintext come under the heading of "advice from the cryptanalyst". \$\endgroup\$ Commented Dec 17, 2013 at 19:16
2
\$\begingroup\$

Internet Bot

The challenge is to program an Internet Relay Chat bot:

An IRC bot is a set of scripts or an independent program that connects to Internet Relay Chat as a client, and so appears to other IRC users as another user. An IRC bot differs from a regular client in that instead of providing interactive access to IRC for a human user, it performs automated functions.

You could also deviate from this and create an automated bot to respond to certain messages in the Code Review chat or any other SE site chat(1).


(1) Take a look at what StackExchange tolerates if you choose to go down this route.

\$\endgroup\$
1
0
\$\begingroup\$

StackExchange App

This is more of an open-end challenge to develop any app that does something on the Stack Exchange network. It could be anything a tack-able chat box to a app that triggers a desktop notification every time there is an event associated with your account.

Use the StackExchange API to get you started.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .