Skip to main content
Broadcast Your
 Programming
         Jason May
          @jasonmay
     jasonmay [irc.perl.org]
  jasonmay [irc.freenode.net]
Why?
Demonstrations
Explanations
Ostentation
The World of Learning
Streaming
termcast.org
ttrtail.c
App::Termcast   (:
server


PTY   termcast


                 stdout
App::Termcast::Server
Implementation
Termcast
 Socket


  TCP


           Manager


           UNIX
Termcast
 Socket


  TCP



           AppX   Manager


           AppY   UNIX

           AppZ
Termcast
 Socket


  TCP



           AppX   Manager


           AppY   UNIX

           AppZ
Termcast
Streamer A    Socket


               TCP



                        AppX   Manager


                        AppY   UNIX

                        AppZ
Termcast
Streamer A    Socket


              UNIX
              TCP



                        AppX   Manager


 Socket A               AppY   UNIX

                        AppZ
Termcast
Streamer A    Socket


               TCP



                        AppX   Manager


 Socket A               AppY   UNIX

  UNIX                  AppZ
Termcast
Streamer A    Socket    “A new streamer
                          connected!”
               TCP



                         AppX      Manager


 Socket A                AppY       UNIX

  UNIX                   AppZ
Termcast
Viewer A    Socket


             TCP



                         AppX   Manager


Socket A                 AppY   UNIX

 UNIX                    AppZ




               *click*
Termcast
Streamer A    Socket


               TCP



                        AppX   Manager


 Socket A               AppY   UNIX

               [ANSI]
  UNIX                  AppZ
A new streamer connected!

Connect to him at /tmp/fooXYZ.sock




                   UNIX
Streamer ABC disconnected.




               UNIX
Streamer resized his terminal to 160x48!




                      UNIX
Client Side
App::Termcast::Connector
App::Termcast::Connector



• Callback Stack
• Dispatcher
App::Termcast::Server::Telnet
App::Termcast::Server::Telnet



• App::Termcast::Connector
• Reflex
• Listening telnet socket
App::Termcast::Server::Web
Inspired by
HTML::FromANSI
New Hotness

• HTML5 Canvas
• Web::Hippie
• Term::VT102::Incremental
• App::Termcast
• App::Termcast::Server
• Application Components
• Write your own!
Reference

•   https://github.com/doy/app-termcast

•   http://termcast.org/

•   https://github.com/jasonmay/app-termcast-server

•   https://github.com/jasonmay/app-termcast-connector

•   https://github.com/jasonmay/app-termcast-server-telnet

•   https://github.com/jasonmay/app-termcast-server-web