From Hack Manhattan Wiki
Revision as of 10:52, 26 July 2019 by Beadsland (Talk | contribs) (Current Tasks Outstanding)

Jump to: navigation, search

See: Bricodash for project details

Current Tasks Outstanding

  • door cam feed
    • relay: slideshow frame system service (in Elixir)
      • basic
        • serve up relayed snapshot to HTTP client
        • reimplement using GenStage
        • extract snapshot from continuous stream
        • startup stream on subscribers, terminate when none
        • serve up relayed stream to HTTP client
        • ensure recovery when source stream fails
      • advanced
        • implement greytoss checking
        • configure to launch as daemon
        • bootstrap to obtain dependencies and compile cold
        • swap out both PHP and CGI touchpoints
    • investigate periodic multi-hit events: server severing connections prematurely? badly behaved client device?
    • investigate specific issue of pishop launch causing multi-hit failures on all other clients
    • migrate sleep macro to general purpose library (moot)
    • migrate from webhooks integration to webhooks feature of bricodash app (and update notice)
    • when wonkiness addressed: downthrottle chromecast reboots to 1x per day; stream swap-in to never
  • server
    • migrate to standard web port (now that relayd installed on router)
    • configure X-Forwarded-For logging in apache
    • enable SSL for camera feeds (requested for full conversion to new sous veil system)
    • enable SSL directly via daemon's listening port (i.e., elixir rather than apache)
    • transfer slackbot snapshots to bricolage gateway
  • documentation
    • recent edits monitor to trigger cache purge on transcluded Bricodash documentation updates
    • help get mediawiki server 504 issues resolved (currently an obstacle to Bricodash documentation)
    • redraft lists in calendar sections as tables
    • flesh out Bricodash Future Ideas, explaining known requirements for each
  • cloud log
    • add boxrs-based git repositories to Cloud Log panel
    • add remaining sources to HM Cloud Log panel
  • calendars
    • calculation
      • correctly calculate dates of International Astronomy Day (email out to Astronomical League for better calculation rules)
      • calculate dates of Manhattanhenge (email out to library of American Museum of Natural History for formula)
      • add eclipses and other significant astronomical events to holidays
      • finish fleshing out remainder of movable feasts for Community Calendar (June forward)
    • integration
      • investigate why Offside Tavern events have fallen out of building calendar
      • refactor brite search by location routine to common library
      • add nyc mesh, nyc resistor, fat cat fab lab, makerbar, nyc makerspace to Community Calendar
      • concise calendar response for interactive slackbot
      • enable toggling between Welcome header and holiday greetings ^
      • automation/streamlining tools for cross-posting HM Meetup events to Spingo
  • cleanup
    • integrate citymapper API for local subway stations
    • refactor source files from initial launch
    • squish and push fork to upstream
  • upgrades
    • reimplement camera gateway as system service
    • migrate from bricolage to less power-hungry hardware
    • combined community slack calendar to wiki page (requires privacy policy under brite license)
    • reimplement bricolage to run as embedded system under elixir/scenic/nerves

Instagram Integration

  • add Instagram to Weird Photos and HM Cloud Log — this requires creating pages on Facebook under the new Graph API

Twitter Integration

  • add Twitter to Weird Photos and HM Cloud Log — this requires emailing to get a dev account, then honoring Twitter's Display Requirements

Slack Calendar Response Bot

  • interactive bot response to "What's happening?"

MJPEG Gateway Server

At some point, the gateway should be migrated to a system service running on its own port.

  • rewrite MJPG gateway as a dedicated server on own port

Draft a Privacy Policy

  • draft privacy policy (per API reqs for public sites)

Buzzer-Activated IR Remote

Additionally, there are plans to tie a ceiling-mounted IR remote into the intercom buzzer to toggle inputs on the TV. The idea would be that when the buzzer sounds, the remote would switch from the dashboard (on Chromecast) to a dedicated full screen camera input. After a delay the input would be toggled back to the Chromecast-hosted dashboard. Such an arrangement would free up the dashboard screen real-estate currently devoted to an around-the-clock camera feed—as, realistically, the only time one needs a camera feed is when a visitor is buzzing to be let in.

Alternatively, the buzzer-activated full-screen display of the door camera might be implemented by conveying the door buzzer signal to the back-end server on bricolage, which could then trigger the full-screen effect on the dashboard. However, the potential latency of such a configuration, coupled with processing power limitations of the Chromecast, make this a less attractive option. Well, that, and why do with software what you can do by cannibalizing an old remote control?

  • integrate with custom buzzer-activated IR remote hack