Reworder – A tale of learning Python and launching an app in five days.

  • make sure you use tabs to format all of your Python code

    I disagree. Idiomatic Python uses 4 spaces per indent.

    Either solely use tabs or solely use spaces, they don’t work well together, at least in my experience

    Mixing tabs and spaces is indeed very unwise. You can run Python with the -tt option to make sure you're consistent.

    Read Style Guide for Python Code for more advice on this front

    I agree ;-) The author probably refers to PEP8, http://www.python.org/dev/peps/pep-0008/

  •   Traceback (most recent call last):
        File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
          handler.post(*groups)
        File "/base/data/home/apps/reworder/1.345779356045891791/reworder.py", line 122, in post
          headers={'Content-Type': 'application/x-www-form-urlencoded'}).content)
        File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/__init__.py", line 232, in loads
          return cls(encoding=encoding, **kw).decode(s)
        File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/decoder.py", line 251, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
        File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/decoder.py", line 270, in raw_decode
          raise ValueError("No JSON object could be decoded")
      ValueError: No JSON object could be decoded
    
    Entered text "this is a test." and hit submit.

  •     Traceback (most recent call last):
          File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
            handler.post(*groups)
          File "/base/data/home/apps/reworder/1.345779356045891791/reworder.py", line 140, in post
            synonym = synonym_for_word(stripped_word, tag)
          File "/base/data/home/apps/reworder/1.345779356045891791/reworder.py", line 201, in synonym_for_word
            return result.get(word_type)['syn'][0]
        KeyError: 'syn'

  • "I was already pretty dead set on learning a functional language (either Python or Ruby)"

    Did I see something strange here?

  • He said he wanted to learn a functional language, and then listed Python and Ruby. Weird.

  • Completely unrelated to your write up but theres a bug. In FF if I back up and resubmit it doesn't update to the new text. I still see my first submission.

  • "App engine is fast and awesome, right now. However, if your site gets really popular, you may consider moving off of it."

    Perhaps you can explain why you believe this to be true? I thought that the strength of App Engine is that you can stay on it no matter how popular your app gets.

  • Traceback (most recent call last): File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__ handler.post(*groups) File "/base/data/home/apps/reworder/1.345779356045891791/reworder.py", line 140, in post synonym = synonym_for_word(stripped_word, tag) File "/base/data/home/apps/reworder/1.345779356045891791/reworder.py", line 201, in synonym_for_word return result.get(word_type)['syn'][0] KeyError: 'syn'

  • Awesome story. Thank you very much for the Stanford links.

  • Hey, weren't you supposed to be a designer :) That's pretty quick to go from 0 to launch in 5 days in an unknown language.

    Congratulations!

  • Any input containing a forward slash results in a ValueError.

  • if anyone cares, rephrasing engines are used to create splogs for SEO

  • Breaks on apostrophes.