Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-10 Thread Hans Meine
On Wednesday 08 September 2004 14:54, Rob Shortt wrote:
 Apache+PHP == bloat.  We used to use apache, now we have an extremely
 lightweight webserver that is part of Freevo.  It goes along the same
 lines as why we don't use MySQL.
OK. Fine with me, IMO implementing a web-frontend in python should be much 
more enjoyable than doing so in PHP anyways...  ;-)

As I said, my main concern is security here (who will audit the Freevo 
webserver?), but probably this can be secured on a network-level (either no 
access from outside at all, or hidden with strange ports or - even better - 
some portknocking techniques).

-- 
Ciao, /  /.o.
 /--/ ..o
/  / ANS  ooo


---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-09 Thread Wan Tat Chee
On Wed, 8 Sep 2004, Hans Meine wrote:

 On Wednesday 08 September 2004 12:56, Florian Demmer wrote:
  just a thought: if there were a way to access the smbus system using
  php, apache/php could simplifly creation of a stable and fast web part
  of freevo...

I'd suggest something lightweight instead of apache. I've been using
webfs (www.bytesex.org) as a small fast http server, I'm sure there's
others.


 There are many pro's and con's of an integrated webserver vs. a separate one.
 Probably this has been discussed before?
 Aspects would be: Security, ease of installation, runtime efficiency(?)


Agreed.

 ATM I can come up with slightly more advantages than disadvantages of the
 Apache-way. (Apache/PHP are well-maintained, security-supervised, but also
 more likely to be attacked. It can be started by inetd, so memory
 requirements / startup time are no arguments. Many people will be familiar
 with PHP development and can help maintain the Freevo webserver. Installation
 is not more difficult than setting up the current webserver to start at
 boottime.)


Question: do we want to have multiple languages for freevo development? I
know there's a case for using the right tool for the right job

T.C.

Wan Tat Chee (Lecturer)
School of Computer Sciences, Univ. of Science Malaysia,
11800 USM, Penang, Malaysia.  Rm.625 Ofc Ph: +604 653-3888 x 3617
NRG Lab Admin: +604 659-4757   Rm.601-E Ofc Ph: +604 653-4396
Internet: [EMAIL PROTECTED]Web: http://nrg.cs.usm.my/~tcwan
GPG Key : http://nrg.cs.usm.my/~tcwan/tcwan-nrg-20040805.asc
F'print : 4B2E F0BF AAD7 2F51 CB41  4386 F72B 7859 8278 BDC4


---
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-08 Thread Florian Demmer
On Tue, 07 Sep 2004 20:51:46 -0400, Michael Ruelle
[EMAIL PROTECTED] wrote:
 Dischi,
 
 The only reservation i have is leaving a stable webserver. 

[...]

just a thought: if there were a way to access the smbus system using
php, apache/php could simplifly creation of a stable and fast web part
of freevo...

Florian


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-08 Thread Rob Shortt
Florian Demmer wrote:
just a thought: if there were a way to access the smbus system using
php, apache/php could simplifly creation of a stable and fast web part
of freevo...
Apache+PHP == bloat.  We used to use apache, now we have an extremely 
lightweight webserver that is part of Freevo.  It goes along the same 
lines as why we don't use MySQL.

-Rob
---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-08 Thread Hans Meine
On Wednesday 08 September 2004 12:56, Florian Demmer wrote:
 just a thought: if there were a way to access the smbus system using
 php, apache/php could simplifly creation of a stable and fast web part
 of freevo...

There are many pro's and con's of an integrated webserver vs. a separate one. 
Probably this has been discussed before?
Aspects would be: Security, ease of installation, runtime efficiency(?)

ATM I can come up with slightly more advantages than disadvantages of the 
Apache-way. (Apache/PHP are well-maintained, security-supervised, but also 
more likely to be attacked. It can be started by inetd, so memory 
requirements / startup time are no arguments. Many people will be familiar 
with PHP development and can help maintain the Freevo webserver. Installation 
is not more difficult than setting up the current webserver to start at 
boottime.)

Actually, security would be the most important point for me, since it's so 
convenient to be able to schedule recordings while not being at home. On the 
other hand, I don't know how many Freevo users actually do that.

Ciao, /  /.o.
 /--/ ..o
/  / ANS  ooo


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-07 Thread Bruno Tavares
On Mon, 2004-09-06 at 18:19, Dirk Meyer wrote:
 Hi,
 
 some already know because I told it on IRC, but here the official
 request for discussion:
 
 I don't like twisted. Why? It's a huge monster, including not only
 stuff we need like xmlrpc and a web server but also stuff we don't
 need and a main loop that is too complex. I saw in the code that it
 waits for dead children not started by any part of twisted .. Hey,
 that are my children, don't touch them! The next problem is, that we
 have one xmlrpc server in the recordserver. But when the schedule
 changes, Freevo has to ask the recordserver for a new schedule, the
 recordserver can't send it to Freevo because a) freevo has no xmlrpc
 port and b) if you have more than one freevo, how should the server
 know that? And we need a way to send stuff to Freevo, like the
 webserver may want to say 'start this audio playlist please'.

 A solution to all this (and more): we use pymbus. Mbus is a protcol
 for host or link local communication. As the name says, it's a bus. So
 every programm on the bus can get the messages (you can also send a
 message directly). For detailed information, please look at
 http://www.mbus.org. A brief summary:
 
 o mbus is secure, it uses encryption on the bus. 
 o mbus is plain ascii (after decrypted), so every app with the key can
   read it very easy and apps like mspy can be used for debugging and
   apps like mbussh can be used to send commands to an app
 o you get notice when an app joins / leaves the bus
 o you can define names for apps so you understand what they do
 o you have events _and_ client server rpc communiaction. 
 o Bindings for C/C++/Perl/Python

Very good, and after reading some more about mbus i found out the
communication protocol is highly optimized for small messages, they have
made a huge effort to decrease the encryptation overhead.
In my opinion most of the messages passing between freevo and helpers
are very small (commands in fact) so, its a good protocol framework for
freevo.

snip
 And we can also remove the bad hacked network interface, you can send
 events directly to Freevo:
 app-Freevo: Button 'DISPLAY' is pressed
 or
 app-Freevo: Event(OSD_MESSAGE, arg='hi')

Erms.. not so sure about this.. do you really want to introduce the
communication overhead for this kind of events?
Mbus sounds great to communicate with external helper, but it seems a
little bit inefficient to spread all kind of events to OSD or from
critical helpers such as mplayer.
But i don't know, some benchmarking should speak for itself.

 
 That's what mbus can do, and much more. Read the rfc on mbus if you
 want to know more. The second lib pynotifier is a simple (!) main
 loop. The author of pynotifier and the current maintainer of pymbus
 (also using Freevo) also has a simple webserver and non blocking http
 client. 
Seems a good base to start rewriting the webserver.


 Dischi
 
Bruno



---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


[Freevo-devel] switching to pynotifier and pymbus

2004-09-06 Thread Dirk Meyer
Hi,

some already know because I told it on IRC, but here the official
request for discussion:

I don't like twisted. Why? It's a huge monster, including not only
stuff we need like xmlrpc and a web server but also stuff we don't
need and a main loop that is too complex. I saw in the code that it
waits for dead children not started by any part of twisted .. Hey,
that are my children, don't touch them! The next problem is, that we
have one xmlrpc server in the recordserver. But when the schedule
changes, Freevo has to ask the recordserver for a new schedule, the
recordserver can't send it to Freevo because a) freevo has no xmlrpc
port and b) if you have more than one freevo, how should the server
know that? And we need a way to send stuff to Freevo, like the
webserver may want to say 'start this audio playlist please'. 

A solution to all this (and more): we use pymbus. Mbus is a protcol
for host or link local communication. As the name says, it's a bus. So
every programm on the bus can get the messages (you can also send a
message directly). For detailed information, please look at
http://www.mbus.org. A brief summary:

o mbus is secure, it uses encryption on the bus. 
o mbus is plain ascii (after decrypted), so every app with the key can
  read it very easy and apps like mspy can be used for debugging and
  apps like mbussh can be used to send commands to an app
o you get notice when an app joins / leaves the bus
o you can define names for apps so you understand what they do
o you have events _and_ client server rpc communiaction. 
o Bindings for C/C++/Perl/Python

Example:
Freevo starts, joins the bus and ask: 
Freevo: I need recording informations. Anyone here can provide them?

Case a: recordserver is running:
RS: sure, I'm a recordserver, I can record dvb and analog. Here is my
current schedule.
Case b: no recordserver, Freevo still has no schedule and will never
aks again. When the recordserver starts:
RS: Hi, I'm a recordserver, here is my schedule.

Freevo knows there is a recordserver with the name RS on the bus and
the user wants to schedule something.
Freevo-RS (unicast): RS, please record xy
RS no everyone: my schedule changes: here is a new schedule
RS-Freevo: done!

Next is the webserver knowing that Freevo is running:
WS-Freevo: please play playlist xy

You have an isdn watcher and a new call comes in. It doesn't know
about Freevo at all:
ISDN: in case someone wants to know this: the telephone is rinning.
A special Freevo plugin notice that and mutes the background audio
playback.

And we can also remove the bad hacked network interface, you can send
events directly to Freevo:
app-Freevo: Button 'DISPLAY' is pressed
or
app-Freevo: Event(OSD_MESSAGE, arg='hi')

That's what mbus can do, and much more. Read the rfc on mbus if you
want to know more. The second lib pynotifier is a simple (!) main
loop. The author of pynotifier and the current maintainer of pymbus
(also using Freevo) also has a simple webserver and non blocking http
client. 


So, there is no need for twisted, mbus is the future[1]. And the
author of pynotifier will include pynotifier in Freevo when he has a
free weekend. 

Comments? Someone with a good argument against it?



Dischi


Footnotes: 
[1]  I better say it before you find out yourself: mbus was developed
 at the UCL in London and the University of Bremen. I also work at
 the University in Bremen and mbus was developed in our working
 group. 

-- 
Atheism: A non-prophet organization.


---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-06 Thread Mick
On Tue, 2004-09-07 at 01:19, Dirk Meyer wrote:
 Hi,
 
 some already know because I told it on IRC, but here the official
 request for discussion:
 
 I don't like twisted. Why? It's a huge monster, including not only
 stuff we need like xmlrpc and a web server but also stuff we don't
 need and a main loop that is too complex. I saw in the code that it
 waits for dead children not started by any part of twisted .. Hey,
 that are my children, don't touch them! The next problem is, that we
 have one xmlrpc server in the recordserver. But when the schedule
 changes, Freevo has to ask the recordserver for a new schedule, the
 recordserver can't send it to Freevo because a) freevo has no xmlrpc
 port and b) if you have more than one freevo, how should the server
 know that? And we need a way to send stuff to Freevo, like the
 webserver may want to say 'start this audio playlist please'. 
 
does mbus run over IP? ie, I think it would be a treat to be able to
have recordserver run on a PC anf freevo gui on an xbox or somethign
along those lines..  I don't think this will work right now, but if mbux
has the potential to support this then its a step in the right
direction..

Mick



---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel


Re: [Freevo-devel] switching to pynotifier and pymbus

2004-09-06 Thread Rob Shortt
Dirk Meyer wrote:
I don't like twisted. Why? It's a huge monster, including not only
stuff we need like xmlrpc and a web server but also stuff we don't
need and a main loop that is too complex. I saw in the code that it
waits for dead children not started by any part of twisted .. Hey,
that are my children, don't touch them! The next problem is, that we
have one xmlrpc server in the recordserver. But when the schedule
changes, Freevo has to ask the recordserver for a new schedule, the
recordserver can't send it to Freevo because a) freevo has no xmlrpc
port and b) if you have more than one freevo, how should the server
know that? And we need a way to send stuff to Freevo, like the
webserver may want to say 'start this audio playlist please'. 
Regarding Twisted, it is a very good network application framework, it 
supports many protocols, good design, and other stuff.  Twisted made it 
very convenient to impliment recordserver and webserver.  Well, 
webserver was a bit of a hack in an effort to reuse the old CGI code.

So, Freevo has come a long way since then and we need something more. 
Well, we need something different.  I am a huge fan of systems with 
multiple processes that communicate with a bus over the network.  Even 
more so with asynchronous design.


A solution to all this (and more): we use pymbus. Mbus is a protcol
for host or link local communication. As the name says, it's a bus. So
every programm on the bus can get the messages (you can also send a
message directly). For detailed information, please look at
http://www.mbus.org. A brief summary:
o mbus is secure, it uses encryption on the bus. 
o mbus is plain ascii (after decrypted), so every app with the key can
  read it very easy and apps like mspy can be used for debugging and
  apps like mbussh can be used to send commands to an app
o you get notice when an app joins / leaves the bus
o you can define names for apps so you understand what they do
o you have events _and_ client server rpc communiaction. 
o Bindings for C/C++/Perl/Python
This all sounds wonderfull. :)

Example:
Freevo starts, joins the bus and ask: 
Freevo: I need recording informations. Anyone here can provide them?

Case a: recordserver is running:
RS: sure, I'm a recordserver, I can record dvb and analog. Here is my
current schedule.
Case b: no recordserver, Freevo still has no schedule and will never
aks again. When the recordserver starts:
RS: Hi, I'm a recordserver, here is my schedule.
Freevo knows there is a recordserver with the name RS on the bus and
the user wants to schedule something.
Freevo-RS (unicast): RS, please record xy
RS no everyone: my schedule changes: here is a new schedule
RS-Freevo: done!
Next is the webserver knowing that Freevo is running:
WS-Freevo: please play playlist xy
This is the kind of two-way (n-way!) communication that we need.

You have an isdn watcher and a new call comes in. It doesn't know
about Freevo at all:
ISDN: in case someone wants to know this: the telephone is rinning.
A special Freevo plugin notice that and mutes the background audio
playback.
Hey, stop stealing my ideas! ;)
Also with this architecture I forsee more Freevo helpers, and more 
programs outside of Freevo interoperating with each other...


And we can also remove the bad hacked network interface, you can send
events directly to Freevo:
app-Freevo: Button 'DISPLAY' is pressed
or
app-Freevo: Event(OSD_MESSAGE, arg='hi')
That's what mbus can do, and much more. Read the rfc on mbus if you
want to know more. The second lib pynotifier is a simple (!) main
loop. The author of pynotifier and the current maintainer of pymbus
(also using Freevo) also has a simple webserver and non blocking http
client. 
I want to know more.  I will go read...

So, there is no need for twisted, mbus is the future[1]. And the
author of pynotifier will include pynotifier in Freevo when he has a
free weekend. 
Sounds good.

Comments? Someone with a good argument against it?
Even though I wrote most of the twisted stuff you'll have no argument 
from me.  I really like this kind of architecture.

-Rob
---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel