Re: [ANNOUNCE] Compressed Cache release 0.1

2008-02-19 Thread Ivan Krstić
On Feb 19, 2008, at 3:52 AM, Nitin Gupta wrote:
 I am excited to announce first release of ccache - Compressed RAM
 based swap device for Linux (2.6.x kernel)

Heads-up: 'ccache' is the name of Tridge's well-established and widely  
used C/C++ caching proprocessor -- http://ccache.samba.org/. You  
might wish to consider a different name.

Cheers,

--
Ivan Krstić [EMAIL PROTECTED] | http://radian.org

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Mesh Network feature XO-XS

2008-02-19 Thread Ricardo Carrano
Sulochan,

You should check your forwarding (layer two) table with : iwpriv msh0
fwt_list index (index is 0,1,2,...)

Look for an entry that forwards the frames destined to the anycast mac
address of the server (c0:27:c0:27:c0:00) via the mac address of the first
XO.

Traceroute/path will show you layer three (IP) routes.

Regards,
Ricardo Carrano

2008/2/19 sulochan acharya [EMAIL PROTECTED]:

 Folks,
 I can not hop from xo to xo to xs.
 Here is what I did:

 One XO closer to the server with active antenna.and i can ping the
 server from this laptop.

 Another XO closer to the first laptop ( i can chat with this XO) but
 further away from the server.

 Now technically i should be able to ping the server through the first
 laptop, but I cant :(

 Is there some additional things i need to (like adding packages) go
 through to get this to work?

 Or is it just out of range? If so how it is different from one laptop
 talking to another laptop?

 Is there a way i can check that the packet is being relayed (other than
 doing trace rout ) ?

 Also, can i for test purposes change the mesh DHCP to give out ipv4 and
 not ipv6? Would this make
 some other features not work?

 best,
 -Sulochan

 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


[ANNOUNCE] Compressed Cache release 0.1

2008-02-19 Thread Nitin Gupta
Hi All,

I am excited to announce first release of ccache - Compressed RAM
based swap device for Linux (2.6.x kernel).
 - Project home: http://code.google.com/p/ccache/
 - ccache-0.1: http://ccache.googlecode.com/files/ccache-0.1.tar.bz2

This is RAM based block device which acts as swap disk. Pages swapped
to this device are compressed and stored in memory itself. I think this is
very useful for OLPC systems since it has decent processor but just 256MB
RAM. Also, flash storage suffers from wear-leveling issues, slow writing speeds
- so, its very useful if we can avoid them using as swap device.

It does not require any kernel patching. All components are separate
kernel modules:
- Memory allocator (tlsf.ko)
- Compressor (lzo1x_compress.ko)
- Decompressor (lzo1x_decompress.ko)
- Main ccache module (ccache.ko)
(LZO de/compressor is already in mainline but I have included it here
since distros don't ship it by default).
README (or project home) explains compilation and usage in detail.

Some performance numbers for allocator and de/compressor can be found
on project home. Currently it is tested on Linux kernel 2.6.23.x and
2.6.25-rc2 (x86 only) and is very stable. Please mail me/mailing-list any
issues/suggestions you have.

Code reviews/tests on OLPC will be really helpful! :)

Thanks,
- Nitin
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Ricardo Carrano
I believe the most important issue here is that, the way it is now,
suspend/resume will make a disconnected mesh unusable.


On Feb 17, 2008 4:11 AM, Giannis Galanis [EMAIL PROTECTED] wrote:

 There are a couple of important issues/bugs regarding Salut and
 Suspend/Resume.

 FIRST, there is a sugar issue, (or at least it seems so).
 When an XO resumes after long suspends, all icons(APs, XOs, but not the
 meshes) instantly vanish*(#6467)*. Then they slowly reappear. Although
 with the APs the situation is pretty straightforward, with the XOs we have
 several cases:

- all XOs in the mesh return almost instantly
- all or some XOs return slowly one by one
- nothing returns, and avahi peer list is empty*(#6498)*

 It seems that although suspend should keep the previous situation frozen,
 in fact the avahi peer list is affected.


 SECOND, we have a network issue, which suggests a war between
 suspend/resume and avahi/salut
 Suspend will be interrupted only with unicast packets, but Salut/avahi
 rely on multicast packets.

 The result is that  when an XO that appears in the mesh view is suspended,
 avahi will treat it just as if it has left the mesh.


- When an XO is being used(not suspended), all other suspended XOs
in the mesh will start failing 1 by 1
- From the moment an XO is suspended in about 10-30min the icon will
vanish.*(#6282)*
- If within this time new XOs join the mesh than the icon will
vanish instantly!!*(#5501)*
- If gradually several removed XOs start to resume, their icons will
start returning

 *As you can see, the XOs have very little chance to even see each
 other**

 RESULT:
 A mesh of several XOs will avoid icons flashing here and there, ONLY if no
 XO has been idle for more 10min, which is rather unlikely.

 Considering the effects of the FIRST issue, you would practically have to
 restart sugar or switch channel back and forth to return to your original
 status.

 Salut/avahi are very sluggish in handling failed connections, and suspend
 resume enhaces this effect.


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Kim Quirk
It does feel like we should turn off suspend for some of our testing.
I've experienced similar problems.

Chris, do you recommend removing ohm? Or is there something else we should try?

Kim




On 2/19/08, Ricardo Carrano [EMAIL PROTECTED] wrote:
 I believe the most important issue here is that, the way it is now,
 suspend/resume will make a disconnected mesh unusable.


 On Feb 17, 2008 4:11 AM, Giannis Galanis [EMAIL PROTECTED] wrote:

  There are a couple of important issues/bugs regarding Salut and
  Suspend/Resume.
 
  FIRST, there is a sugar issue, (or at least it seems so).
  When an XO resumes after long suspends, all icons(APs, XOs, but not the
  meshes) instantly vanish*(#6467)*. Then they slowly reappear. Although
  with the APs the situation is pretty straightforward, with the XOs we have
  several cases:
 
 - all XOs in the mesh return almost instantly
 - all or some XOs return slowly one by one
 - nothing returns, and avahi peer list is empty*(#6498)*
 
  It seems that although suspend should keep the previous situation frozen,
  in fact the avahi peer list is affected.
 
 
  SECOND, we have a network issue, which suggests a war between
  suspend/resume and avahi/salut
  Suspend will be interrupted only with unicast packets, but Salut/avahi
  rely on multicast packets.
 
  The result is that  when an XO that appears in the mesh view is suspended,
  avahi will treat it just as if it has left the mesh.
 
 
 - When an XO is being used(not suspended), all other suspended XOs
 in the mesh will start failing 1 by 1
 - From the moment an XO is suspended in about 10-30min the icon will
 vanish.*(#6282)*
 - If within this time new XOs join the mesh than the icon will
 vanish instantly!!*(#5501)*
 - If gradually several removed XOs start to resume, their icons will
 start returning
 
  *As you can see, the XOs have very little chance to even see each
  other**
 
  RESULT:
  A mesh of several XOs will avoid icons flashing here and there, ONLY if no
  XO has been idle for more 10min, which is rather unlikely.
 
  Considering the effects of the FIRST issue, you would practically have to
  restart sugar or switch channel back and forth to return to your original
  status.
 
  Salut/avahi are very sluggish in handling failed connections, and suspend
  resume enhaces this effect.
 
 


-- 
Sent from Gmail for mobile | mobile.google.com
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Chris Ball
Hi,

It does feel like we should turn off suspend for some of our
testing.  I've experienced similar problems.

Chris, do you recommend removing ohm? Or is there something else we
should try?

I recommend fixing the bug.  :)  We know that we intend to have the CPU
turned off most of the time on our laptops on the mesh -- why is the
presence service incompatible with this?  Should we be setting the
wireless module to wake on multicast, so that we can respond to whatever
traffic the presence service is using to see who's online?  Should it be
using unicast traffic instead?  What is it in Avahi's code path that
causes its peer list to be emptied on resume?

If we have to disable OHM to test something in particular, that's okay,
but we won't be testing what we plan on shipping if we do so.

Thanks,

- Chris.
-- 
Chris Ball   [EMAIL PROTECTED]
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Chris Ball
Hi Ricardo,

A mesh will always rely to some degree in multicast/broadcast
traffic. This is not a bug.

I was asking whether it would help to have the wireless module wake us
on multicast packets instead of only unicast.  Are you saying that it
would?

Avahi entries will expire after some time. Suspend will prevent it
to update its cache.

Yani's bug report (#6467) suggests that Avahi entries often expire
immediately upon resume:

   After the XO resumes (probably after beinng suspended for several
   minutes) all the icons in the mesh view vanish, except the mesh
   circles.

Thanks,

- Chris.
-- 
Chris Ball   [EMAIL PROTECTED]
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Ricardo Carrano
Chris,

A mesh will always rely to some degree in multicast/broadcast traffic. This
is not a bug.

Avahi entries will expire after some time. Suspend will prevent it to update
its cache.

On Feb 19, 2008 11:13 AM, Chris Ball [EMAIL PROTECTED] wrote:

 Hi,

It does feel like we should turn off suspend for some of our
testing.  I've experienced similar problems.

Chris, do you recommend removing ohm? Or is there something else we
should try?

 I recommend fixing the bug.  :)  We know that we intend to have the CPU
 turned off most of the time on our laptops on the mesh -- why is the
 presence service incompatible with this?  Should we be setting the
 wireless module to wake on multicast, so that we can respond to whatever
 traffic the presence service is using to see who's online?  Should it be
 using unicast traffic instead?  What is it in Avahi's code path that
 causes its peer list to be emptied on resume?

 If we have to disable OHM to test something in particular, that's okay,
 but we won't be testing what we plan on shipping if we do so.

 Thanks,

 - Chris.
 --
 Chris Ball   [EMAIL PROTECTED]

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread John Watlington

The partitioning we made between the network processor and the
main processor was pretty clean.  Unfortunately, it doesn't support
low power operation.   I suggest rethinking the partition for Gen2.

wad

On Feb 19, 2008, at 10:04 AM, Chris Ball wrote:

 Hi Ricardo,

 A mesh will always rely to some degree in multicast/broadcast
 traffic. This is not a bug.

 I was asking whether it would help to have the wireless module wake us
 on multicast packets instead of only unicast.  Are you saying that it
 would?

 Avahi entries will expire after some time. Suspend will prevent it
 to update its cache.

 Yani's bug report (#6467) suggests that Avahi entries often expire
 immediately upon resume:

After the XO resumes (probably after beinng suspended for several
minutes) all the icons in the mesh view vanish, except the mesh
circles.

 Thanks,

 - Chris.
 -- 
 Chris Ball   [EMAIL PROTECTED]
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread John Watlington

We ALWAYS have multicast traffic.   Blindly waking on each
received multicast packet will ensure that we only sleep for
milliseconds.

wad

On Feb 19, 2008, at 9:13 AM, Chris Ball wrote:

 Hi,

 It does feel like we should turn off suspend for some of our
 testing.  I've experienced similar problems.

 Chris, do you recommend removing ohm? Or is there something else we
 should try?

 I recommend fixing the bug.  :)  We know that we intend to have the  
 CPU
 turned off most of the time on our laptops on the mesh -- why is the
 presence service incompatible with this?  Should we be setting the
 wireless module to wake on multicast, so that we can respond to  
 whatever
 traffic the presence service is using to see who's online?  Should  
 it be
 using unicast traffic instead?  What is it in Avahi's code path that
 causes its peer list to be emptied on resume?

 If we have to disable OHM to test something in particular, that's  
 okay,
 but we won't be testing what we plan on shipping if we do so.

 Thanks,

 - Chris.
 -- 
 Chris Ball   [EMAIL PROTECTED]
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Sjoerd Simons
On Tue, Feb 19, 2008 at 09:13:29AM -0500, Chris Ball wrote:
 It does feel like we should turn off suspend for some of our
 testing.  I've experienced similar problems.
 
 Chris, do you recommend removing ohm? Or is there something else we
 should try?
 
 I recommend fixing the bug.  :)  We know that we intend to have the CPU
 turned off most of the time on our laptops on the mesh -- why is the
 presence service incompatible with this?

It's avahi that's giving you problems. Or more precisely, it can't cope with
the fact that during suspend it's essentially deaf.

If we want to make presence on the local lan work in a way to allow the host
CPU to sleep most of the time we need both a different presence protocol (some
people are already working on this). And we need some assistence from the
wireless card to keep track of presence while the host cpu is asleep.. But i
don't see this happening soon.

 Should we be setting the wireless module to wake on multicast, so that we can
 respond to whatever traffic the presence service is using to see who's
 online?

Yes please do. And if possible only to the multicast traffic the host is
actually interested in.

I'm pretty sure i mentioned this before, if you don't wake up on multicast
traffic your completely breaking the way mdns works. And thus the notions of
presence in a link-local network. Also if you don't wake up on multicast then
activities in a local lan will break as they won't receive data and other
metainformation from other participants.

 Should it be using unicast traffic instead?
No

 What is it in Avahi's code path that causes its peer list to be emptied on
 resume?

Given that it's long suspends that have this problem. It's probably the fact
that the TTL for all contacts has run out, that is causing avahi to flush the
peer list. After which it needs to rediscover all of them. Which is a valid
thing to do, if you've been away for quite some time you have no idea who is
still around.

  Sjoerd
-- 
Matter cannot be created or destroyed, nor can it be returned without a receipt.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Giannis Galanis
On Feb 19, 2008 10:13 AM, Ricardo Carrano [EMAIL PROTECTED]
wrote:


 I was asking whether it would help to have the wireless module wake us
  on multicast packets instead of only unicast.  Are you saying that it
  would?


 It seems so, though it would, as John points out, make resumes far more
 constant. It seems we have to find a creative way out of this tough choice
 (automated suspend vs mesh) or face it.


 
 
 Avahi entries will expire after some time. Suspend will prevent it
 to update its cache.
 
  Yani's bug report (#6467) suggests that Avahi entries often expire
  immediately upon resume:
 
After the XO resumes (probably after beinng suspended for several
minutes) all the icons in the mesh view vanish, except the mesh
circles.


 I read this as the avahi-cache  expiring its entries.  Yanni  can  you put
 timeframes on this?
 Could check how long does it take to expiry an entry (TO) and then check
 if:
 Suspend time  TO - all entries vanish
 Suspend time  TO - no entries vanish
 Supens time ~ TO - some entries vanish


There as 2 cases where icons vanish due to suspend.

1st: The moment you resume(it generally happens after long suspends), all
icons vanish instantly(APs/XOs). This bug (#6467) suggests that sugar has a
problem with suspend resume.
The icons slowly reappear. I assume that if the avahi peer list is intact
that all XOs return.

2nd: The avahi list smtimes looses some or all of the peers at resume. This
is also under 6467, but it seems technicaly different. One possible
explanation could be that during suspend th XO resumes several times, but i
didnt notice it! And within this time frames it realized that the other
suspended XOs are gone, so it cleared its cache. Now when I resumed it
myself, I observed that the cache is clean!!

Now, regarding the timeouts of avahi. This is a 3rd thing:
When an XO leaves the channel we have 4 states:
   mm:ss
1. 00:00  XO leave the channel(manually/or ti suspended)
2. 10:00  Avahi notices teh XO left, and reports it as failed
3. 30:00  Icon dissappears in the mesh view
4. 60:00  Avahi cache is cleared
Additionally there is a bug(#5501) according to which, is a NEW XO arrives
between states 2 and 3, then instantly ALL failed avahi peers are cleared
and the corresponding icons vanish.

So, the 3rd case is the following:

Assume a mesh has e.g. 20 XOs, and I use my XO so it doesnt suspend, but the
rest 19 of them are suspended.
If in 10mins a new XO arrives, then all the 19 XOs instantly vanish from
the mesh.

So the TO time is between 10-30min... but closer to 10min if many XOs
suspend/resume
So if resume time  10min everything is fine!!



What i dont know is when an XO resumes if it sends any avahi packet no
notify tis presence/return. Because if it doesnt, then the XO wont exist int
he others cache list, so the others wont search for it.
Sjoerd, can you answer this?

This would explain why after resume some XOs take tooo long to see each
other again.
If you combine this with the 2nd case, you will see that in the natural
case that XOs will resume at random points in time by the user, they will
all clear their cache, unless they resume concurrently.
So in the end, all will have empty caches!!





 
  Thanks,
 
  - Chris.
  --
  Chris Ball   [EMAIL PROTECTED]
 


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Ricardo Carrano
Yanni,

As I posted in the bug, I believe that you are observing the entries on the
avahi cache expiring.

So, your first scenario would happen when the suspend time is longer than
the time it takes for all entries to expire.
The second scenario would happen when the suspend time is not long enough to
make all cached entries to go away.
And the third scenario seems related to previous reports you've made on the
Xmas tree effect, so not related to suspend/resume.

What do you think?

On Feb 19, 2008 1:13 PM, Giannis Galanis [EMAIL PROTECTED] wrote:



 On Feb 19, 2008 10:13 AM, Ricardo Carrano [EMAIL PROTECTED]
 wrote:

 
  I was asking whether it would help to have the wireless module wake us
   on multicast packets instead of only unicast.  Are you saying that it
   would?
 
 
  It seems so, though it would, as John points out, make resumes far more
  constant. It seems we have to find a creative way out of this tough choice
  (automated suspend vs mesh) or face it.
 
 
  
  
  Avahi entries will expire after some time. Suspend will prevent it
  to update its cache.
  
   Yani's bug report (#6467) suggests that Avahi entries often expire
   immediately upon resume:
  
 After the XO resumes (probably after beinng suspended for several
 minutes) all the icons in the mesh view vanish, except the mesh
 circles.
 
 
  I read this as the avahi-cache  expiring its entries.  Yanni  can  you
  put timeframes on this?
  Could check how long does it take to expiry an entry (TO) and then check
  if:
  Suspend time  TO - all entries vanish
  Suspend time  TO - no entries vanish
  Supens time ~ TO - some entries vanish
 

 There as 2 cases where icons vanish due to suspend.

 1st: The moment you resume(it generally happens after long suspends), all
 icons vanish instantly(APs/XOs). This bug (#6467) suggests that sugar has a
 problem with suspend resume.
 The icons slowly reappear. I assume that if the avahi peer list is intact
 that all XOs return.

 2nd: The avahi list smtimes looses some or all of the peers at resume.
 This is also under 6467, but it seems technicaly different. One possible
 explanation could be that during suspend th XO resumes several times, but i
 didnt notice it! And within this time frames it realized that the other
 suspended XOs are gone, so it cleared its cache. Now when I resumed it
 myself, I observed that the cache is clean!!

 Now, regarding the timeouts of avahi. This is a 3rd thing:
 When an XO leaves the channel we have 4 states:
mm:ss
 1. 00:00  XO leave the channel(manually/or ti suspended)
 2. 10:00  Avahi notices teh XO left, and reports it as failed
 3. 30:00  Icon dissappears in the mesh view
 4. 60:00  Avahi cache is cleared
 Additionally there is a bug(#5501) according to which, is a NEW XO arrives
 between states 2 and 3, then instantly ALL failed avahi peers are cleared
 and the corresponding icons vanish.

 So, the 3rd case is the following:

 Assume a mesh has e.g. 20 XOs, and I use my XO so it doesnt suspend, but
 the rest 19 of them are suspended.
 If in 10mins a new XO arrives, then all the 19 XOs instantly vanish from
 the mesh.

 So the TO time is between 10-30min... but closer to 10min if many XOs
 suspend/resume
 So if resume time  10min everything is fine!!



 What i dont know is when an XO resumes if it sends any avahi packet no
 notify tis presence/return. Because if it doesnt, then the XO wont exist int
 he others cache list, so the others wont search for it.
 Sjoerd, can you answer this?

 This would explain why after resume some XOs take tooo long to see each
 other again.
 If you combine this with the 2nd case, you will see that in the natural
 case that XOs will resume at random points in time by the user, they will
 all clear their cache, unless they resume concurrently.
 So in the end, all will have empty caches!!




 
  
   Thanks,
  
   - Chris.
   --
   Chris Ball   [EMAIL PROTECTED]
  
 
 

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Benjamin M. Schwartz
On Tue, 2008-02-19 at 12:29 -0500, Giannis Galanis wrote:
 The avahi works is that every several minutes(a predetermined timeout)
 each host will send multicast request for all peers in its list.
 Then all peers receiving this request will send a multicast reply.
 
 The packets are multicast because the mesh is mobile/dynamic so we
 dont know where the target is, or which is the ideal route

The problem is that with a timeout of T minutes and N laptops, there is
a wakeup required every T/N minutes, on average?  Based on your
description, it sounds as if this could be fixed by a small change in
Avahi's timeout behavior.  

If I reach the timeout, I send a broadcast saying Everyone, what's your
status?.  In reply, all users send a broadcast My status is X.  All
peers receive all of these broadcasts, and reset their timers to zero.
In this way, all laptops wake up together once every T minutes.

Surely the solution is not this simple...

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: default jabber server?

2008-02-19 Thread Wilson Farrell
Morgan Collett wrote:
 On Feb 19, 2008 10:08 AM, Adrian Chadd [EMAIL PROTECTED] wrote:
 Why do the jabber servers get overwhelmed? Surely there's a jabber
 server implementation that can handle tens of thousands of concurrent
 users?

 What software are people using on the servers?
 
 ejabberd - see http://wiki.laptop.org/go/Ejabberd_Configuration. Our
 presence mechanism, a shared roster, doesn't scale well but there are
 other strange stability issues with the configuration we are running -
 consuming all memory and dying etc. Process-one are looking into that.


If anyone gets ejabberd running correctly using those instructions, 
please let me (or just the list) know.  I posted a while back with a 
list of issues and received no response.  I got busy with other things. 
  This thread brought it all back.

Here's a synopsis:
The ejabberd 1.1.4 stuff won't even start, dying with some obscure 
erlang error.
The ejabberd 2.0.0 beta stuff is a whole lot more promising.  It 
actually runs.
I believe the setting up shared roster roster is not correct, and I 
had every intention of updating the wiki as soon as I figure out what 
was wrong... that never happened.

In short, following those instructions will make it so XO's rarely see 
each other, much less share resources.  I started fooling with those 
values in the shared roster.  It seems that Displayed Groups needs to 
be set to the value of the identification (what you called it when it 
was created) not the Name, which seems to be a pretty print name.  The 
examples at:

http://www.ejabberd.im/shared-roster-all and particularly
http://www.process-one.net/docs/ejabberd/guide_en.html#htoc64

seem to indicate this.

When you do that, XO's can see each other 100% of the time, but shared 
resources do not display properly at the remote XO.  (You can invite 
others to share and the actual sharing works properly) In the end the 
closest I could get to having everything right was setting my shared 
roster as such:

Shared Group: Everybody
Name: Online
Description:  blank
Members:  @online@
Displayed Groups: Everybody

This issue is echo'd here: 
http://wiki.laptop.org/go/Talk:Ejabberd_Configuration by another user I 
commiserated with.

If anyone is interested in pursuing this, I can bump my previous post, 
but right now its not a high priority for me.

Wilson

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Benjamin M. Schwartz
On Tue, 2008-02-19 at 10:02 -0500, John Watlington wrote:
 We ALWAYS have multicast traffic.   Blindly waking on each
 received multicast packet will ensure that we only sleep for
 milliseconds.

What is all this multicast traffic?
If I am sitting idle on the network, why is there constant multicast
traffic being sent to me?

I would expect broadcasts for activity share notifications and Hi, I'm
new announcements, but those should be infrequent.

--Ben

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


startup icon blinks and disappears

2008-02-19 Thread Kaitlin Anderson
Hi all,

I'm a beginner at Python and have been trying to go through these two
tutorials that were posted on the wiki:
1) http://wiki.laptop.org/go/Activity_tutorial
2) http://wiki.laptop.org/go/PyGTK/Hello_World_Tutorial

The first tutorial was great and got me familiarized with the entire
integration with QEMU.
I successfully got that little Hello World up and running but have had some
difficulty with the second one which was an introduction to Glade.

I was able to run my class code successfully in PythonWin so I know the base
source works, which points to something wrong in the activity.py wrapper.
The symptom is when I invoke the activity from the frame, the icon gets
added to the active activity ring and starts blinking. However, it tries to
start but after a few blinks it just disappears. I ran into this issue with
the first tutorial and discovered it was an accidental indentation I had
added. I could ctrl-alt-3 over to the console to see the errors when I ran
it from the developer's console. However, when I try running the tutorial 2
code, I get an error from _init_check within gtk saying it had a Runtime
Error Could not open display. Any suggestions?

Much thanks,
Kaitlin
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: An Update about Speech Synthesis

2008-02-19 Thread Hemant Goyal
Hi,


I'd like to see an eSpeak literacy project written up -- Once we have
 a play button, with text highlighting, we have most of the pieces to
 make a great read + speak platform that can load in texts and
 highlight words/sentences as they are being read.  Ping had a nice
 mental model for this a while back.


Great idea :). The button will soon be there :D. I had never expected this
to turn into something this big :). There are lots of things I want to get
done wrt this project and hope to accomplish them one by one.

Thanks for the info Hemant!  Can you tell me more about your experiences
 with speech dispatcher and which version you are using?  The things I'm
 interested in are stability, ease of configuration, completeness of
 implementation, etc.



I'll try to tell whatever I am capable of explaining (I am not an expert
like you all :) ). Well we had initially started out with a speech-synthesis
DBUS API that directly connected to eSpeak. Those results are available on
the wiki page [http://wiki.laptop.org/go/Screen_Reader]. From that point
onwards we found out about speech-dispatcher and decided to analyze it for
our requirements primarily keeping the following things in mind:


   1. An API that provided configuration control on a per-client basis.
   2. a feature like printf() but for speech for developers to call, and
   thats precisely how Free(b)soft described their approach to
   speech-dispatcher.
   3. Python Interface for speech-synthesis
   4. Callbacks for developers after certain events.

At this moment I am in a position to comment about the following:


   1. WRT which modules to use -I found it extremely easy to configure
   speech-dispatcher to use eSpeak as a TTS engine. There are configuration
   files available to simply select/unselect which TTS module needs to be used.
   I have described how an older version of speech-dispatcher can be made to
   run on the XO here
   
http://wiki.laptop.org/go/Screen_Reader#Installing_speech-dispatcher_on_the_xo
   2. There were major issues of using eSpeak with the ALSA Sound system
   some time back [http://dev.laptop.org/ticket/5769,
   http://dev.laptop.org/ticket/4002]. This issue is resolved by using
   speech-dispatcher as it supports ALSA, and OSS. So in case OLPC ever shifts
   to OSS we are safe. I am guessing speech-dispatcher does not directly let a
   TTS engine write to a sound device but instead accepts the audio buffer and
   then routes it to the Audio Sub System.
   3. Another major issue we had to tackle was providing callbacks while
   providing the DBUS interface. The present implementation of
   speech-dispatcher provides callbacks for various events that are important
   wrt speech-synthesis. I have tested these out in python and they were
   working quite nicely. In case you have not, you might be interested in
   checking out their Python API [
   
http://cvs.freebsoft.org/repository/speechd/src/python/speechd/client.py?hideattic=0view=markup
   ].
   4. Voice Configuration and language selection - The API provides us
   options to control voice parameters such as pitch, volume, voice etc for
   each client.
   5. Message Priorities and Queuing - speech-dispatcher has provided
   various levels of priority for speech synthesis, so we cand place a Higher
   Priority to a message played by Sugar as compared to an Activity.
   6. Compatibility with orca - I installed orca and used
   speech-dispatcher as the speech synth engine. It worked fine. We wanted to
   make sure that the speech synth server would work with orca if it was ported
   to XO in the future.
   7. Documentation - speech-dispatcher has a lot of documentation at the
   moment, and hence its quite easy to find our way and figure out how to do
   things we really want to. I had intended to explore gnome-speech as well,
   however the lack of documentation and examples turned me away.

The analysis that I did was mostly from a user point of view or simple
developer requirements that we realized had to be fulfilled wrt
speech-synthesis, and it was definitely not as detailed as you probably
might expect from me.

We are presently using speech-dispatcher 0.6.6

A dedicated eSpeak module has been provided in the newer versions of
speech-dispatcher and that is a big advantage for us. In the older version
eSpeak was called and various parameters were passed as command line
arguments, it surely was not very efficient wrt XO.

Stability - I think the main point that I tested here was how well
speech-dispatcher responds to long strings. The latest release of
speech-dispatcher 0.6.6 has some
tests in which an entire story is read out [
http://cvs.freebsoft.org/repository/speechd/src/tests/long_message.c?view=markup].
However I still need to run this test on the XO. I will do so once I have
RPM packages to install on the XO.

In particular speech-dispatcher is quite customizable, easily controlled
through programming languages, provides callback support, and has

Re: Salut and Suspend/Resume issues

2008-02-19 Thread Polychronis Ypodimatopoulos
If the time between a resume and a suspend is shorter than the time 
period between consecutive presence updates (which is several minutes), 
then the presence service should not even know that a suspend happened 
in between. Then why are icons disappearing?

p.



Sjoerd Simons wrote:
 It's avahi that's giving you problems. Or more precisely, it can't cope with
 the fact that during suspend it's essentially deaf.

 If we want to make presence on the local lan work in a way to allow the host
 CPU to sleep most of the time we need both a different presence protocol (some
 people are already working on this). And we need some assistence from the
 wireless card to keep track of presence while the host cpu is asleep.. But i
 don't see this happening soon.

   
 Should we be setting the wireless module to wake on multicast, so that we can
 respond to whatever traffic the presence service is using to see who's
 online?
 

 Yes please do. And if possible only to the multicast traffic the host is
 actually interested in.

 I'm pretty sure i mentioned this before, if you don't wake up on multicast
 traffic your completely breaking the way mdns works. And thus the notions of
 presence in a link-local network. Also if you don't wake up on multicast then
 activities in a local lan will break as they won't receive data and other
 metainformation from other participants.

   
 Should it be using unicast traffic instead?
 
 No

   
 What is it in Avahi's code path that causes its peer list to be emptied on
 resume?
 

 Given that it's long suspends that have this problem. It's probably the fact
 that the TTL for all contacts has run out, that is causing avahi to flush the
 peer list. After which it needs to rediscover all of them. Which is a valid
 thing to do, if you've been away for quite some time you have no idea who is
 still around.

   Sjoerd
   

-- 
Polychronis Ypodimatopoulos
Graduate student
Viral Communications
MIT Media Lab
Tel: +1 (617) 459-6058
http://www.mit.edu/~ypod/

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Giannis Galanis
For the protocol to be healthy,

not only you have to wake every 10min to send your request,
but you have to be awake to receive the others' requests.

These are again 10min, but have different offsets. Thats why I believe the
only way would be to have 10off - 10on.

Still, due to bug 5501, if you miss a single request, u are prone to be
deleted right away.

So 10ff-10on might not work either.

In fact the although the requests are every 10min, the icon will hold for
30min in total until it is deleted.
Bug 5501, however, will delete the entry if within the timeframe, a new host
arrives.



On Feb 19, 2008 1:19 PM, Benjamin M. Schwartz [EMAIL PROTECTED]
wrote:

 On Tue, 2008-02-19 at 13:11 -0500, Giannis Galanis wrote:

 
  The wakeup required is T minutes for every T minutes.
  Actually you would need to be awake  for T  minutes
  and suspended for T minutes to be sure u are ok.
 
  So for T=10min, as in this case:
  9off, 11on, 9 off, 11on
 
  but this is not very effective in terms of suspend/resume

 I meant to imply that this would work only if the wireless hardware
 wakes up the system for every broadcast.

 --Ben



___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Polychronis Ypodimatopoulos
Gianni,

Giannis Galanis wrote:
 In fact the although the requests are every 10min, the icon will hold 
 for 30min in total until it is deleted.
 Bug 5501, however, will delete the entry if within the timeframe, a 
 new host arrives.

Are you saying that you can have stale icons on screen for as long as 30 
minutes?
If this is true, then it defeats the purpose of having a presence 
service in the first place.

p.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Giannis Galanis
The list expires in 10min-30min.

But we cant wait 30min before suspending, it is way too long.


On Feb 19, 2008 11:37 AM, Ricardo Carrano [EMAIL PROTECTED]
wrote:

 Yanni,

 As I posted in the bug, I believe that you are observing the entries on
 the avahi cache expiring.

 So, your first scenario would happen when the suspend time is longer than
 the time it takes for all entries to expire.
 The second scenario would happen when the suspend time is not long enough
 to make all cached entries to go away.


Oh i see that you mean. But, i think both cases are when the suspend time is
longer than time to expire.
The first is UI effect, and might have no relation to salut, but to mesh
view in general
The second is an avahi effect, that the avahi cache is chagned
Both, are in long suspends


 And the third scenario seems related to previous reports you've made on
 the Xmas tree effect, so not related to suspend/resume.


The xmas tree effect appears when XOs leave connection, while others return.
Suspend/resume enhances this effect dramatically, because in 1-2min everyone
goes away, and they return at random time according to when they resume.

In my suspend-salut tests , the xmas tree effect(although NOT related to
suspend/resume), it affects salut alot more then the other 2 scenarios

My point is that we must fix it anyway. But especially now!!



 What do you think?


I have 2 questions that will help (me) understand alot about the situation:

1. When a XO resumes, does it send any notification via avahi, that it is
back? Because if it doesnt, then other XOs that have cleared it from their
lists, they will never search for it.

2. Every scans the network every 10min, to check whether its avahi peers are
alive, in multicast packets. Do these packets include the address of the
peers/targets? I think they do, unless i am very confused. Couldn't we
awake/resume the target XO when it receives these specific packets?

we need to do some sniffing




 On Feb 19, 2008 1:13 PM, Giannis Galanis [EMAIL PROTECTED] wrote:

 
 
  On Feb 19, 2008 10:13 AM, Ricardo Carrano [EMAIL PROTECTED]
  wrote:
 
  
   I was asking whether it would help to have the wireless module wake us
on multicast packets instead of only unicast.  Are you saying that
it
would?
  
  
   It seems so, though it would, as John points out, make resumes far
   more constant. It seems we have to find a creative way out of this tough
   choice (automated suspend vs mesh) or face it.
  
  
   
   
   Avahi entries will expire after some time. Suspend will prevent
it
   to update its cache.
   
Yani's bug report (#6467) suggests that Avahi entries often expire
immediately upon resume:
   
  After the XO resumes (probably after beinng suspended for several
  minutes) all the icons in the mesh view vanish, except the mesh
  circles.
  
  
   I read this as the avahi-cache  expiring its entries.  Yanni  can  you
   put timeframes on this?
   Could check how long does it take to expiry an entry (TO) and then
   check if:
   Suspend time  TO - all entries vanish
   Suspend time  TO - no entries vanish
   Supens time ~ TO - some entries vanish
  
 
  There as 2 cases where icons vanish due to suspend.
 
  1st: The moment you resume(it generally happens after long suspends),
  all icons vanish instantly(APs/XOs). This bug (#6467) suggests that sugar
  has a problem with suspend resume.
  The icons slowly reappear. I assume that if the avahi peer list is
  intact that all XOs return.
 
  2nd: The avahi list smtimes looses some or all of the peers at resume.
  This is also under 6467, but it seems technicaly different. One possible
  explanation could be that during suspend th XO resumes several times, but i
  didnt notice it! And within this time frames it realized that the other
  suspended XOs are gone, so it cleared its cache. Now when I resumed it
  myself, I observed that the cache is clean!!
 
  Now, regarding the timeouts of avahi. This is a 3rd thing:
  When an XO leaves the channel we have 4 states:
 mm:ss
  1. 00:00  XO leave the channel(manually/or ti suspended)
  2. 10:00  Avahi notices teh XO left, and reports it as failed
  3. 30:00  Icon dissappears in the mesh view
  4. 60:00  Avahi cache is cleared
  Additionally there is a bug(#5501) according to which, is a NEW XO
  arrives between states 2 and 3, then instantly ALL failed avahi peers are
  cleared and the corresponding icons vanish.
 
  So, the 3rd case is the following:
 
  Assume a mesh has e.g. 20 XOs, and I use my XO so it doesnt suspend, but
  the rest 19 of them are suspended.
  If in 10mins a new XO arrives, then all the 19 XOs instantly vanish
  from the mesh.
 
  So the TO time is between 10-30min... but closer to 10min if many XOs
  suspend/resume
  So if resume time  10min everything is fine!!
 
 
 
  What i dont know is when an XO resumes if it sends any avahi packet no
  notify tis presence/return. Because if it doesnt, then the XO 

Re: Salut and Suspend/Resume issues

2008-02-19 Thread Giannis Galanis
On Feb 19, 2008 12:55 PM, Benjamin M. Schwartz [EMAIL PROTECTED]
wrote:

 On Tue, 2008-02-19 at 12:29 -0500, Giannis Galanis wrote:
  The avahi works is that every several minutes(a predetermined timeout)
  each host will send multicast request for all peers in its list.
  Then all peers receiving this request will send a multicast reply.
 
  The packets are multicast because the mesh is mobile/dynamic so we
  dont know where the target is, or which is the ideal route

 The problem is that with a timeout of T minutes and N laptops, there is
 a wakeup required every T/N minutes, on average?


The wakeup required is T minutes for every T minutes.
Actually you would need to be awake  for T  minutes
and suspended for T minutes to be sure u are ok.

So for T=10min, as in this case:
9off, 11on, 9 off, 11on

but this is not very effective in terms of suspend/resume

  Based on your
 description, it sounds as if this could be fixed by a small change in
 Avahi's timeout behavior.

 If I reach the timeout, I send a broadcast saying Everyone, what's your
 status?.  In reply, all users send a broadcast My status is X.  All
 peers receive all of these broadcasts, and reset their timers to zero.
 In this way, all laptops wake up together once every T minutes.

 Surely the solution is not this simple...

 The problem is that the others wont know YOUR status.
I think the confirmation of status is not announced/beaconed, but
requested first.

But someone from collabora must confirm this
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Ricardo Carrano
Yanni,

Timeout is a value, not a range. The effects brought by the timeout may
manifest in a period (a range).

I believe everyone will agree that 30 minutes is a long time to wait (and
like Polychronis added) defeat the whole idea of a presence service.

But, what I want to stress is that we are dealing with different issues
here.

I don't believe this 30 minutes or the xmas tree effect is related to
suspend/resume. Those seem like bugs somewhere in the stack of software that
support presence, while the suspend/resume issues are clearly a side effect
of  the multicast traffic not being heard by a suspended XO.



On Feb 19, 2008 3:00 PM, Giannis Galanis [EMAIL PROTECTED] wrote:

 The list expires in 10min-30min.

 But we cant wait 30min before suspending, it is way too long.


 On Feb 19, 2008 11:37 AM, Ricardo Carrano [EMAIL PROTECTED]
 wrote:

  Yanni,
 
  As I posted in the bug, I believe that you are observing the entries on
  the avahi cache expiring.
 
  So, your first scenario would happen when the suspend time is longer
  than the time it takes for all entries to expire.
  The second scenario would happen when the suspend time is not long
  enough to make all cached entries to go away.


 Oh i see that you mean. But, i think both cases are when the suspend time
 is longer than time to expire.
 The first is UI effect, and might have no relation to salut, but to mesh
 view in general
 The second is an avahi effect, that the avahi cache is chagned
 Both, are in long suspends

 
  And the third scenario seems related to previous reports you've made on
  the Xmas tree effect, so not related to suspend/resume.


 The xmas tree effect appears when XOs leave connection, while others
 return.
 Suspend/resume enhances this effect dramatically, because in 1-2min
 everyone goes away, and they return at random time according to when they
 resume.

 In my suspend-salut tests , the xmas tree effect(although NOT related to
 suspend/resume), it affects salut alot more then the other 2 scenarios

 My point is that we must fix it anyway. But especially now!!


 
  What do you think?
 

 I have 2 questions that will help (me) understand alot about the
 situation:

 1. When a XO resumes, does it send any notification via avahi, that it is
 back? Because if it doesnt, then other XOs that have cleared it from their
 lists, they will never search for it.

 2. Every scans the network every 10min, to check whether its avahi peers
 are alive, in multicast packets. Do these packets include the address of the
 peers/targets? I think they do, unless i am very confused. Couldn't we
 awake/resume the target XO when it receives these specific packets?

 we need to do some sniffing



 
  On Feb 19, 2008 1:13 PM, Giannis Galanis [EMAIL PROTECTED] wrote:
 
  
  
   On Feb 19, 2008 10:13 AM, Ricardo Carrano [EMAIL PROTECTED]
   wrote:
  
   
I was asking whether it would help to have the wireless module wake
 us
 on multicast packets instead of only unicast.  Are you saying that
 it
 would?
   
   
It seems so, though it would, as John points out, make resumes far
more constant. It seems we have to find a creative way out of this tough
choice (automated suspend vs mesh) or face it.
   
   


Avahi entries will expire after some time. Suspend will
 prevent it
to update its cache.

 Yani's bug report (#6467) suggests that Avahi entries often expire
 immediately upon resume:

   After the XO resumes (probably after beinng suspended for
 several
   minutes) all the icons in the mesh view vanish, except the mesh
   circles.
   
   
I read this as the avahi-cache  expiring its entries.  Yanni  can
you put timeframes on this?
Could check how long does it take to expiry an entry (TO) and then
check if:
Suspend time  TO - all entries vanish
Suspend time  TO - no entries vanish
Supens time ~ TO - some entries vanish
   
  
   There as 2 cases where icons vanish due to suspend.
  
   1st: The moment you resume(it generally happens after long suspends),
   all icons vanish instantly(APs/XOs). This bug (#6467) suggests that sugar
   has a problem with suspend resume.
   The icons slowly reappear. I assume that if the avahi peer list is
   intact that all XOs return.
  
   2nd: The avahi list smtimes looses some or all of the peers at resume.
   This is also under 6467, but it seems technicaly different. One possible
   explanation could be that during suspend th XO resumes several times, but 
   i
   didnt notice it! And within this time frames it realized that the other
   suspended XOs are gone, so it cleared its cache. Now when I resumed it
   myself, I observed that the cache is clean!!
  
   Now, regarding the timeouts of avahi. This is a 3rd thing:
   When an XO leaves the channel we have 4 states:
  mm:ss
   1. 00:00  XO leave the channel(manually/or ti suspended)
   2. 10:00  Avahi notices teh XO left, and reports 

Re: Salut and Suspend/Resume issues

2008-02-19 Thread Giannis Galanis
On Feb 19, 2008 2:48 PM, Ricardo Carrano [EMAIL PROTECTED] wrote:

 Yanni,

 Timeout is a value, not a range. The effects brought by the timeout may
 manifest in a period (a range).


Did a use it otherwise? Because of the effects of xmas tree, the timeout for
a failed XO until it's icon is removed is 10-30min.


 I believe everyone will agree that 30 minutes is a long time to wait (and
 like Polychronis added) defeat the whole idea of a presence service.

 But, what I want to stress is that we are dealing with different issues
 here.


 I don't believe this 30 minutes or the xmas tree effect is related to
 suspend/resume. Those seem like bugs somewhere in the stack of software that
 support presence, while the suspend/resume issues are clearly a side effect
 of  the multicast traffic not being heard by a suspended XO.


There are way too many issues. Theses bugs (30min/xmas tree) enhance the
effects of suspend/resume on the mesh.
I believe that since we have the big test week coming, everyone must be
aware of them, or else noone will interpret the results properly.

The direct suspend/resume bugs are:

1. Why the mesh view  empties after a long suspend, and how this affects the
mesh view
2. Why some times the avahi cache is cleared after  resume.


Ricardo, do you have anwers to the questions I posted before? :
1. When a XO resumes, does it send any notification via avahi, that it is
back? Because if it doesnt, then other XOs that have cleared it from their
lists, they will never search for it.

2. Every scans the network every 10min, to check whether its avahi peers are
alive, in multicast packets. Do these packets include the address of the
peers/targets? I think they do, unless i am very confused. Couldn't we
awake/resume the target XO when it receives these specific packets?


On Feb 19, 2008 3:00 PM, Giannis Galanis [EMAIL PROTECTED] wrote:

 The list expires in 10min-30min.

 But we cant wait 30min before suspending, it is way too long.


 On Feb 19, 2008 11:37 AM, Ricardo Carrano [EMAIL PROTECTED]
 wrote:

  Yanni,
 
  As I posted in the bug, I believe that you are observing the entries on
  the avahi cache expiring.
 
  So, your first scenario would happen when the suspend time is longer
  than the time it takes for all entries to expire.
  The second scenario would happen when the suspend time is not long
  enough to make all cached entries to go away.


 Oh i see that you mean. But, i think both cases are when the suspend time
 is longer than time to expire.
 The first is UI effect, and might have no relation to salut, but to mesh
 view in general
 The second is an avahi effect, that the avahi cache is chagned
 Both, are in long suspends

 
  And the third scenario seems related to previous reports you've made on
  the Xmas tree effect, so not related to suspend/resume.


 The xmas tree effect appears when XOs leave connection, while others
 return.
 Suspend/resume enhances this effect dramatically, because in 1-2min
 everyone goes away, and they return at random time according to when they
 resume.

 In my suspend-salut tests , the xmas tree effect(although NOT related to
 suspend/resume), it affects salut alot more then the other 2 scenarios

 My point is that we must fix it anyway. But especially now!!


 
  What do you think?


 I have 2 questions that will help (me) understand alot about the
 situation:

 1. When a XO resumes, does it send any notification via avahi, that it is
 back? Because if it doesnt, then other XOs that have cleared it from their
 lists, they will never search for it.

 2. Every scans the network every 10min, to check whether its avahi peers
 are alive, in multicast packets. Do these packets include the address of the
 peers/targets? I think they do, unless i am very confused. Couldn't we
 awake/resume the target XO when it receives these specific packets?

 we need to do some sniffing



 
  On Feb 19, 2008 1:13 PM, Giannis Galanis [EMAIL PROTECTED] wrote:
 
  
  
   On Feb 19, 2008 10:13 AM, Ricardo Carrano [EMAIL PROTECTED]
   wrote:
  
   
I was asking whether it would help to have the wireless module wake
 us
 on multicast packets instead of only unicast.  Are you saying that
 it
 would?
   
   
It seems so, though it would, as John points out, make resumes far
more constant. It seems we have to find a creative way out of this tough
choice (automated suspend vs mesh) or face it.
   
   


Avahi entries will expire after some time. Suspend will
 prevent it
to update its cache.

 Yani's bug report (#6467) suggests that Avahi entries often expire
 immediately upon resume:

   After the XO resumes (probably after beinng suspended for
 several
   minutes) all the icons in the mesh view vanish, except the mesh
   circles.
   
   
I read this as the avahi-cache  expiring its entries.  Yanni  can
you put timeframes on this?
Could check how long does it take to expiry 

A modest proposal.

2008-02-19 Thread C. Scott Ananian
I propose installing a handler for a new URI type in our browse
application.  The links will look like:
   friend:name.xxx.school.country.xs.laptop.org
where:
  name is a Punycode encoding of the XO nickname.  Technically, the
IDN ToASCII mapping operation is performed on the nickname, truncated
on the right if necessary so the result is 63 characters or less; see
http://en.wikipedia.org/wiki/Internationalized_domain_name.
  xxx is an encoded version of the the XO public key.  The number is
written in a variable base number system where the first three digits
are base 36, base 37, and base 26 and the digits are mapped into
characters starting with lowercase alphabetic, then numeric, then a
hyphen.  If I've done my math correctly
(http://en.wikipedia.org/wiki/Birthday_paradox ), this requires about
220 students to have the same name before a collision has a 50% chance
of occuring.  If the server uses an independent means to prevent
duplicate nicknames, the xxx can be replaced with 'fun'.
  'school.country.xs.laptop.org' is filled in by registration with a
school server.  If you do not have access to a school server, then you
can register with xofriends.org (or another independent service) and
use that suffix.

Clicking on a link of this form would add this person to your buddy
list.  Communicating with a this form of buddy would, in parallel, (a)
attempt to contact the IPv6 Link-Local address formed from the lower
64 bits of the SHA-256 of the complete friend domain string (not
including the URI scheme or colon) and (b) attempt to look up the
hostname and contact the IPv4 or IPv6 address returned.  (If the DNS
responds, you SHOULD use this address for further communication in
this session, since it may persist even if you roam off your current
mesh.)  A simple service at a well-known port would confirm status and
list sharable activities.

Via a network manager hook, XOs should report their current IPv4/IPv6
addresses to the 'school.country.xs.laptop.org' part of their local
domain name, which will export it via the standard dynamic DNS
mechanisms.
 --scott

-- 
 ( http://cscott.net/ )
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Ricardo Carrano
Yanni,


 Did a use it otherwise? Because of the effects of xmas tree, the timeout
 for a failed XO until it's icon is removed is 10-30min.


I am talking about the time it takes for an avahi entry to expire. For what
you said, is 10 minutes.



 Ricardo, do you have anwers to the questions I posted before? :


Let's see:


 1. When a XO resumes, does it send any notification via avahi, that it is
 back? Because if it doesnt, then other XOs that have cleared it from their
 lists, they will never search for it.


I believe there is no I am back notification different than the normal way
presence information is exchanged by the protocol.



 2. Every scans the network every 10min, to check whether its avahi peers
 are alive, in multicast packets. Do these packets include the address of the
 peers/targets? I think they do, unless i am very confused. Couldn't we
 awake/resume the target XO when it receives these specific packets?


That's the point. Mdns is multicast and the XOs, when suspended, don't
listen to multicast frames.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Giannis Galanis
On Feb 19, 2008 4:10 PM, Ricardo Carrano [EMAIL PROTECTED] wrote:

 Yanni,

 
  Did a use it otherwise? Because of the effects of xmas tree, the timeout
  for a failed XO until it's icon is removed is 10-30min.
 

 I am talking about the time it takes for an avahi entry to expire. For
 what you said, is 10 minutes.


Oh ok. This is not 10min.

Avahi checks every 10min that its peers are alive.

An active entry will never expire
A failed entry will naturally expire in an additional 20min(30 in total).
BUT, it can expire instantly due to xmas tree bug(5501)




  Ricardo, do you have anwers to the questions I posted before? :
 

 Let's see:


  1. When a XO resumes, does it send any notification via avahi, that it
  is back? Because if it doesnt, then other XOs that have cleared it from
  their lists, they will never search for it.
 

 I believe there is no I am back notification different than the normal
 way presence information is exchanged by the protocol.


If not, then we have a problem. The other XOs will never know it is here, so
they will never search for it. I think the are u alive request is
destination specific.

I will do some sniffing and find out.


 
  2. Every scans the network every 10min, to check whether its avahi peers
  are alive, in multicast packets. Do these packets include the address of the
  peers/targets? I think they do, unless i am very confused. Couldn't we
  awake/resume the target XO when it receives these specific packets?
 

 That's the point. Mdns is multicast and the XOs, when suspended, don't
 listen to multicast frames.


The suspended XO can be setup to wake up by multicast packets. This is
technically possible afaik
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Salut and Suspend/Resume issues

2008-02-19 Thread Michail Bletsas
Yeah, let's drop everything and the kitchen sink on the radio!!

M.





John Watlington [EMAIL PROTECTED] 
02/19/2008 10:10 AM

To
Chris Ball [EMAIL PROTECTED]
cc
John Watlington [EMAIL PROTECTED], Ricardo Carrano 
[EMAIL PROTECTED], OLPC Devel [EMAIL PROTECTED], Michail 
Bletsas [EMAIL PROTECTED]
Subject
Re: Salut and Suspend/Resume issues







The partitioning we made between the network processor and the
main processor was pretty clean.  Unfortunately, it doesn't support
low power operation.   I suggest rethinking the partition for Gen2.

wad

On Feb 19, 2008, at 10:04 AM, Chris Ball wrote:

 Hi Ricardo,

 A mesh will always rely to some degree in multicast/broadcast
 traffic. This is not a bug.

 I was asking whether it would help to have the wireless module wake us
 on multicast packets instead of only unicast.  Are you saying that it
 would?

 Avahi entries will expire after some time. Suspend will prevent it
 to update its cache.

 Yani's bug report (#6467) suggests that Avahi entries often expire
 immediately upon resume:

After the XO resumes (probably after beinng suspended for several
minutes) all the icons in the mesh view vanish, except the mesh
circles.

 Thanks,

 - Chris.
 -- 
 Chris Ball   [EMAIL PROTECTED]
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel



___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: A modest proposal.

2008-02-19 Thread Robert McQueen
Such a thing would be most excellent, indeed. :)

A similar, but more standards-compliant[1][2] proposal might look more like:
 xmpp:[EMAIL PROTECTED]

Clicking on a link of this form:
 xmpp:[EMAIL PROTECTED]
could add the individual as a friend, or a link like this:
 xmpp:[EMAIL PROTECTED]
might start a conversation with them.

The presence service already registers to an XMPP server on the school
server. If we arrange the DNS reachability for school servers, we can
use the existing XMPP network and server-to-server connections to deal
with sending communications between school servers. We just need to arrange:
 a) global naming of the school servers
 b) discovery of that name by the laptops
 c) adding the name to the generated XMPP ID

There's already a service on each school server which responds on a well
known port (5222, aka xmpp-client) and confirms people's
status/availability, and we're already working on a simple add-on
component to enumerate activities which are reachable via that school
server, it's called Gadget (see http://wiki.laptop.org/go/Gadget).

Key verification of link-locally reachable contacts can be used to
resolve these contacts on the local network too.

Also, no punycode is required. XMPP was drafted after non-ASCII speaking
countries were discovered. :)

Regards,
Rob

1: http://tools.ietf.org/html/rfc4395
2: http://tools.ietf.org/html/rfc4622

C. Scott Ananian wrote:
 I propose installing a handler for a new URI type in our browse
 application.  The links will look like:
friend:name.xxx.school.country.xs.laptop.org
 where:
   name is a Punycode encoding of the XO nickname.  Technically, the
 IDN ToASCII mapping operation is performed on the nickname, truncated
 on the right if necessary so the result is 63 characters or less; see
 http://en.wikipedia.org/wiki/Internationalized_domain_name.
   xxx is an encoded version of the the XO public key.  The number is
 written in a variable base number system where the first three digits
 are base 36, base 37, and base 26 and the digits are mapped into
 characters starting with lowercase alphabetic, then numeric, then a
 hyphen.  If I've done my math correctly
 (http://en.wikipedia.org/wiki/Birthday_paradox ), this requires about
 220 students to have the same name before a collision has a 50% chance
 of occuring.  If the server uses an independent means to prevent
 duplicate nicknames, the xxx can be replaced with 'fun'.
   'school.country.xs.laptop.org' is filled in by registration with a
 school server.  If you do not have access to a school server, then you
 can register with xofriends.org (or another independent service) and
 use that suffix.
 
 Clicking on a link of this form would add this person to your buddy
 list.  Communicating with a this form of buddy would, in parallel, (a)
 attempt to contact the IPv6 Link-Local address formed from the lower
 64 bits of the SHA-256 of the complete friend domain string (not
 including the URI scheme or colon) and (b) attempt to look up the
 hostname and contact the IPv4 or IPv6 address returned.  (If the DNS
 responds, you SHOULD use this address for further communication in
 this session, since it may persist even if you roam off your current
 mesh.)  A simple service at a well-known port would confirm status and
 list sharable activities.
 
 Via a network manager hook, XOs should report their current IPv4/IPv6
 addresses to the 'school.country.xs.laptop.org' part of their local
 domain name, which will export it via the standard dynamic DNS
 mechanisms.
  --scott
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: A modest proposal.

2008-02-19 Thread Robert McQueen
Robert McQueen wrote:
 Key verification of link-locally reachable contacts can be used to
 resolve these contacts on the local network too.

Ah, I misread a bit of the OP, deriving local IPv6 addresses from the
contact address is actually a pretty neat tweak. :) It's orthogonal to
the addressing scheme used however, and we probably want to do key
verification when we initiate communications anyway.

Regards,
Rob
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Project hosting application

2008-02-19 Thread Nicolas Escobar J.
1. Project name : Mastergoal
2. Existing website, if any :
3. One-line description : Board strategy game inspired on soccer and chess

4. Longer description   : The mastergoal board represents the
field and the pieces represent the players and the ball. Each
: team have one or more players (depending
on the level) and the objective is to score a goal to the
: opposite team. This project involves the
implementation of the board game including rules, AI,
: multi-player feature, etc.

5. URLs of similar projects : http://www.mastergoal.com

6. Committer list
   Please list the maintainer (lead developer) as the first entry. Only list
   developers who need to be given accounts so that they can commit to your
   project's code repository, or push their own. There is no need to list
   non-committer developers.

  Username   Full name SSH2 key URLE-mail
     - --
   #1 nescobarj  Nicolas Escobar   (below)
[EMAIL PROTECTED]
   #2
   #3
  ...

   If any developers don't have their SSH2 keys on the web, please attach them
   to the application e-mail.

7. Preferred development model

   [X] Central tree. Every developer can push his changes directly to the
   project's git tree. This is the standard model that will be familiar to
   CVS and Subversion users, and that tends to work well for most projects.

   [ ] Maintainer-owned tree. Every developer creates his own git tree, or
   multiple git trees. He periodically asks the maintainer to look at one
   or more of these trees, and merge changes into the maintainer-owned,
   main tree. This is the model used by the Linux kernel, and is
   well-suited to projects wishing to maintain a tighter control on code
   entering the main tree.

   If you choose the maintainer-owned tree model, but wish to set up some
   shared trees where all of your project's committers can commit directly,
   as might be the case with a discussion tree, or a tree for an individual
   feature, you may send us such a request by e-mail, and we will set up the
   tree for you.

8. Set up a project mailing list:

   [ ] Yes, named after our project name
   [ ] Yes, named __
   [X] No

   When your project is just getting off the ground, we suggest you eschew
   a separate mailing list and instead keep discussion about your project
   on the main OLPC development list. This will give you more input and
   potentially attract more developers to your project; when the volume of
   messages related to your project reaches some critical mass, we can
   trivially create a separate mailing list for you.

   If you need multiple lists, let us know. We discourage having many
   mailing lists for smaller projects, as this tends to
   stunt the growth of your project community. You can always add more lists
   later.

9. Commit notifications

   [ ] Notification of commits to the main tree should be e-mailed to the list
   we chose to create above
   [ ] A separate mailing list, projectname-git, should be created for commit
   notifications
   [X] No commit notifications, please

10. Shell accounts

   As a general rule, we don't provide shell accounts to developers unless
   there's a demonstrated need. If you have one, please explain here, and
   list the usernames of the committers above needing shell access.

11. Translation
   [X] Set up the laptop.org Pootle server to allow translation
commits to be made
   [ ] Translation arrangements have already been made at ___

12. Notes/comments:

ssh-dss B3NzaC1kc3MAAACBAKA8UeRiQmSK/zavI8oFri1+QKfYM0E01AuYMhVLqHoT
0eBBFNnJKbGdK2SBu4npokPF8P5grDRlJ6cOeMhfG5ABR84emSeLuGhhZGimazgJ
KzM4DLxU5ggxhzjoWU0eYU0l3pBmsLUNxB896ccd59ckPU47tUF3taFoLK9+W2u/
FQCjbbuoXrknW080O0m5NGcgCnQvSwAAAIAbLK5vecX626jiwx0b/42UkJxr
StYohcWiXFes2ujw11k7WbDcvwbCFFF5FiVUY7DLnru4BSgwH3I4TTS4qWN4yA5T
61Ea8cNppnD8UXsAswzU/SJRoxu1O3FtU5+eb/y6R6d4y7AjA/WdgjLuQnAFUhqB
T3v7FnE6NaMkA6UfjQAAAIAzEuIMbVYHAjUgtC+gK047PFyhEnpn6LG6+o1khxpZ
NOj2HvGy15WQSrHBD/ZCxrFoOEK/EiL4l681kFYHOk2nqRdnUZyEm83HXVBSnWKi
9v5IDh2HRH9wTS1RDyqLNJefhJj1pW9fC974bL5OFQO+LD7pzrIig0GtVrBXNFV2
dg==



-- 
Nicolás.-
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


git admin, where are you? (was Re: Read ETexts Activity Text To Speech)

2008-02-19 Thread Edward Cherlin
On Feb 19, 2008 7:55 AM, James Simmons [EMAIL PROTECTED] wrote:
 Edward,

 I've looked at Hemant Goyal's pages on speech synthesis and it looks to
 be a great deal easier than I expected.  The karaoke highlighting looks
 doable too.  While my first priority will be getting my Activity to have
 all of the features that Read has, once I've done that I'd like to try
 adding this new feature.

All excellent news.

 The issue that I'll have with this is making
 it degrade gracefully.  Since text to speech looks like it will be
 shipped with the OS, I have to figure out a way to make this feature
 only be visible on laptops that can support it.

That sounds like a 'not' fell out somewhere. I vote for having TTS
included on every laptop.

 Maybe an extra toolbox
 tab.  I'd also have to figure out a way to test it.  I use xubuntu with
 the Sugar emulator for testing, so somehow I'd have to get Hemant's
 packages on there, probably compiling from source.

I'm sure somebody here can help.

 I submitted the form to this list to get a git repository, etc.  I
 haven't heard from anyone on that since.

Yo! Anybody home?

 I didn't expect instant turnaround on this,

*I* expect instant acknowledgment of applications. At least an
autoreply message saying how long it should take, how you will be
notified when your directory is ready for submissions, and whom to
ping if it isn't happening. I have some applications in preparation.
If I don't get satisfaction when I submit them, and I don't know whom
to ping individually, I will bother lots of people about it. At a
minimum, this entire list, as I am in fact now doing.

Why isn't management on top of these issues?

 and there is definitely no rush, but I am wondering
 what to expect.  I'd like to have my projects hosted on the OLPC
 servers, where I feel they would be most visible.  On the other hand I
 already have a project on SourceForge and it would  be simple enough to
 set up another one.

 James Simmons


 Edward Cherlin wrote:

 Will it include Text-to-Speech, for the purposes we have discussed on
 this list? If so, could we get some sort of cursor or coloring effect
 to show the illiterate or semi-literate where they are in the text?
 
 
 






-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Audio device capture settings at start in Kernel

2008-02-19 Thread Arjun Sarwal
Currently, when the audio capture device is opened, the kernel applies
these settings
1. The  DC mode enable setting is disabled
2. The bias voltage is enabled

Both are settings that allow the built in mic to get enabled properly.


The rationale of applying these settings is that if Activities quit
prematurely without properly closing the capture device,another
Activity that uses this device, mustn't need to do anything special to
get a default recording stream from the mic.



The flip-side of  applying these settings is that using an alsa
interface, say such as pyalsaaudio to acquire  a specified certain
number of samples makes it impossible to get these samples at anything
but the default settings. This is because when the specified call to
get samples opens the capture device, the kernel overrides with the
default settings (outlined in point 1 and 2 in the beginning of this
email)


My suggestion -- apply default settings only at close of capture
device and not while opening it


Given the current settings, I am out of ideas of how to write code
that allows one to, at-will request for _a_ sample from the ADC at a
specified set of capture settings and get it. Any suggestions ?








-- 
Arjun Sarwal
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: An Update about Speech Synthesis

2008-02-19 Thread Samuel Klein
Hemant and James,

Can you write something about this at a [[spoken texts]] page on the
wiki ('hear and read'?  some other more creative name... )?  The
Google Literacy Project is highlighting a number of literacy efforts
for the upcoming World Book Day, and your work would be fine
suggestions for that list.

SJ


On Feb 19, 2008 1:13 PM, Hemant Goyal [EMAIL PROTECTED] wrote:

 Hi,


  I'd like to see an eSpeak literacy project written up -- Once we have
  a play button, with text highlighting, we have most of the pieces to
  make a great read + speak platform that can load in texts and
  highlight words/sentences as they are being read.  Ping had a nice
  mental model for this a while back.


 Great idea :). The button will soon be there :D. I had never expected this
 to turn into something this big :). There are lots of things I want to get
 done wrt this project and hope to accomplish them one by one.

  Thanks for the info Hemant!  Can you tell me more about your experiences
  with speech dispatcher and which version you are using?  The things I'm
  interested in are stability, ease of configuration, completeness of
  implementation, etc.


 I'll try to tell whatever I am capable of explaining (I am not an expert
 like you all :) ). Well we had initially started out with a speech-synthesis
 DBUS API that directly connected to eSpeak. Those results are available on
 the wiki page [http://wiki.laptop.org/go/Screen_Reader]. From that point
 onwards we found out about speech-dispatcher and decided to analyze it for
 our requirements primarily keeping the following things in mind:


 An API that provided configuration control on a per-client basis.
 a feature like printf() but for speech for developers to call, and thats
 precisely how Free(b)soft described their approach to speech-dispatcher.
 Python Interface for speech-synthesis
 Callbacks for developers after certain events.
  At this moment I am in a position to comment about the following:


 WRT which modules to use -I found it extremely easy to configure
 speech-dispatcher to use eSpeak as a TTS engine. There are configuration
 files available to simply select/unselect which TTS module needs to be used.
 I have described how an older version of speech-dispatcher can be made to
 run on the XO here
 http://wiki.laptop.org/go/Screen_Reader#Installing_speech-dispatcher_on_the_xo

 There were major issues of using eSpeak with the ALSA Sound system some time
 back [http://dev.laptop.org/ticket/5769, http://dev.laptop.org/ticket/4002].
 This issue is resolved by using speech-dispatcher as it supports ALSA, and
 OSS. So in case OLPC ever shifts to OSS we are safe. I am guessing
 speech-dispatcher does not directly let a TTS engine write to a sound device
 but instead accepts the audio buffer and then routes it to the Audio Sub
 System.

 Another major issue we had to tackle was providing callbacks while providing
 the DBUS interface. The present implementation of speech-dispatcher provides
 callbacks for various events that are important wrt speech-synthesis. I have
 tested these out in python and they were working quite nicely. In case you
 have not, you might be interested in checking out their Python API
 [http://cvs.freebsoft.org/repository/speechd/src/python/speechd/client.py?hideattic=0view=markup].
 Voice Configuration and language selection - The API provides us options to
 control voice parameters such as pitch, volume, voice etc for each client.
 Message Priorities and Queuing - speech-dispatcher has provided various
 levels of priority for speech synthesis, so we cand place a Higher Priority
 to a message played by Sugar as compared to an Activity.

 Compatibility with orca - I installed orca and used speech-dispatcher as the
 speech synth engine. It worked fine. We wanted to make sure that the speech
 synth server would work with orca if it was ported to XO in the future.
 Documentation - speech-dispatcher has a lot of documentation at the moment,
 and hence its quite easy to find our way and figure out how to do things we
 really want to. I had intended to explore gnome-speech as well, however the
 lack of documentation and examples turned me away.
  The analysis that I did was mostly from a user point of view or simple
 developer requirements that we realized had to be fulfilled wrt
 speech-synthesis, and it was definitely not as detailed as you probably
 might expect from me.

 We are presently using speech-dispatcher 0.6.6

 A dedicated eSpeak module has been provided in the newer versions of
 speech-dispatcher and that is a big advantage for us. In the older version
 eSpeak was called and various parameters were passed as command line
 arguments, it surely was not very efficient wrt XO.

 Stability - I think the main point that I tested here was how well
 speech-dispatcher responds to long strings. The latest release of
 speech-dispatcher 0.6.6 has some
 tests in which an entire story is read out
 

Re: git admin, where are you? (was Re: Read ETexts Activity Text To Speech)

2008-02-19 Thread Samuel Klein
 On Feb 19, 2008 7:55 AM, James Simmons [EMAIL PROTECTED] wrote:

  The issue that I'll have with this is making
  it degrade gracefully.  Since text to speech looks like it will be
  shipped with the OS, I have to figure out a way to make this feature
  only be visible on laptops that can support it.

 That sounds like a 'not' fell out somewhere. I vote for having TTS
 included on every laptop.

That is the idea.  The basic functionality is already in the builds.

SJ
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: A modest proposal.

2008-02-19 Thread Robert McQueen
C. Scott Ananian wrote:
 On Feb 19, 2008 5:47 PM, Robert McQueen [EMAIL PROTECTED] wrote:
 A similar, but more standards-compliant[1][2] proposal might look more like:
  xmpp:[EMAIL PROTECTED]
 
 The key part of my original proposal is that it also works in the
 (possibly temporary) absence of a school school or of network
 connectivity to the broader internet.  It can use DNS or mDNS if
 available, again without requiring connectivity to the broader
 internet or to the original schoolserver.

Indeed, but if you're able to make a mapping between the server-derived
identities and the link-local identities, this goal can still be served.
Currently we use the buddy key as this unifying key, but I very much
like the idea of providing extra information to open up the prospect of
communicating between schools, and allowing the XOs to exist in the
global XMPP namespace.

 Michael Stone suggested that the 'clever' part of the proposal, where
 the domain name is directly mapped to a link local IPv6 address, could
 actually be performed by a local DNS relay server on the XO.  So, an
 alternative might be something like:
xmpp:[EMAIL PROTECTED]
 It shouldn't be necessary to contact a server to collaborate directly
 with a peer.

Correct, but the problem here is that makes the addressing essentially
incompatible with re-using the existing (and globally-compatible)
namespace. In general, people don't run one XMPP server each. The odd
part seems to be that DNS must be involved. You don't need to mangle
things via DNS in order to allow a higher-level component to interpret
them and be able to make a mapping between identifiers (however they're
derived) and local IPv6 addresses.

   --scott

Regards,
Rob
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: A modest proposal.

2008-02-19 Thread C. Scott Ananian
On Feb 19, 2008 7:57 PM, Robert McQueen [EMAIL PROTECTED] wrote:
 C. Scott Ananian wrote:
 Currently we use the buddy key as this unifying key, but I very much
 like the idea of providing extra information to open up the prospect of
 communicating between schools, and allowing the XOs to exist in the
 global XMPP namespace.

Ok, what extra information are you suggesting?  I really have no clue
what your phrase global XMPP namespace is supposed to mean.  Don't
you mean global DNS namespace, as the bits to the left of the @ sign
are supposed to be resolvable via DNS, no?  XMPP doesn't have any part
in that resolution.

 Correct, but the problem here is that makes the addressing essentially
 incompatible with re-using the existing (and globally-compatible)
 namespace.

Again, I have no idea what you're getting at here.

 In general, people don't run one XMPP server each.

Is your contention that people should run *less* than one XMPP server
each (which I strenuously disagree with), or that they typically run
*more* than one XMPP server each (and that's what the 'resource' part
of a JID is supposed to be for)?

 The odd part seems to be that DNS must be involved.

How is this odd?  DNS is the second-oldest part of the internet.

 You don't need to mangle
 things via DNS in order to allow a higher-level component to interpret
 them and be able to make a mapping between identifiers (however they're
 derived) and local IPv6 addresses.

The key point is that *no other server need be involved*.  I also
prefer to avoid mDNS as much as possible, for reasons of scalability.
And I've presented an existence proof that this can be done.
 --scott

-- 
 ( http://cscott.net/ )
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: A modest proposal.

2008-02-19 Thread Robert McQueen
C. Scott Ananian wrote:
 On Feb 19, 2008 7:57 PM, Robert McQueen [EMAIL PROTECTED] wrote:
 C. Scott Ananian wrote:
 Currently we use the buddy key as this unifying key, but I very much
 like the idea of providing extra information to open up the prospect of
 communicating between schools, and allowing the XOs to exist in the
 global XMPP namespace.
 
 Ok, what extra information are you suggesting?  

The extra information provided by an XMPP identifier such as we've been
discussing, versus just the hash of their buddy key, which in the case
of [EMAIL PROTECTED], gives us a human-readable name, and a DNS
identifier for their school where we might contact for further
communications with that individual.

 I really have no clue
 what your phrase global XMPP namespace is supposed to mean.  Don't
 you mean global DNS namespace, as the bits to the left of the @ sign
 are supposed to be resolvable via DNS, no?  XMPP doesn't have any part
 in that resolution.

The global XMPP namespace is a sloppy term, I apologise, but what I was
alluding to is the ability to present an XMPP identifier to any XMPP
client and unambiguously identify the server it belongs to and where you
might contact to find the corresponding individual. It's a combination
of DNS SRV lookups to find the server, and then speaking to that server
to find the individual.

 Correct, but the problem here is that makes the addressing essentially
 incompatible with re-using the existing (and globally-compatible)
 namespace.
 
 Again, I have no idea what you're getting at here.

Every laptop has an XMPP identifier already. Every school server is an
XMPP server. If we namespace the identifiers and the school servers
appropriately, we don't need to invent any /new/ namespace (or URI)
scheme for the purposes of providing identifiers which can be used to
unambiguously identify XO users. Using XMPP identifiers has benefits in
terms of being far more compatible with the outside world, supporting
unicode naming, having more in common with our existing architecture, as
well as provoding a means to communicate with the individuals rather
than merely finding their IP address.

 In general, people don't run one XMPP server each.
 
 Is your contention that people should run *less* than one XMPP server
 each (which I strenuously disagree with), or that they typically run
 *more* than one XMPP server each (and that's what the 'resource' part
 of a JID is supposed to be for)?

People do run *less* than one XMPP server each, yes. The hostname part
of a normal [EMAIL PROTECTED]/resource JID is resolvable via SRV lookups to
indicate one or a cluster of servers which are responsible for that (and
many other) user's account. The resources vary as multiple clients
belonging to the same user connect. There are variants of the XMPP
protocol which are geared at purely peer to peer communications and rely
on no server, namely link-local XMPP, which we use when the server is
unavailable.

 The odd part seems to be that DNS must be involved.
 
 How is this odd?  DNS is the second-oldest part of the internet.

It's odd because I don't see what benefit is served by extending this
part of the internet into an internal name resolution process which in
our current architecture will take place in precisely one process. For
who's benefit are you trying to emulate DNS by considering a DNS proxy
per laptop?

 You don't need to mangle
 things via DNS in order to allow a higher-level component to interpret
 them and be able to make a mapping between identifiers (however they're
 derived) and local IPv6 addresses.
 
 The key point is that *no other server need be involved*.  I also
 prefer to avoid mDNS as much as possible, for reasons of scalability.

Well, mDNS is something of a red herring in this discussion of naming,
(but work is already under way to replace it for the purposes of mesh
presence propogation, with Polychronous' Cerebro project). By
higher-level component, it could be a piece of code which takes the
identifier, hashes it, and prepends a certain IPv6 network part. And
indeed, no 3rd party server is involved during the Identifier - Address
resolution process, local or remote, DNS or otherwise.

 And I've presented an existence proof that this can be done.
  --scott

Regards,
Rob
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Community/OLPC Server Support Discussion

2008-02-19 Thread ffm
On Feb 19, 2008 8:15 PM, Michael Stone [EMAIL PROTECTED] wrote:

 Friends,

 Chris Ball and I would like to spend a few minutes, perhaps at

  8:20 PM EST, Monday, Feb. 25 in #olpc-meeting on irc.freenode.org


Would it be possible to have the meeting at 3:30 PM EST, Thursday, Feb.
21st?

-FFM
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Community/OLPC Server Support Discussion

2008-02-19 Thread Bryan Berry
Michael,

Sounds like this conference should focus on OLPC - organizational
infrastructure. 

I don't think we in Kathmandu have a burning need to discuss the Xs and
jabber right now. 3 of us in Kathmandu, Dev, Sulochan, and myself are
still in the heavy process of getting to know the XS. In a week or two
we may need to discuss w/ Wad and others the issues we encounter.


cheers

-- 
Bryan W. Berry
Systems Engineer
OLE Nepal, http://www.olenepal.org

On Tue, 2008-02-19 at 21:02 -0500, Michael Stone wrote:
 On Wed, Feb 20, 2008 at 07:30:36AM +0545, Bryan Berry wrote:
  Michael, 
  
  Will this discussion cover the management of OLPC server infrastructure
  like the wiki.laptop.org, dev.laptop.org or the actual School Server
  (XS)?
 
 My purpose in scheduling this discussion is to address the kinds of
 services provided by servers like wiki, dev, and teach. Therefore, I
 have a mild preference for deferring the jabber and xs topics to a
 separate conversation (perhaps occuring immediately after the first?). 
 
 Michael

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Two general thoughts

2008-02-19 Thread Bennett Todd
_Big_ disclaimer: I'm a G1G1 owner and lurker who hasn't contributed
anything yet. Just been lurking and learning. That said, one minor
nit:

2008-02-19T23:45:14 Ricardo Carrano:
 - Suspend and resume should be a user command and much less
 aggressive when it happens automatically.

I'm not positive exactly what you meant by this, but if I've been
understanding what I've been reading, the core devs are hoping to
get very aggressive indeed with suspend and resume, to the point
where the common use pattern of spending lots of time looking at the
screen, reading and thinking, would sit there with the DCON, the
EC, and (if active) the autonomous mesh side of the wireless as
the only things powered on except when you hit a key, when it wakes
up (in a couple hundred ms max), repaints, and goes back to sleep.
The dream being lovely hours and hours and hours of ebook, or web
reading, or anything else but active processing or input.

-Bennett


pgp9WWypQFrGm.pgp
Description: PGP signature
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Two general thoughts

2008-02-19 Thread david

_Big_ disclaimer: I'm a G1G1 owner and lurker who hasn't contributed
anything yet. Just been lurking and learning. That said, one minor
nit:

2008-02-19T23:45:14 Ricardo Carrano:
 - Suspend and resume should be a user command and much less
 aggressive when it happens automatically.

I'm not positive exactly what you meant by this, but if I've been
understanding what I've been reading, the core devs are hoping to
get very aggressive indeed with suspend and resume, to the point
where the common use pattern of spending lots of time looking at the
screen, reading and thinking, would sit there with the DCON, the
EC, and (if active) the autonomous mesh side of the wireless as
the only things powered on except when you hit a key, when it wakes
up (in a couple hundred ms max), repaints, and goes back to sleep.
The dream being lovely hours and hours and hours of ebook, or web
reading, or anything else but active processing or input.

-Bennett

when the resume gets fast enough that the suspend is transparent to the 
user (and the applications the user is running) super agressive suspend 
will be just fine.

for this to work the suspend/resume cycle needs to be speed up by a factor 
of 10 or so, and it needs to wake up for scheduled events so that apps 
polling will keep it alive

the problem is that right now the suspend is not transparent to the user, 
and we keep finding apps that break. and this is not just the presense 
server, but normal client/server apps like mail clients that want to sleep 
for a while between checking for new mail. In addition suspend seems to 
cause the system to loose track of the network it's on, break network 
connections, distract the user by dimming the screen and being slow to 
respond to keystrokes, and otherwise make things difficult for the user.

I am all in favor of the eventual goal, but I really disagree with the 
approach of setting it to sleep as much as possible now while these 
problems are so common. the problems need to be addressed or you will find 
that most people will learn how to do 'touch /etc/ohm/inhibit-suspend' and 
not realize that the problems ever get fixed (I've done it on one of my 
machines, and if I used the other frequently I'd do the same there)

David Lang


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: telepathy - request for guidance

2008-02-19 Thread Mikus Grinbergs
Guillaume Desmottes wrote (regarding my wired connection + proxy):
 Gabble has https-proxy-{server,port} options that could do the job.
 Try to edit server_plugin.py in presence-service source code, look for
 the _get_account_info() method and add these 2 options (with the right
 values) in the returned dict.

Thank you, Guillaume - that has gotten me further.

I haven't looked at the packets flowing on my local LAN, but the 
tail of my telepathy-gabber.log is now:
| ** (telepathy-gabble:2008): DEBUG: do_connect: calling 
lm_connection_open
| Going to connect to proxy 192.168.1.1
| Trying 192.168.1.1 port 8080...
| ** (telepathy-gabble:2008): DEBUG: 
tp_base_connection_change_status: was 429496
| 7295, now 1, for reason 1
| ** (telepathy-gabble:2008): DEBUG: 
tp_base_connection_change_status: emitting s
| tatus-changed to 1, for reason 1
| ** (telepathy-gabble:2008): DEBUG: 
gabble_roster_factory_iface_connecting: addi
| ng callbacks
| ** (telepathy-gabble:2008): DEBUG: 
gabble_muc_factory_iface_connecting: adding
| callbacks
| ** (telepathy-gabble:2008): DEBUG: 
gabble_media_factory_iface_connecting: addin
| g callbacks
| ** (telepathy-gabble:2008): DEBUG: 
gabble_im_factory_iface_connecting: adding c
| allbacks
|
| ** ERROR **: file lm-connection.c: line 364 
(_lm_connection_succeeded): asserti
| on failed: (source != NULL)
| aborting...

That to me implies I am now getting through my proxy.  The last two 
(ERROR) lines occur only when I have specified olpc.collabora.co.uk 
as my jabber server - they don't show in the log when I try a local 
jabber server.


With xochat.org specified as my jabber server, presenceservice.log :
| 1203387352.438895 DEBUG s-p-s.telepathy_plugin: ServerPlugin 
object at 0x826fa
| 7c (telepathy_plugin+TelepathyPlugin at 0x82c9800): Starting up...
| 1203387353.037316 DEBUG s-p-s.telepathy_plugin: ::: IP4 address 
now 192.168.1.6
| 1203387353.077116 DEBUG s-p-s.buddy: Successfully preloaded buddy 
props
| 1203387353.082014 DEBUG s-p-s.telepathy_plugin: ServerPlugin 
object at 0x826fa
| 7c (telepathy_plugin+TelepathyPlugin at 0x82c9800): connecting...
| 1203387353.084915 DEBUG s-p-s.telepathy_plugin: ServerPlugin 
object at 0x826fa
| 7c (telepathy_plugin+TelepathyPlugin at 0x82c9800): Connect() 
succeeded
| 1203387355.014069 DEBUG s-p-s.telepathy_plugin: LinkLocalPlugin 
object at 0x82
| 6f5f4 (telepathy_plugin+TelepathyPlugin at 0x82c9850): connected
| 1203387355.055661 DEBUG s-p-s.buddy: Setting current activity to 
'' (handle 0)


Still have not seen *any* other XOs in my Neighborhood view.

mikus



p.s.  [Other modules besides server_plugin.py have different 
_get_account_info() methods -- I gather despite the common name, 
each method's scope applies only within its containing module.]

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Two general thoughts

2008-02-19 Thread Samuel Klein
Hello Ricardo,

I agree with both of your points.  The best network applications will
work peer to peer, and not depend on (but will be enhanced by) the
presence of servers.  And I would add that where automation is
implemented, it should be clear how to turn (every aspect of) it off.

SJ

2008/2/19 Ricardo Carrano [EMAIL PROTECTED]:
 Hi everyone,

 Here are two thoughts I would like to share.

 A necessary disclaimer: My relation to this project is now more than one
 year long (and took many forms during this period). I am permanently
 impressed by what this group of people managed to do in such a short time.
 So, please, those who put time in reading this, do keep in mind that I am an
 admirer!

 A second disclaimer: These comments are _not_ directly related to the use
 cases we are to build for our test week.

 1 - Automation and user will

 I note a clear bias to the first. Automation is fundamental in many
 instances. You don't want a user to make flow or congestion control during
 transmissions, to cite one example. But we don't need to make every decision
 on behalf of the children, because:
  - The XO is a construcionist educational device.
 - When you automate you sometimes get in the way of the sovereign user will.
 - When you automate you make you system more complex. More complexity means
 errors and problems.
  I believe automation should be applied less eagerly.
 In practice this means:
 - Connectivity method should happen at users choice. If some automation is
 necessary it should be easily overwritten by the user. The user should be
 free to select local mesh 1,2 or 3 (channels 1,6,11), school mode, access
 points, mpps or a  disconnected mode (yes, so we can put the radio subsystem
 to sleep with no worries) in a clear and easy way, through the user
 interface.
  - Presence mechanisms (totally related to the item above) should be
 selected by the user. If he is able to select a site in a browser, he should
 be able to select a jabber server, or to just stay with salut.
 - Suspend and resume should be a user command and much less aggressive when
 it happens automatically.


 2 - Infrastructure and non-infrastructure

 I note a recent bias to the first. Infrastructure may complement XOs
 capabilities, no doubt about it. But we came to a point that an XO relies on
 external components to basic tasks. The problem here is that:
 -  Infrastructure is not always present. Even if there is some
 infrastructure at the school there will probably be none at home.
  -  Infrastructure breaks, wears out and is stolen.
 I believe the XOs must be functional with no infrastructure and augmented
 when there is infrastructure.
 In practice this means:
 - Salut is not less important than gabble
  - MPPs are not less important than School servers
 - Peer to peer applications are not less important then client-server apps

 Note: I chose and instead of vs on purpose, because things are
 complementary, not opposing.
  Hope this is somehow useful. Even if it is totally wrong it may be useful
 to clarify the ideas, I hope.

 Regards,
 Ricardo Carrano


 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: jhbuild failure: evince-olpc -- evince

2008-02-19 Thread Jani Monoses
Anything planned on this?

Marco Pesenti Gritti wrote:
 We need to submit patches upstream at some point after Update.1.
 
 Marco
 
 On Dec 19, 2007 3:44 PM, Reinier Heeres [EMAIL PROTECTED] wrote:
 Jani,

 That would be awesome, and in fact we were hoping that something like
 this was possible. I made only minor adjustments to the latest source.
 The biggest changes are in configure.ac and Makefile.am: there are new
 options --disable-binary and --enable-embed to just build things
 relevant for an embedded version. You can check out the modifications in
 my git repo: http://dev.laptop.org/git?p=users/rwh/evince;a=summary

 Maybe we can discuss this on IRC? I'm rwh there in #olpc and #sugar.

 Cheers,
 Reinier

 Jani Monoses wrote:

 Reinier Heeres wrote:

 Jani,

 Which upstream are you referring to? The newer evince version is already

 I was referring to the GNOME svn upstream, and whether plain evince
 tarballs will be usable for wrapping in sugar if built with certain
 configure options. I'd like to reuse as many of the existing system
 packages for ubuntu debs and I suppose most distros which will include
 sugar would will as little duplication of upstream packages as well.

 Jani

 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel



 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Issues with SD reader on XO

2008-02-19 Thread Denver Gingerich
While testing the performance of the SD interface on the XO, an Eee
PC, and a generic reader (see the results at http://ossguy.com/?p=27),
I found that the XO was significantly slower than the other devices in
almost all tests.  In many cases, it was less than half as fast as the
Eee PC, and in one case the write speed was 350 KiB/s, which is
virtually unusable.

I am wondering if this is a known issue as I haven't seen any mention
of it on the wiki or in Trac.  Is the SD interfacing hardware actually
supposed to run this slowly?

Additionally, I encountered I/O errors similar to those in
http://dev.laptop.org/ticket/6078 when using one of the cards.  This
card worked fine with the generic reader on another laptop.  Any
thoughts on why this might be happening?

On a more physical note, the slot in the XO interferes with the lock
slider on some SD cards.  When a card is inserted, the side of the
slot can catch on the lock slider of the card, moving it from the
unlocked to the locked position during insertion.  It is possible that
the lock slider could be moved to an in-between position during
insertion; I'm not sure if this would have an impact on the I/O
errors.  In any case, it would be a good idea to fix this in future
hardware revisions.

If you think some of these issues would be best logged to Trac, let me
know and I'll do that.

Denver
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel