Hi Laurens, Well, Manhole looks way more advanced than my idea. I just need to be able to tap into one way application event stream - there is no input from the other side, so application doesn't need to prepare for that.
So, serial != terminal. There might be in future, but now I am more interested in accessibility of tap interface rather than its features. On Mon, May 5, 2014 at 6:42 PM, Laurens Van Houtven <_...@lvh.io> wrote: > Hi Anatoly, > > > Do you know about manhole? I made a video that also demos axiom, but it > should show you what manhole does :) > > https://www.youtube.com/watch?v=3-UZiO-AnLc > > Essentially it's "repl in a running process". > > > hth > lvh > > > On Mon, May 5, 2014 at 4:43 AM, anatoly techtonik <techto...@gmail.com> > wrote: >> >> Hello, network hackers, >> >> Recently I've got a Raspberry Pi and a friend showed me its serial >> interface and helped to setup it. I was stunned. What I saw - you open >> serial terminal, and you jump in into the middle of boot section. Just >> open a terminal and you see what's going on inside of R.Pi. Any time. >> That's was an intro. =) >> >> For a long time I wanted the same interface for debugging software >> programs. When I was hacking on Spyder I found that my human brain is >> too limited to squeeze details of dynamic of interaction of objects at >> run-time. Spyder is written in Python with Qt, and it is a parallel >> application much like any Twisted app is. But I wanted to push the >> progress, I have to deal with complexity, so I badly needed to be able >> to draw a video of interaction at run-time. That was the problem I >> tried to solve. >> >> And for the first step I needed a way to connect to Spyder at run-time >> and see what's going on. I didn't know how to call that way before, >> but now I have a rather accurate wording - "a serial interface for an >> application". That is the background for the question I am trying to >> ask. >> >> What is the best way to implement such interface considering the >> following properties: >> 1. it needs to be simple (so that you can quickly create python script >> that reads the info) >> 2. it needs to be universal (so that script for one app worked for other) >> 3. it should be asynchronous (connected terminal should not degrade >> performance) >> 4. it needs to be reliable (at least detecting missing packets) >> 5. and cross-platform (and pure python) >> >> Why Twisted? For the first I think that this problem is actual for >> people who are dealing with complexity of dynamic and interconnected >> systems built with the help of Twisted. For the second I believe it >> can only be solved or analyzed by people skilled in interprocess and >> internetwork communications. >> >> One button test: >> 1. program behaves weird >> 2. user hits the button >> 3. terminal pops up >> 4. shows a lot of data for a running program >> >> I am interested to know. >> 1. how the button should discover the program >> network port seems cool, but what about two parallel programs? what >> about different programs that provide this interface? >> >> 2. how terminal receives the data >> i see it as line based - one line - one event, everything is text >> >> 3. how to make it fast >> TCP clearly won't here >> >> 4. how to send the data >> what if two threads (or parallel code) produce serial data? who should >> run the server that serves connected terminals, and how other thread >> will send message to this server? you can not run two TCP servers on >> the same port on the app side, so is there an alternative? how to >> detect missing data in a stream? how to avoid dealing with incomplete >> packets and low level network details? >> >> Thanks. I'd like to get back to hacking on Spyder one day, but this is >> a stumbling block for me every time I think about it or any program of >> compared complexity. >> -- >> anatoly t. >> >> _______________________________________________ >> Twisted-Python mailing list >> Twisted-Python@twistedmatrix.com >> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > -- anatoly t. _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python