Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Collaborate on a Surrealist Rails App

Collaborate on a Surrealist Rails App

Surrealism is an artistic practice in which mundane but dissimilar ideas are juxtaposed to create surprising or nonsensical ideas. This has interesting results when applied to startup culture. In this workshop, rather than finding a market niche which can be exploited for fame, revenue, or power, we will be using our skills as Rails developers to create products with no practical use whatsoever. We will use a variation of the surrealist game Exquisite Corpse to create collaborative Rails apps, then present them to one another in a mockery of venture capitalism.

Terian Koscik

May 05, 2016
Tweet

More Decks by Terian Koscik

Other Decks in Technology

Transcript

  1. Let’s Make Some
    Surrealist
    Rails Apps
    Terian Koscik
    @spine_cone
    RailsConf 2016!
    www.pineconedoesthings.com/surreal

    View Slide

  2. hello it’s me
    www.pineconedoesthings.com
    www.djangogirls.com/pycon
    www.twitter.com/spine_cone
    www.github.com/tpinecone

    View Slide

  3. ● What’s your name?
    ● What’s your experience with Rails?
    ● How do you like to be creative?

    View Slide

  4. View Slide

  5. (www.stupidhackathon.com)

    View Slide

  6. (www.stupidhackathon.com)

    View Slide

  7. View Slide

  8. What we’ll be learning today:
    ● What it’s like to work on an unfamiliar codebase
    ● How to feel comfortable making mistakes
    ● How to come up with and try out new ideas
    ● How to ask for help fearlessly and help others kindly

    View Slide

  9. What we won’t be learning today :(
    ● How to make an efficient Rails app
    ● How to make a useful Rails app
    ● How to make a profitable Rails app

    View Slide

  10. How often do you write software for fun?

    View Slide

  11. How we’re supposed to practice programming:
    (http://guides.rubyonrails.org/ and https://en.wikipedia.
    org/wiki/Quicksort )

    View Slide

  12. A more interesting way:

    View Slide

  13. (http://arsonanthemkj.deviantart.com/art/Figure-drawing-
    Foot-study-337331202)

    View Slide

  14. (http://www.wikiart.org/en/rene-magritte/the-red-model-1934)

    View Slide

  15. (www.google.com)

    View Slide

  16. I don't want words that other people
    have invented. All the words are other
    people's inventions. I want my own
    stuff, my own rhythm, and vowels and
    consonants too, matching the rhythm
    and all my own. If this pulsation is
    seven yards long, I want words for it
    that are seven yards long.
    -DADA MANIFESTO

    View Slide

  17. Agenda:
    ● Get into groups
    ● Figure out the version of Ruby/Rails you want your group’
    s apps to use
    ● Work on an app for 30 minutes (backend)
    ● BREAK (5 minutes)
    ● Pass your app to the person next to you, work on your new
    app for 30 minutes (frontend)
    ● Pass your app to the person next to you, work on your VC
    funding proposal (10 minutes)
    ● Presentations!

    View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. CODE OF CONDUCT FOR TRADING USBS WITH PEOPLE
    Today we’ll be passing around USBs with our apps on
    them since we can’t rely on the internet being stable
    enough to use GitHub.
    Please be kind to your fellow attendees’ privacy and
    property.

    View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. Working On “Frontend” vs. working on “Backend”
    ● Models and database schema are backend
    ● HTML, CSS, and Javascript are frontend
    ● Controllers and routes are ehhhhhh…
    Try not to obscure the original author’s intent too much,
    but if something looks clearly broken or unfinished go ahead
    and fix it.

    View Slide

  28. How to be awesome (if you’re a beginner):
    ● Ask questions!
    ● Google is your best friend
    ● It’s ok to cheat (steal ideas, steal code, copy and
    paste)
    ● Be proud of your work.

    View Slide

  29. How to be awesome (for experienced programmers):
    ● Help each other out
    ● Respect every question and person asking questions
    ● Try something ridiculous (when life gives you lemons make
    a RESTful Lemons API)
    ● If you know the right way to solve a problem, try the
    wrong way.

    View Slide

  30. ANTI-GOALS
    ● Creating something that could actually be useful or make
    money
    ● Writing clean code
    ● Doing things the way they’ve always been done
    ● Criticizing other people’s work

    View Slide

  31. ????????????????????????
    ????????????????????????
    Questions?
    ????????????????????????
    ????????????????????????

    View Slide

  32. TAKE A BREAK

    View Slide

  33. When you’re ready to trade apps...
    ● Put your repository on a USB (or git repo)
    ● Pass it to the next pair in your group

    View Slide

  34. When you’re ready to trade apps...
    ● Help the next pair in your group set up your app on their
    machine so they can take screenshots.
    ● Start the rails server.
    ● Give them a tour of your app.

    View Slide

  35. Your Startup Pitch
    Your app has been selected to be reviewed for
    funding! What is it going to disrupt? What is it
    going to be the Uber of? Tell us why your company
    deserves one billion dollars.

    View Slide

  36. Presentations!

    View Slide