Giter Site home page Giter Site logo

carlcolglazier / cheesecake Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 5.97 MB

๐Ÿง€๐Ÿฐ Evidence-based FRC analytics.

Home Page: https://cheesecake.live/

JavaScript 7.57% CSS 0.27% Python 11.08% Julia 50.83% TypeScript 30.25%
first-robotics-competition frc frc-scouting sportsanalytics

cheesecake's Introduction

I am a PhD student in Technology and Social Behavior at Northwestern University where I am affiliated with the Community Data Science Collective.

My research focuses on decentralized social networks like the Fediverse and their role as sociotechnical systems. I like to use computational social science.

At North Carolina State University, I graduated in 2019 with a B.S. in Computer Science and a B.A. in Communication Media. Previously, I worked as intern in full stack software engineering at IBM and as an undergraduate researcher at the Center for Research Computing at the University of Notre Dame.

Curated Projects

Music Software

  • Olearia is a collection of applets for the Daisy Patch.
  • ES-5Linx is a VST and JACK utility to handle the Expert Sleepers ES-5 Eurorack expansion on Linux.
  • MI_Nebulae_v2 are ports of Native Instruments code for the QuBit Electronix Nebulae v2.
  • libre-rytm-sds is a simple set of scripts to send samples to the Elektron Analog RYTM on Linux.

cheesecake's People

Contributors

carlcolglazier avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

cheesecake's Issues

Delete unplayed playoffs matches.

At the beginning of any playoff round, TBA loads three matches for each set; however, often only two of these are usually played.

image

To fix this, the system needs a way to know when a match is not being played (rather than just being a match in the future).

AttributeError: 'NoneType' object has no attribute 'prediction'

[2019-03-14 13:53:11,066] ERROR in app: Exception on /api/verify/2019 [GET]
Traceback (most recent call last):
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask_caching/__init__.py", line 686, in decorated_function
    rv = f(*args, **kwargs)
  File "./cheesecake/api/__init__.py", line 216, in brier
    diff = match.get_prediction("EloScorePredictor").prediction - match.result()
AttributeError: 'NoneType' object has no attribute 'prediction'

Future-oriented Design

The goal of this service is prediction. The initial launch, therefore, should focus on the immediate future as much as possible. That is to say, the events page should emphasize the events going on the current week and that should be the main focus.

Event Page

Overview tab

Needs to be decided what goes here.

Rankings tab

Predict rankings.

Match tab

Display future and past matches with predictions (and verifications).

Nonetype for score_breakdown.

[2019-03-09 16:50:01,440] ERROR in app: Exception on /api/rankings/2019ncwak [GET]
Traceback (most recent call last):
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask_caching/__init__.py", line 686, in decorated_function
    rv = f(*args, **kwargs)
  File "./cheesecake/api/__init__.py", line 179, in get_rankings
    if match.score_breakdown[color]["habDockingRankingPoint"]:
TypeError: 'NoneType' object is not subscriptable

Not all playoff matches are populating.

Sometimes the schedules are not updating properly. This can be solved (likely) by also accepting "Competition Level Starting Notification" notifications.

Toward Cheesecake 1.0

This is a general planning issue for the steps needed to move toward a full launch next year!

  • Investigate stack options.
    • Is go a good option?
    • Do I need a javascript-based front-end?
    • What tools does Python offer for async tasks?
  • Identify features for MVP
  • UX design concept.

Overfitting in response to webhooks

I wish this was accurate.

image

Something is off with the prediction loop where the predictors and being trained with the results already fed in. Woops!

image

Handle surrogates

[2019-03-09 17:05:11,895] ERROR in app: Exception on /api/ [POST]
Traceback (most recent call last):
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./cheesecake/api/__init__.py", line 86, in webhook
    m = update_match(data["message_data"]["match"])
  File "./cheesecake/utils.py", line 32, in update_match
    red = Alliance(**match["alliances"]["red"])
  File "<string>", line 4, in __init__
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 428, in _initialize_instance
    manager.dispatch.init_failure(self, args, kwargs)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 67, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 277, in reraise
    raise value
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 425, in _initialize_instance
    return manager.original_init(*mixed[1:], **kwargs)
  File "/home/carl/.local/share/virtualenvs/cheesecake-7w3mno1X/lib/python3.6/site-packages/sqlalchemy/ext/declarative/base.py", line 799, in _declarative_constructor
    "%r is an invalid keyword argument for %s" % (k, cls_.__name__)
TypeError: 'surrogates' is an invalid keyword argument for Alliance

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.