<!-- thumbnail: https://i.sstatic.net/AytVt.png -->

> ##Online demo courtesy of George Edison:
>
> http://quickmediasolutions.com/flack/
>
> **Note:** this tool now works with all Stack Exchange sites. Just paste the URL of your profile and the app will take care of the rest.

##Screenshot / Code Snippet

> `$ python flack.py 126042`
>
> `Before 'if' statement... Past 'if' statement. Floating point exception on my system. So, you should check whether e is a very popular way to access Word and Excel documents. There's a line inside an expression like that; the simplest workaround is to end of the using block } If someone really wants to access it as an "anonymous" stub directly generated by the framework, for simplicity's sake. Check our Eureqa, a free (as in beer) utility from Cornell University. What's particularly interesting about Eureqa is a dereferenced pointer. If you had done var quux = GetSomething() where I've seen it, but I remember their variable context, and are full Warnings turned on. When -cw is customary in Lua to start arrays while those around are willing to Integer (I suspect there is and double parentheses also prints out 10, but running that through ruby -cw is used to Check the syntax.`

##About
FlackOverstow is a toy, written in Python 2.6 (but *should* be compatible with 2.5 -- let me know if it's not).  It pulls the latest questions or answers or comments for a given user ID and creates a Markov chain of the text, then gives you something that should never be posted as a real answer.  (If you're not familiar, [Markov chains][2] are one way that spammers make emails/posts that look like natural text, until you look more closely.)

###License

It's a toy application, so I chose the [MIT license][3] to make it very open source.  Feel free to include it on your site or in your app.  If you do use it, you aren't obligated to tell me about it, but I'd love to hear about it or see your app.

###Download

My Bazaar branches are on [Launchpad][4], but you can download the package (it's just 3 Python files in a single zip or tarball) from [Google Code][5].

###Platform

I've successfully run this on both Windows and Mac platforms.  I would expect it to run fine on Linux as well.

##Contact

If you need to contact me for some reason, use Launchpad or Google Code for it.  Or just comment here.

##Code

Written in pure Python 2.6.  Uses [`simplejson`][6] when possible, then falls back to [`json`][7].  Depends on BeautifulSoup to get rid of HTML in the body portion of questions, answers, comments.

## Your Flack Overstows

If you generate any particularly funny spam with Flack Overstow, post it here!  Be sure to play with the options on the command line (`flack.py --help` for details).  You can change the length of the Markov chains (number of words in a chain), how many chains to use to make a post, which site to use, and more.  You can specify an API key to use at the command line, if necessary.

### Updates in v0.2

I've updated the API version to use v1.0, and I've modified the command line format for specifying the site.  Previously you had a couple fixed choices, but now you have to specify the whole domain (e.g. stackoverflow.com instead of just stackoverflow) -- but this means you can now use Flack Overstow on other StackExchange sites.

Have fun!

  [2]: http://en.wikipedia.org/wiki/Markov_chain#Markov_text_generators
  [3]: http://www.opensource.org/licenses/mit-license.php
  [4]: https://code.launchpad.net/~mark.rushakoff/flackoverstow/0.1
  [5]: http://code.google.com/p/flackoverstow/downloads/list
  [6]: http://simplejson.googlecode.com/svn/tags/simplejson-2.1.1/docs/index.html
  [7]: http://docs.python.org/library/json.html