Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODOOOOEW #10

Open
25 of 61 tasks
melodylu opened this issue Aug 17, 2017 · 1 comment
Open
25 of 61 tasks

TODOOOOEW #10

melodylu opened this issue Aug 17, 2017 · 1 comment
Assignees

Comments

@melodylu
Copy link
Collaborator

melodylu commented Aug 17, 2017

:shipit: Done!

  • replace default emoji with :|
    add levels of joy => :) :] :D
  • turn linting back on
  • Python3 or python2????
  • think about removing google liscence and put MIT one in
  • also seriously make a damn folder for your sloppy output
  • make shit run on google server
  • Ben: something about ENUMS in python
  • what's up with max_results=5 ??1
    We need to be able to do groups with >10 people. This seems to have changed with us removing max_results=5 all over the test code
  • externalize image files ...somewhere in the sky
  • make image processing more efficient so that we don't open emoji images and convert them multiple times in each face loop
  • hook up error reporting in production
  • if face.headware_likelihood > 1, use 🤠
  • exclude file types, handle malicious names
  • exclude large file sizes, consider always resampling
  • ensure unique filenames
  • bugfix selfie MVP rotation problem by exploring EXIF
  • fork dev config.py and Google config.py from app.py and constants.py
  • 🤖 have the server ping slack when people be uploading their shit
  • debounce rage-clickens on the upload button (userbug)
  • expose custom run settings?
  • turn on bounding box draws in haxxx mode, color code so we can see the score to the bounding box
  • auto-resubmit individual crops of "boring" faces, then use Label Annotations for 🤓
  • control Z-index based on y height and area of face

☑️ 📝 In Progress

  • make 🤠 bigger
  • MIDPOINT_BETWEEN_EYES would be a better centroid for the pasteing of the emoji
    (hardcoded: emoji faces are a little too low and eating into necks, hat emoji is too low, could pan/tilt to help)
  • Basic auth of some kind:
    • non-anonymous user (HTTP?) OR
    • user OAuth logins from Google, Facebook, et al +fullstory
      • and SSL
      • make sure Stackdriver can get through (uptime checks are keeping it awake)
      • flask plugin would allow this based on regex flask-sslify????
  • automatically throttle app to turn off after a certain number of calls
    • set up basic postgres / datastore on Google Cloud compute
    • establish a basic counter, and gate calls hourly and total

☑️ 🐛 Bugs

  • diagnose PNG masking issue
  • solve session management (race conditions), use anonymous cookies or Oauth (always on?), +fullstory
  • handle timeouts (asynchronous, polling, etc)

☑️ 🦋 Features

  • fix up the 500 page? add a custom 404
  • lading page to show last 5 runs?
  • ^re-run button on that page under each run
  • add social media sharing links (requires on OAuth)
  • add titles/descriptions/annotations (database)
  • manually modify an emoji
  • re-submit a specific face

☑️ 😎 Emojivision

  • diff between faces internally in an image to get more variety
  • Retry images where we find no faces by rotating them

☑️ 🤖 Tech

  • do health checks properly instead of in a default way? (two-stage check of app)
    https://console.cloud.google.com/compute/healthChecksAdd?project=pymoji-176318
    Basic Emojivision App #13 (comment)
  • extend AnnotationsSchema so that we can capture run settings metadata in the JSON file
  • Save original image even if it's rotated incorrectly(displaying our fixed image to the user)
  • check to see if the exif data is the same as any other image recently uploaded, etc. Don't run images a billion times.
  • worry about storage limits
  • better uploading library
  • betterest uploading library?
  • Standardize image file names
  • security (SSL, flask-login)???
  • more functional tests
  • add end-to-end browser testing tool
  • move to Docker and Google Container Engine
  • write slack integration for stackdriver error reporting
  • write a generalized error-and-logging wrapper abstraction so that we can handle and make all exceptions unblocking
  • fancy admin-only tools area
  • Product discussion for Statefulness, security, database stuff
  • React Native vs lots of flask modules? APP STRUCTURE
  • create a SPA (React/Node/Webpack)
  • python linting to require declaration of vars at top of function
    (because we're only sometimes doing bob = None??? *what are best-practices for python codestyle at larger shops)

☑️ 👩‍🔬👨‍🔬 Research

  • hella easter egg: super crop and produce extra image if we find any emoji faces hidden in the background inanimate objects in the image
  • get 1000 training images to start training our own
  • Google video client
@lusbenjamin
Copy link
Owner

Project Overview

Goals

  • (2-3 months), 9-5 workdays (or equiv with climbing) 40 hours a week
  • Fridays full work day devoted to Learning/Bugs/DevOps clean-up
  • Daily standups, starting at 9am - 9:30am (meet at Library or async post on Slack)
  • Get a pipeline from repo to working app up as soon as possible
    • Or youtube video showing working demo
    • Live demo that can be linked on a resume
  • Back our "job-raising" (fundraising analogy) in the first week, midday through, and at end
  • Generate list of skills we want to get into the project based on some early job-scouting for what is interesting to us on the market VS current growth opportunities

Rough Schedule

  • 7/31 - On-boarding (Set up all shared accounts and tools)
  • 9/1 - Dan Demo Due (steak-holder demos with tensor-loin due every 2 weeks)
  • 10/1 - Dad Demo Due

External demos-- have to post a demo on reddit or hackernews once a week?
Or we could host demos for steakholders at 196 every week, so that people can rib us about our demo

Hot Tech

  • React
  • ES6 (transpiling goodness)
  • Node Server (possibly isometric)
  • Go language
  • Tensor Flow (“Deep Learning”)
  • Python language
  • Docker containers
  • Cassandra
  • Mobile first UX design (can be web tier instead of Swift)
  • Augmented Reality mobile website (not native)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants