GithubHelp home page GithubHelp logo

extreme_startup's People

Contributors

anders88 avatar jhannes avatar mattwynne avatar mlainez avatar rchatley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

extreme_startup's Issues

Scoring of WebshopConversation

  • Should require two or more items in webshop
  • Should always request the price for four items, no matter how many there are available
  • Should reduce score if another item already has the same price
  • Should always order four items, no matter how many there are available
  • Should give a huge score on successful completion (500?)

How quickly can we send questions?

See if the sleep can be reduced dramatically when there's 20 players. Maybe sleep time of 1 second, both for ok and failed questions.

Wrong fibonacci algorithm ;)

Code from server:

def correct_answer
  n = which_number
  root5 = Math.sqrt(5)
  phi = 0.5 + root5/2
  Integer(0.5 + phi**n/root5)
end

This fails miserably on larger fibonaccis due to precision issues. sqrt(5) is an irrational number, its precision is calculated to over 1 mill decimals. Ruby float: Math.sqrt(5) == 2.23606797749979 is just too imprecise.

It actually fails already with fib(71):

def gr_fib(n)
  root5 = Math.sqrt(5)
  phi = 0.5 + root5/2
  Integer(0.5 + phi**n/root5)
end
>> (69...72).map { |n| gr_fib n }
=> [117669030460994, 190392490709135, 308061521170130]
>> 117669030460994+190392490709135
=> 308061521170129

I suggest you use an iterative version instead. For instance:

def fib(n)
  a, b = 0, 1
  (0...n).each { |_| a, b = b, a + b }
  a
end

Stress test before next coding dojo

  • Create three player servers
    • One that answers nothin
    • One that answers a few questions
    • One that answers all questions
  • Start the server
  • Registrer about 20 copies of each of the player servers with the script under utils
  • Let it sit for 10 hours

Limit maximum payoff from question

After a question has been answered correctly 10x times, reduce score to 10%

After a question has been answered incorrectly 10x times and never correctly, reduce penalty to 1% of base score

After a question has been answered correctly, increase the penalty to 20%

Progressively add questions at startup

When user has responded to warmup question, automatically provide a few more.

Also: Make the display show which users have never answered a question correctly

Add impossible question

Add a question that sometimes don't have an answer. Learning benefit: "Sometimes, the customer will never be happy. You have to ignore the haters and move on".

Some of these questions may make the server bomb

Possible:

  • "what is the arcsin of {1}", where {1} is -1.1 - 1.1 (arcsin(1.1) is undefined)
  • "what is 3 / 0"
  • "what word is number 8 in "all the kings men""

Log session in an easy to retrieve way

Log a session in such a way that we can look at what happened to an individual player and what questions got answered wrong and right. Log files should automatically be unique after a restart.

Server crashes when client doesn't respond

extreme_startup/lib/extreme_startup/question.rb:73:in `log_result': undefined method `[]' for nil:NilClass (NoMethodError)
    from extreme_startup/lib/extreme_startup/quiz_master.rb:82:in `start'
    from extreme_startup/lib/extreme_startup/web_server.rb:115:in `block (2 levels) in <class:WebServer>'

Reproduce:

  • Start server
  • Register player
  • Answer some questions
  • Close client
  • Watch server crash

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.