usage of usb sticks on the laptops

2007-06-28 Thread Tomeu Vizoso
Hi all,

we've recently added support for usb sticks in the datastore and the
journal activity and I'm a bit worried about the kids pulling out the
stick before the data has been fully written into the stick.

Perhaps we'll need to do the same as is done everywhere and notify when
a device that needs to be safely unmounted is mounted, and complain to
the user when the stick is removed unsafely.

But I wanted to ask first to more knowledgeable people if there's any
way to reduce this problem, for example by mounting the sticks with the
mount option 'sync'. Perhaps in some cases (small drives) we can
exchange the perf hit for a bit more of safety.

Thanks,

Tomeu

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


Re: [sugar] TamTam for Trial-2

2007-07-02 Thread Tomeu Vizoso
Hi,

On Mon, 2007-07-02 at 11:10 -0400, Jean Piché wrote:
 The following features will depend on Mesh and Journal stability/ 
 usability over the next few days:
 
   Network synchronisation for TamTamJam (many machines can improvise/ 
 play together on a shared pulse)
   Some Journal functionality to save and load TamTam tunes

Regarding the journal support, if you can write to and read from a file
on the fs (from python), then adding journal support will be trivial.

Thanks,

Tomeu

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


Re: XO offline content management strategy / tools

2007-07-24 Thread Tomeu Vizoso
On Tue, 2007-07-24 at 03:36 -0700, Luke Hutchison wrote:
 PS anyone know why xbook doesn't support djvu-libre, when evince does?
  A lot of public domain scanned books are available in deja vu format.

Evince needs to be compiled with dejavu support. I think it's only that.

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


Re: #2633 NORM Trial-3: TamTam needs R/W access to home directory, not included in Rainbow

2007-08-16 Thread Tomeu Vizoso
On Wed, 2007-08-15 at 20:28 -0400, Owen Williams wrote:
 What's the best way to implement this change and maintain compatibility?
 If SUGAR_ACTIVITY_ROOT exists, use it, but if not, use HOME?

Well, SUGAR_ACTIVITY_ROOT should always exist when your activity is ran
inside Sugar, regardless of rainbow.

If you want to maintain compatibility with older versions of Sugar, I
think you could just make a dir like
~/.sugar/[SUGAR_PROFILE]/[my_activity_service_name] and save your data
in there.

Regards,

Tomeu

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


Re: Power manager specification... (request for comments).

2007-08-17 Thread Tomeu Vizoso
Hi,

On Wed, 2007-08-15 at 16:01 -0400, Jim Gettys wrote:
 When we are suspended, and the battery wakes us up because it is
 low,
 then:
   For now, graceful shutdown after journal has been notified
   May do hibernation if enough flash is available.

I guess what we want here is to notify to each activity that they should
save their state to the datastore. Correct?

How much time do we have until the system really shuts off?

Tomeu

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


Re: external optical drives not showing up in the Journal

2007-10-16 Thread Tomeu Vizoso
Hi Christoph,

On Tue, 2007-10-16 at 14:45 +0200, Christoph Derndorfer wrote:
 Hey everyone,
 
 I was experimenting with an external optical drive connected via USB 
 today and while it I had no trouble accessing it via the shell (well, at 
 least after a friend helped me out) I was a bit surprised that it didn't 
 show up in the Journal. When I connect my USB thumbdrive it shows up all 
 right, I can copy/paste, view its contents, unmount, etc.
 
 Now I was wondering whether there are any plans to also integrate 
 external optical drives like that? I think it might make sense in some 
 situations, especially where contents might already be available in the 
 form of optical media.

It should have worked, but I have only tested with usb sticks, usb
camera and sd cards.

Could you please enter a ticket in trac about this defect and attach the
output of lshal while the optical drive is plugged in?

Thanks a lot!

Tomeu

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


Re: Journal integration doubt

2007-10-21 Thread Tomeu Vizoso
On Sun, 2007-10-21 at 16:40 +0530, Arjun Sarwal wrote:
 I am trying to associate a simple text file with the journal object.
 Within a logging session of Measure activity, many logs are created
 and the file that I am trying to associate with the journal object
 would basically contain the file paths of the logs made in that
 session so that when the session is resumed from the journal those log
 files can be opened and displayed on the oscilloscope like interface.
 
 The seperate log files get created and written properly. However, I am
 facing problems regarding the main file that I try and associate with
 the Journal object. This file does get created but disappears when I
 quit the activity. I have attached relevant code portions below. 
 
 Please point me to some code that might be doing something similar to
 what I am trying to do or let me know where I am going wrong.

I see you case similar to what Record does, here is the code:

http://www.mediamods.com/public-svn/camera-activity/tags/33/

Most python activities just have to implement the read_file and
write_file methods in their Activity subclass. Record is a bit more
complicated, because apart from the session data, it also creates an
object in the journal for every photograph and every recording, so they
can be dragged around or opened with other activities.

In your case, if you don't need to make each individual log accessible
to other activities, you could just write a zip file containing all your
logs in the write_file method. In this case, see this example activity
from Marco:

git-clone http://dev.laptop.org/~marco/edit-activity/

Hope this helps,

Tomeu

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


Re: [sugar] providing files to activities

2007-11-07 Thread Tomeu Vizoso
On Wed, 2007-11-07 at 11:59 -0500, Albert Cahalan wrote:
 I'm hearing that files will be provided to activites as hard links.
 
 This is not good. It prevents atomic update via rename.
 Far better is to provide directories, one per file, so that
 updates can be made atomic. While you can't hard link a directory,
 you can bind mount it. This is essentially the same, with the
 extra benefit of not wearing out nand storage.
 
 The command line version:  mount --bind srcdir dstdir
 
 You can even make the mount read-only, avoiding any need to
 mess with file permissions to block writes.

Just read in http://utcc.utoronto.ca/~cks/space/blog/linux/BindMounts
that this is not possible. Is that guy wrong?

 Handling groups of files together as a single unit also becomes
 possible; it happens that I actually need this. (think OSX forks)

How relate bind-mounts to files with resource forks?

Tomeu

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


Re: [sugar] secure /tmp and /var/tmp

2007-11-08 Thread Tomeu Vizoso
On Thu, 2007-11-08 at 18:11 +0100, Bert Freudenberg wrote:
 On Nov 8, 2007, at 18:09 , Marco Pesenti Gritti wrote:
  Though applications backwards compatibility just doesn't make sense in
  this context. We consciously broke it with the high level design, both
  of the user experience and of the security framework.
 
 That's not the point. The point is how hard we make it for people to  
 port their apps to Sugar. And in my opinion we should not make it  
 unnecessarily hard.

I think that by not reusing names for things that are different and
making ambiguous situations being resolved by explicit actions, is
precisely making easier the porting of apps to Sugar.

Tomeu

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


Re: DBus signature for gtk objects

2007-11-28 Thread Tomeu Vizoso
On Tue, 2007-11-27 at 19:29 -0200, Rafael Barbolo Lopes wrote:
 Is it possible to exchange gtk objects (a gtk.gdk.Pixmap) thought DBus
 tubes?
 If it is, can someone help me to find a way to do this?
 I think it's necessary to create a BusObject, but I can't get it
 working using this quick tutorial: 
 http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#claiming-a-bus-name

You cannot just use a remote object as if it was a gtk.gdk.Pixmap, they
are just two very different pieces of code.

My guess is that for doing this, you would need to get the Pixmap from
the X server to the client side (Pixbuf), serialize it somehow, and pass
it as a dbus.ByteArray or as a path to a temp file in disk (if that's
possible in Rainbow). The other side would need to create a Pixbuf from
it and send it to the server as a Pixmap.

This process is not only convoluted, but will be also quite slow.

Perhaps there is some way in X for two processes to share pixmaps, but I
don't know about that.

Why you want to do that? If you explain it, perhaps we'll be able to
give better advice.

Regards,

Tomeu

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


Re: Active activities as Widgets

2007-11-30 Thread Tomeu Vizoso
On Fri, 2007-11-30 at 06:51 -0800, Gerard J. Cerchio wrote:
 I have been reviewing the code in the chat application and given the 
 abilities of the dbus do not feel that text messages will add all that 
 much complexity to the application. My original query was not as much 
 having a chat window in my activity but more of a Delphi like component 
 that I could drop into the buddy panel weld into my existing tubes and 
 be done with chat.

I think it wouldn't be hard to provide a set of gtk widgets that provide
that functionality so activities can embed.

 I have now become anxious about whether the 19x19 go board is feasible 
 on the OLPC. The game does have 9x9 and 13x13 modes of play. But the Go 
 world considers these less than optimal. There will be quite some time 
 before I get my G1G1's and only have sugar-jhbuild to run on. Is it 
 possible for anyone reading this to download the basic frame and report 
 if the 19x19 grid is usable?  You may find it at 
 https://dev.laptop.org/git?p=projects/PlayGo;a=tree

https://dev.laptop.org/~tomeu/playgo.png

Tomeu

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


Re: olpc-update fails: When I attempt to update to ANY joyride, I get an error that Could not download update contents file from: rsync://updates.laptop.org/build-joyride-1364/contents I don't think t

2007-12-04 Thread Tomeu Vizoso
On Tue, 2007-12-04 at 08:29 -0500, ffm wrote:
  When I attempt to update to ANY joyride, I get an error that
 Could not download update contents file from:
   rsync://updates.laptop.org/build-joyride-1364/contents
 I don't think the requested build number exists. 
 
 updates.laptop.org is not a valid domain
 
 Am I doing somthing wrong here?

I get something different:

-bash-3.2# olpc-update -frvv joyride-1363
Downloading contents of build joyride-1363.
@ERROR: unknown module 'build-joyride-1363': [Errno 28] No space left on
device
rsync error: error starting client-server protocol (code 5) at
main.c(1383) [receiver=2.6.9]

Could not download update contents file from:
  rsync://updates.laptop.org/build-joyride-1363/contents
I don't think the requested build number exists.


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


Re: olpc-update fails: When I attempt to update to ANY joyride, I get an error that Could not download update contents file from: rsync://updates.laptop.org/build-joyride-1364/contents I don't think t

2007-12-04 Thread Tomeu Vizoso
On Tue, 2007-12-04 at 08:43 -0500, ffm wrote:
 
 On 12/4/07, Tomeu Vizoso [EMAIL PROTECTED] wrote:
 -bash-3.2# olpc-update -frvv joyride-1363
 Downloading contents of build joyride-1363.
 @ERROR: unknown module 'build-joyride-1363': [Errno 28] No
 space left on
 device
 rsync error: error starting client-server protocol (code 5)
 at 
 main.c(1383) [receiver=2.6.9]
 
 Could not download update contents file from:
   rsync://updates.laptop.org/build-joyride-1363/contents
 I don't think the requested build number exists.
 
 Yes, that is what I get as well. I just trucnutated part of the above.
 
 However, when you 'ping updates.laptop.org', you get no replies, so
 the adress is not the right one. 

Pinging works for me, could be a problem in your local network.

Try with: 'rsync rsync://updates.laptop.org'. That returns the available
builds?

Tomeu

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


boot failed after updating MP to joyride-357 (activation?)

2007-12-04 Thread Tomeu Vizoso
Hi,

After rebooting, a sad face appeared, 'BOOT FAILED' was written at the
top left and under the laptop icon was a lock.

Booting the alternate image (pressing the 'O' button while powering on)
worked fine.

What did I wrong?

Thanks,

Tomeu

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


Re: New joyride build 1432

2007-12-16 Thread Tomeu Vizoso
On Sun, 2007-12-16 at 15:01 +0100, Pascal Scheffers wrote:
 I get lots of:
 
 modprobe: FATAL Could not load /bib/modules/2.6.22-2007...5831/ 
 modules.dep: No such file or directory
 
 After a forced shutdown, it seems to have caused jffs2 corruption as  
 boot stops at Starting HAL daemon with
 
   JFFS2 notice (1340): wrong data CRC in data node at 0x21353cf9: read  
 0x6e..., calculated 0xcb
 
 It halts for about 5 minutes (while writing this email) and now it  
 continues. I can get to a prompt
 Running depmod doesn't seem to help, so I'm just going to flash a  
 previous version from USB.

Booting with the previous image doesn't work for you?

For that you have to press the circle button while powering on.

Tomeu

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


Re: Update of activities over the web

2007-12-23 Thread Tomeu Vizoso
Updating activities have been just implemented:

http://dev.laptop.org/ticket/4906

Tomeu

On Sat, 2007-12-22 at 18:59 -0800, Gerard J. Cerchio wrote:
 I have noticed that PlayGo is listed as an activity on the Austria 
 download site. I think this great, but I have one problem: Updating the 
 activity.
 
 The browser called open routine that is connected to the open button 
 does not update the activity to the latest version that is downloaded.
 
 In fact, before the the update happens I must remove the activity from 
 the start bar, delete the activity directory and reboot in order to get 
 the new version of the activity to install.
 
 Is the open button going to be more robust?
 
 Should the activity check the git repository for updates and update 
 itself? Is there a library for this?
 
 -Gerard
 
 
 ___
 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: B2s

2008-01-02 Thread Tomeu Vizoso
On Wed, 2008-01-02 at 16:48 -0300, Ricardo Carrano wrote:
 I am trying to put some B2-1s in good use.
 I read that 406.15 is the recommended os version but I can't find it anywhere.
 Any idea of where can I get it?
 Thanks a lot!

In my opinion, the current software should be able to run on the B2-1s
fine after some work. We just haven't had time yet to work seriously
in reducing cpu and mem usage, but I don't see any reason why the latest
features couldn't run on the old version of the xo. So that's another
path you can follow ;)

You can find older releases here:
http://olpc.download.redhat.com/olpc/streams/development/

Tomeu

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


Re: B2s

2008-01-02 Thread Tomeu Vizoso
Yes, what I meant was that if we got, for update.2, sugar's cpu and mem
usage where we want it, perhaps that would be enough to run on b2s.
Volunteers could then do images combining a base system from 406 and the
latest sugar components.

I don't see how the sugar team could divert efforts into supporting b2
machines, but certainly we have some goals in common.

Tomeu

On Wed, 2008-01-02 at 15:01 -0500, Walter Bender wrote:
 The problems go a bit beyond cpu and memory usage: some drivers have
 changed: the camera for one. Maybe after Update.1 is out the door...
 
 -walter
 
 On Jan 2, 2008 2:58 PM, Tomeu Vizoso [EMAIL PROTECTED] wrote:
  On Wed, 2008-01-02 at 16:48 -0300, Ricardo Carrano wrote:
   I am trying to put some B2-1s in good use.
   I read that 406.15 is the recommended os version but I can't find it 
   anywhere.
   Any idea of where can I get it?
   Thanks a lot!
 
  In my opinion, the current software should be able to run on the B2-1s
  fine after some work. We just haven't had time yet to work seriously
  in reducing cpu and mem usage, but I don't see any reason why the latest
  features couldn't run on the old version of the xo. So that's another
  path you can follow ;)
 
  You can find older releases here:
  http://olpc.download.redhat.com/olpc/streams/development/
 
  Tomeu
 
 
  ___
  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: Can't run applications on Sugar

2008-01-04 Thread Tomeu Vizoso
Hi,

could you please reply with the file
in /home/olpc/.sugar/default/datastore/store/index/config attached?

Could be also helpful if you attached the sugar debugging logs by
following the instructions in
http://wiki.laptop.org/go/Attaching_Sugar_Logs_to_Tickets .

Thanks,

Tomeu

On Fri, 2008-01-04 at 14:01 -0500, [EMAIL PROTECTED] wrote:
 Dear all,
 
 I typed killall -9 python on Terminal and after rebooting XO,  
 couldn't see Journal bundles on Sugar home. Also, I couldn't run other  
 applications there.
 
 Is there anyone who kindly let me know how to deal with this problem?
 
 Thanks a lot in advance,
 
 Sung-Hyuck
 
 ___
 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: New joyride build 1509

2008-01-05 Thread Tomeu Vizoso
Hi,

perhaps updates.l.o is without disk space again?

-bash-3.2# olpc-update -rfvv joyride-1509
Downloading contents of build joyride-1509.
@ERROR: unknown module 'build-joyride-1509': Command
'['/usr/bin/fakeroot', '-i',
'/home/upserv/builds/[EMAIL PROTECTED]/fakeroot.state', '-s',
'/home/upserv/builds/[EMAIL PROTECTED]/fakeroot.state', '--',
'/home/upserv/upgrade-server/extract-build.sh',
'/home/upserv/builds/[EMAIL PROTECTED]/tmp',
'/home/upserv/builds/[EMAIL PROTECTED]/root',
'/home/upserv/builds/[EMAIL PROTECTED]/build.tar.bz2',
'/home/upserv/builds/[EMAIL PROTECTED]/contents']' returned
non-zero exit status 2
rsync error: error starting client-server protocol (code 5) at
main.c(1383) [receiver=2.6.9]

Could not download update contents file from:
  rsync://updates.laptop.org/build-joyride-1509/contents
I don't think the requested build number exists.


Tomeu

On Sat, 2008-01-05 at 04:00 -0500, Build Announcer Script wrote:
 http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/build1509/
 
 -rainbow.noarch 0:0.7.5.11.20080104git6c25f7-1.olpc2
 +rainbow.noarch 0:0.7.6-1.olpc2
 -sugar-presence-service.noarch 0:0.65-0.30.20071127git5650e153bd
 +sugar-presence-service.noarch 0:0.65-0.31.20080103git76984f3f28
 
 --
  This email was automatically generated
  Aggregated logs at http://dev.laptop.org/~bert/joyride-pkgs.html
 ___
 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: [sugar] Does anyone know Game Baker?

2008-01-07 Thread Tomeu Vizoso
On Mon, 2008-01-07 at 00:05 +0100, Christoph Derndorfer wrote:
 Hello all,
 
 I recently stumbled across the Game Baker project 
 (http://code.google.com/p/game-baker/) and apparently this is a visual 
 game editor for children, and it's written in Python...
 
 Does anyone here happen to have any experience with it?
 
 I was thinking that this might come in handy either directly on the XO 
 (of course it would need to be sugarized first) or at least as a tool 
 for XO-centric game development.

Seems like the authors are already thinking about this:

http://code.google.com/p/game-baker/issues/detail?id=8

Certainly seems like an awesome activity to have in the machines.

Regards,

Tomeu

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


Re: Update.1 680 does not work for me

2008-01-10 Thread Tomeu Vizoso
Hi,

known issue, hope next build will be sane:

http://dev.laptop.org/ticket/5949

Thanks,

Tomeu

On Thu, 2008-01-10 at 14:35 -0500, Mikus Grinbergs wrote:
 Downloaded build 680 two hours ago.  Installed it (together with ROM 
 Q2D08) on my G1G1, going by the directions on the wiki 
 Autoreinstallation page.  On boot, the Home screen comes up 
 __without__ the Journal.  None of the Activities will start 
 (presumably because they need the Journal).  [Don't have wireless, 
 but this OLPC system *does* show up on my house ethernet - so 
 Networking at least has started.]
 
 mikus
 
 ___
 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: Update to Terminal Activity

2008-01-12 Thread Tomeu Vizoso
Have you talked with Eben about it?

When I'm not completely sure about how to add a new feature to the UI, I
use to explain him the problem. He uses to come up with solutions that
surprise me. And this in most of one occasion has saved me having to
reimplement the feature later. ;)

Tomeu

On Sat, 2008-01-12 at 01:27 -0600, Phil Bordelon wrote:
 Michael Stone and I added a 'become root' button to the Terminal
 tonight.  It is now part of Terminal-8.xo.
 
 This consists of two parts:
 
 * a new minimalist script, 'become_root', as part of olpc-utils;
 * the button in Terminal.
 
 The button is on the primary toolbar, with a new SVG created by
 Michael and tweaked a bit by me.  All it does is paste
 'become_root\n' at the terminal; the become_root script then
 runs 'su -' or 'sudo' as appropriate.
 
 This is meant to help mitigate a major upcoming support issue:
 that of the flag-day switch between 'su -' and 'sudo' as the
 primary method of running privileged commands.
 
 We, of course, welcome any feedback on this additional feature.
 
 Phil B.
 ___
 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: New update.1 build 681

2008-01-13 Thread Tomeu Vizoso
Hi,

we have been using 1.0.2 since a long time. Your patch was developed and
tested with that version so there's not problem.

What happened here is that by some mistake the 1.0.4 got into the
update.1 branch and, when we tried to roll it back, the bindings stayed.
This caused the link error mentioned in the ticket below:

http://dev.laptop.org/ticket/5949

Tomeu

On Sun, 2008-01-13 at 03:31 -0500, Ivan Krstić wrote:
 On Jan 12, 2008, at 1:45 PM, Build Announcer Script wrote:
  +xapian-bindings-python.i386 0:1.0.2-1
  -xapian-bindings-python.i386 0:1.0.4-2.fc7
 
 Someone needs to make sure my patch for #5494 is not affected by this,  
 since I haven't investigated how the bindings are packaged. Tomeu?
 
 --
 Ivan Krstić [EMAIL PROTECTED] | http://radian.org
 
 

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


Re: New update.1 build 682

2008-01-15 Thread Tomeu Vizoso
Hi,

On Tue, 2008-01-15 at 16:05 -0600, Dennis Gilmore wrote:
  -Journal-82.xo
  +Journal-83.xo

Please see http://dev.laptop.org/ticket/5984 .

Thanks,

Tomeu

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


Re: New update.1 build 682

2008-01-16 Thread Tomeu Vizoso
Can you give some more details?

Particularly, see
http://wiki.laptop.org/go/Attaching_Sugar_Logs_to_Tickets and
also /var/log/messages would be of interest.

Thanks,

Tomeu

On Wed, 2008-01-16 at 07:18 -0800, [EMAIL PROTECTED] wrote:
 I can't get the journal to see the SD card with this build.
 I can see it from the command line just fine.
 
 David Lang
 
 On Tue, 15 Jan 2008, Build Announcer Script wrote:
 
  Date: Tue, 15 Jan 2008 15:00:03 -0500 (EST)
  From: Build Announcer Script [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: New update.1 build 682
  
  http://pilgrim.laptop.org/~pilgrim/olpc/streams/update.1/build682/
 
  -Paint-15.xo
  +Paint-17.xo
  -Read-38.xo
  +Read-40.xo
  -Record-49.xo
  +Record-50.xo
  -Terminal-5.xo
  +Terminal-8.xo
  -Web-83.xo
  +Web-84.xo
  +bash.i386 0:3.2-19.fc7
  -bash.i386 0:3.2-9.fc7
  -gnash.i386 0:0.8.1-1.olpc2
  +gnash.i386 0:0.8.1-2.olpc2.20071226cvs
  -gnash-plugin.i386 0:0.8.1-1.olpc2
  +gnash-plugin.i386 0:0.8.1-2.olpc2.20071226cvs
  -hulahop.i386 0:0.4.0-1.olpc2
  +hulahop.i386 0:0.4.0-2.olpc2
  -initscripts.i386 0:8.54.1-15.olpc2
  +initscripts.i386 0:8.54.1-17.olpc2
  -libabiword.i386 0:2.6.0.svn20071106-1
  +libabiword.i386 0:2.6.0.svn20071127-1
  -libabiword-plugins.i386 0:2.6.0.svn20071106-1
  +libabiword-plugins.i386 0:2.6.0.svn20071127-2
  -libxml2.i386 0:2.6.29-1.fc7
  +libxml2.i386 0:2.6.31-1.fc7
  -libxml2-python.i386 0:2.6.29-1.fc7
  +libxml2-python.i386 0:2.6.31-1.fc7
  -mingetty.i386 0:1.07-5.2.2
  +mingetty.i386 0:1.07-9.olpc2
  -ohm.i386 0:0.1.1-6.1.20080102git.fc7
  +ohm.i386 0:0.1.1-6.3.20080102git.fc7
  -olpc-utils.i386 0:0.63-1.olpc2
  +olpc-utils.i386 0:0.63-2.olpc2
  -pyabiword.i386 0:0.6.0.svn20071106-1
  +pyabiword.i386 0:0.6.0.svn20071127-1
  -rainbow.noarch 0:0.7.6-1.olpc2
  +rainbow.noarch 0:0.7.8-1.olpc2
  -sugar-evince.i386 0:2.20.0-4.olpc2
  +sugar-evince.i386 0:2.20.1.1-1.olpc2
  -sugar-evince-python.i386 0:2.20.0-4.olpc2
  +sugar-evince-python.i386 0:2.20.1.1-1.olpc2
  -sugar.i386 0:0.75.7-1
  +sugar.i386 0:0.75.8-1
  -totem.i386 0:2.18.2-11
  +totem.i386 0:2.18.2-12
  -totem-mozplugin.i386 0:2.18.2-11
  +totem-mozplugin.i386 0:2.18.2-12
  -totem-plparser.i386 0:2.18.2-11
  +totem-plparser.i386 0:2.18.2-12
  -xkeyboard-config.noarch 0:1.1-7.20071130cvs.olpc2
  +xkeyboard-config.noarch 0:1.1-8.20071130cvs.olpc2
  -xulrunner.i386 0:1.9-0.beta1.9.olpc2
  +xulrunner.i386 0:1.9-0.beta2.1.olpc2
 
  --- Paint-17 ---
 * Make the fix for #5586 work with security. (tomeu)
 
  --- Read-40 ---
 * Fix zoom-to-width (tomeu), #5866
 
  --- Record-50 ---
* #4525 updates
* #5899 workaround
* #5830 fix
 
  --- Web-84 ---
  * Use ellipsis, #5765 (rwh)
  * Implement can_close(), #5493 (rwh)
 
  --
  This email was automatically generated
  Aggregated logs at http://dev.laptop.org/~bert/update.1-pkgs.html
  ___
  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


Re: New update.1 build 682

2008-01-19 Thread Tomeu Vizoso
Hi,

looks like you have found http://dev.laptop.org/ticket/4013 .

Could you check, please?

Should work in latest joyride builds.

Thanks,

Tomeu

On Sat, 2008-01-19 at 18:00 -0800, [EMAIL PROTECTED] wrote:
 sorry for the delay in responding (I've been traveling for the last week)
 
 attached is the messages file, it looks like the system is trying to 
 unmount the SD card immediatly after boot (2 seconds)
 
 I'll enable the sugar debugging and go into the journal immediatly after 
 boot and then see if there is anything interesting there.
 
 I'll be upgrading to a new build as soon as the RC is released.
 
 David Lang
 
 On Wed, 16 Jan 2008, Tomeu Vizoso wrote:
 
  Date: Wed, 16 Jan 2008 10:29:25 -0500
  From: Tomeu Vizoso [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Cc: [EMAIL PROTECTED]
  Subject: Re: New update.1 build 682
  
  Can you give some more details?
 
  Particularly, see
  http://wiki.laptop.org/go/Attaching_Sugar_Logs_to_Tickets and
  also /var/log/messages would be of interest.
 
  Thanks,
 
  Tomeu
 
  On Wed, 2008-01-16 at 07:18 -0800, [EMAIL PROTECTED] wrote:
  I can't get the journal to see the SD card with this build.
  I can see it from the command line just fine.
 
  David Lang
 
  On Tue, 15 Jan 2008, Build Announcer Script wrote:
 
  Date: Tue, 15 Jan 2008 15:00:03 -0500 (EST)
  From: Build Announcer Script [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: New update.1 build 682
 
  http://pilgrim.laptop.org/~pilgrim/olpc/streams/update.1/build682/
 
  -Paint-15.xo
  +Paint-17.xo
  -Read-38.xo
  +Read-40.xo
  -Record-49.xo
  +Record-50.xo
  -Terminal-5.xo
  +Terminal-8.xo
  -Web-83.xo
  +Web-84.xo
  +bash.i386 0:3.2-19.fc7
  -bash.i386 0:3.2-9.fc7
  -gnash.i386 0:0.8.1-1.olpc2
  +gnash.i386 0:0.8.1-2.olpc2.20071226cvs
  -gnash-plugin.i386 0:0.8.1-1.olpc2
  +gnash-plugin.i386 0:0.8.1-2.olpc2.20071226cvs
  -hulahop.i386 0:0.4.0-1.olpc2
  +hulahop.i386 0:0.4.0-2.olpc2
  -initscripts.i386 0:8.54.1-15.olpc2
  +initscripts.i386 0:8.54.1-17.olpc2
  -libabiword.i386 0:2.6.0.svn20071106-1
  +libabiword.i386 0:2.6.0.svn20071127-1
  -libabiword-plugins.i386 0:2.6.0.svn20071106-1
  +libabiword-plugins.i386 0:2.6.0.svn20071127-2
  -libxml2.i386 0:2.6.29-1.fc7
  +libxml2.i386 0:2.6.31-1.fc7
  -libxml2-python.i386 0:2.6.29-1.fc7
  +libxml2-python.i386 0:2.6.31-1.fc7
  -mingetty.i386 0:1.07-5.2.2
  +mingetty.i386 0:1.07-9.olpc2
  -ohm.i386 0:0.1.1-6.1.20080102git.fc7
  +ohm.i386 0:0.1.1-6.3.20080102git.fc7
  -olpc-utils.i386 0:0.63-1.olpc2
  +olpc-utils.i386 0:0.63-2.olpc2
  -pyabiword.i386 0:0.6.0.svn20071106-1
  +pyabiword.i386 0:0.6.0.svn20071127-1
  -rainbow.noarch 0:0.7.6-1.olpc2
  +rainbow.noarch 0:0.7.8-1.olpc2
  -sugar-evince.i386 0:2.20.0-4.olpc2
  +sugar-evince.i386 0:2.20.1.1-1.olpc2
  -sugar-evince-python.i386 0:2.20.0-4.olpc2
  +sugar-evince-python.i386 0:2.20.1.1-1.olpc2
  -sugar.i386 0:0.75.7-1
  +sugar.i386 0:0.75.8-1
  -totem.i386 0:2.18.2-11
  +totem.i386 0:2.18.2-12
  -totem-mozplugin.i386 0:2.18.2-11
  +totem-mozplugin.i386 0:2.18.2-12
  -totem-plparser.i386 0:2.18.2-11
  +totem-plparser.i386 0:2.18.2-12
  -xkeyboard-config.noarch 0:1.1-7.20071130cvs.olpc2
  +xkeyboard-config.noarch 0:1.1-8.20071130cvs.olpc2
  -xulrunner.i386 0:1.9-0.beta1.9.olpc2
  +xulrunner.i386 0:1.9-0.beta2.1.olpc2
 
  --- Paint-17 ---
 * Make the fix for #5586 work with security. (tomeu)
 
  --- Read-40 ---
 * Fix zoom-to-width (tomeu), #5866
 
  --- Record-50 ---
* #4525 updates
* #5899 workaround
* #5830 fix
 
  --- Web-84 ---
  * Use ellipsis, #5765 (rwh)
  * Implement can_close(), #5493 (rwh)
 
  --
  This email was automatically generated
  Aggregated logs at http://dev.laptop.org/~bert/update.1-pkgs.html
  ___
  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


Re: New update.1 build 682

2008-01-20 Thread Tomeu Vizoso
Ok, the problem is that by mistake some unstable builds had a too new
version of xapian. We reverted to the known-good older version but it
cannot read the indexes created or modified by the later version.

Just do this in the terminal with the SD card mounted:

mv /media/2FD2-5097/.olpc.store /media/2FD2-5097/.olpc.store.bk

After rebooting, the SD card should be correctly recognized by the
Journal.

Tomeu

On Sat, 2008-01-19 at 18:24 -0800, [EMAIL PROTECTED] wrote:
 similar effects, but what I'm seeing is after a full power cycle. I'm not 
 doing a suspend
 
 attached is the sugar logfile
 
 David Lang
 
 On Sat, 19 Jan 2008, Tomeu Vizoso wrote:
 
  Date: Sat, 19 Jan 2008 20:02:02 -0500
  From: Tomeu Vizoso [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Cc: [EMAIL PROTECTED]
  Subject: Re: New update.1 build 682
  
  Hi,
 
  looks like you have found http://dev.laptop.org/ticket/4013 .
 
  Could you check, please?
 
  Should work in latest joyride builds.
 
  Thanks,
 
  Tomeu
 
  On Sat, 2008-01-19 at 18:00 -0800, [EMAIL PROTECTED] wrote:
  sorry for the delay in responding (I've been traveling for the last week)
 
  attached is the messages file, it looks like the system is trying to
  unmount the SD card immediatly after boot (2 seconds)
 
  I'll enable the sugar debugging and go into the journal immediatly after
  boot and then see if there is anything interesting there.
 
  I'll be upgrading to a new build as soon as the RC is released.
 
  David Lang
 
  On Wed, 16 Jan 2008, Tomeu Vizoso wrote:
 
  Date: Wed, 16 Jan 2008 10:29:25 -0500
  From: Tomeu Vizoso [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Cc: [EMAIL PROTECTED]
  Subject: Re: New update.1 build 682
 
  Can you give some more details?
 
  Particularly, see
  http://wiki.laptop.org/go/Attaching_Sugar_Logs_to_Tickets and
  also /var/log/messages would be of interest.
 
  Thanks,
 
  Tomeu
 
  On Wed, 2008-01-16 at 07:18 -0800, [EMAIL PROTECTED] wrote:
  I can't get the journal to see the SD card with this build.
  I can see it from the command line just fine.
 
  David Lang
 
  On Tue, 15 Jan 2008, Build Announcer Script wrote:
 
  Date: Tue, 15 Jan 2008 15:00:03 -0500 (EST)
  From: Build Announcer Script [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: New update.1 build 682
 
  http://pilgrim.laptop.org/~pilgrim/olpc/streams/update.1/build682/
 
  -Paint-15.xo
  +Paint-17.xo
  -Read-38.xo
  +Read-40.xo
  -Record-49.xo
  +Record-50.xo
  -Terminal-5.xo
  +Terminal-8.xo
  -Web-83.xo
  +Web-84.xo
  +bash.i386 0:3.2-19.fc7
  -bash.i386 0:3.2-9.fc7
  -gnash.i386 0:0.8.1-1.olpc2
  +gnash.i386 0:0.8.1-2.olpc2.20071226cvs
  -gnash-plugin.i386 0:0.8.1-1.olpc2
  +gnash-plugin.i386 0:0.8.1-2.olpc2.20071226cvs
  -hulahop.i386 0:0.4.0-1.olpc2
  +hulahop.i386 0:0.4.0-2.olpc2
  -initscripts.i386 0:8.54.1-15.olpc2
  +initscripts.i386 0:8.54.1-17.olpc2
  -libabiword.i386 0:2.6.0.svn20071106-1
  +libabiword.i386 0:2.6.0.svn20071127-1
  -libabiword-plugins.i386 0:2.6.0.svn20071106-1
  +libabiword-plugins.i386 0:2.6.0.svn20071127-2
  -libxml2.i386 0:2.6.29-1.fc7
  +libxml2.i386 0:2.6.31-1.fc7
  -libxml2-python.i386 0:2.6.29-1.fc7
  +libxml2-python.i386 0:2.6.31-1.fc7
  -mingetty.i386 0:1.07-5.2.2
  +mingetty.i386 0:1.07-9.olpc2
  -ohm.i386 0:0.1.1-6.1.20080102git.fc7
  +ohm.i386 0:0.1.1-6.3.20080102git.fc7
  -olpc-utils.i386 0:0.63-1.olpc2
  +olpc-utils.i386 0:0.63-2.olpc2
  -pyabiword.i386 0:0.6.0.svn20071106-1
  +pyabiword.i386 0:0.6.0.svn20071127-1
  -rainbow.noarch 0:0.7.6-1.olpc2
  +rainbow.noarch 0:0.7.8-1.olpc2
  -sugar-evince.i386 0:2.20.0-4.olpc2
  +sugar-evince.i386 0:2.20.1.1-1.olpc2
  -sugar-evince-python.i386 0:2.20.0-4.olpc2
  +sugar-evince-python.i386 0:2.20.1.1-1.olpc2
  -sugar.i386 0:0.75.7-1
  +sugar.i386 0:0.75.8-1
  -totem.i386 0:2.18.2-11
  +totem.i386 0:2.18.2-12
  -totem-mozplugin.i386 0:2.18.2-11
  +totem-mozplugin.i386 0:2.18.2-12
  -totem-plparser.i386 0:2.18.2-11
  +totem-plparser.i386 0:2.18.2-12
  -xkeyboard-config.noarch 0:1.1-7.20071130cvs.olpc2
  +xkeyboard-config.noarch 0:1.1-8.20071130cvs.olpc2
  -xulrunner.i386 0:1.9-0.beta1.9.olpc2
  +xulrunner.i386 0:1.9-0.beta2.1.olpc2
 
  --- Paint-17 ---
 * Make the fix for #5586 work with security. (tomeu)
 
  --- Read-40 ---
 * Fix zoom-to-width (tomeu), #5866
 
  --- Record-50 ---
* #4525 updates
* #5899 workaround
* #5830 fix
 
  --- Web-84 ---
  * Use ellipsis, #5765 (rwh)
  * Implement can_close(), #5493 (rwh)
 
  --
  This email was automatically generated
  Aggregated logs at http://dev.laptop.org/~bert/update.1-pkgs.html
  ___
  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

Re: [PATCH] RFC: ReadActivity fullscreen, paging changes

2008-01-28 Thread Tomeu Vizoso
Hi,

On Sun, 2008-01-27 at 17:42 -0600, Klaus Weidner wrote:
 On Sun, Jan 27, 2008 at 02:17:04PM -0500, Michael Stone wrote:
  While I can't say how your efforts will wind up being used, I very much
  want to thank you for stepping up to work on these issues and for
  submitting such clear patches.
 
 You're welcome, I'm happy if I can contribute something to such a cool
 project :-)
 
  Keep up the hard work, and let everyone know if you'd like help
  packaging your changes (to ease testing) or in working with the upstream
  maintainers of Read and Evince.
 
 I've bundled up the activity and library and put them on my web server, in
 case anyone wants to test them:
 
   http://www.pocketworkstation.org/xo/
 
 The activity is a normal .xo bundle. For the shared library, extract it
 from the '/' directory:
 
   tar xvzf libevince-*.tar.gz
 
 Yes, I'd like help who to contact and how best to submit changes for the
 upstream code. 

In general, having the proposed patches attached to an existing ticket
in trac is the best way. This puts the patches in context, help with
tracking and will probably reach the maintainer faster.

See http://wiki.laptop.org/go/Sugar_Patches .

That said, I think it makes sense to post the patches to the mailing
list if some discussion needs to happen.

In this concrete case, we still miss a decision about how we want to
express this new functionality in the UI. We have had already some
discussion in this list about the different approaches we can take, but
before we can accept an implementation, Eben should specify clearly how
he thinks it should be implemented.

 If I understand it right, the evince library currently used is
 temporarily forked, and I'm not sure which parts of it are ready to be
 upstreamed. I can separate out the scrolling-backwards-in-noncontinuous-mode
 fix which I've reproduced in the desktop evince, so that could be submitted
 separately to the original evince project. 

Yes, I haven't looked in detail at your patches, but if it was possible
to add this feature to Read without modifying evince, it would be much
better. We don't want to maintain this fork of evince forever, so we try
to maintain the differences to a minimum because at some point we'll
need to merge with upstream.

Have you already considered handling the key binding in
ReadActivity._key_press_event_cb() instead?

Thanks,

Tomeu

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


Re: Python Development

2008-01-28 Thread Tomeu Vizoso
Hi,

On Mon, 2008-01-28 at 16:25 -0500, 7150 wrote:
 I am sorry to bother you on this list, but answers seem not to becoming 
 from elsewhere.

You are welcome, questions like this are more than appropriate, but is
better to have them in the sugar mailing list:

http://lists.laptop.org/listinfo/sugar

Also, feel free to drop by #sugar if you want more direct contact:

http://wiki.laptop.org/go/IRC#irc.freenode.net_channels

 1. I built  a Fedora 7 Python development machine. Sugar-jhbuild runs 
 just fine on it. I started the tutorial at:
 
 http://www.ibm.com/developerworks/edu/l-dw-linux-xo-python-i.html
 
 The process works fine until I try to create a package and the system 
 cannot find sugar.activity. I cannot find it with find.

What do you mean by create a package? Can you paste the exact commands?

 Sugar-jhbuild is located in a subdirectory of /home/olpc/.
 
 I am running as the olpc user.

Jhbuild can be hard to set up by the first time, but once it works uses
to last for at least one release ;) Being in F7 you should not have many
problems.

Good luck,

Tomeu

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


Re: New joyride build 1591

2008-01-29 Thread Tomeu Vizoso
On Tue, 2008-01-29 at 09:15 +0100, Reinier Heeres wrote:
  -sugar-evince-python 2.20.1.1-1.olpc2
  +sugar-evince-python 2.20.1.1-2.olpc2
  -bootfw q2d09-3.olpc2.unsigned
  +bootfw q2d10-1.olpc2.unsigned
  +desktop-file-utils 0.12-4.fc7
  +djvulibre 3.5.18-2.olpc2
  -sugar-evince 2.20.1.1-1.olpc2
  +sugar-evince 2.20.1.1-2.olpc2
  +xdg-utils 1.0.2-3.fc7
 
  What's dragging in djvulibre, desktop-file-utils and
  xdg-utils?
 djvulibre is dragged in by Read, which in the current joyride also 
 supports reading djvu files. Don't know about the other two...

xdg-utils is dragged in by djvulibre, I think.

Tomeu

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


Re: flash usb drives not on journal

2008-01-30 Thread Tomeu Vizoso
On Tue, 2008-01-29 at 22:50 -0200, Ricardo Carrano wrote:
 I apologize if this is intended and I missed  the news, but usb
 sticks are not displaying in the journal anymore (joyride 1608).

In order for usb sticks to appear in the journal, several components
need to cooperate: at least the kernel, HAL, datastore and journal.
Also, failure can happen due to many environment variables.

Thus, without logs for each of these components the developers can't do
much. Please attach /var/log/messages, the output of lshal -l, and sugar
debugging logs as explained in
http://wiki.laptop.org/go/Attaching_Sugar_Logs_to_Tickets .

But, if your problem looks similar to the one described in the links
below, then just do as Jani said and delete the .olpc.store dir in the
usb stick:

http://lists.laptop.org/pipermail/devel/2008-January/009800.html
http://dev.laptop.org/ticket/6269

I'm sorry for the confusion that this has caused, hopefully people will
stop using the offending builds and we won't see this again. In the
future I'll be watching more closely the xapian releases we put in the
builds.

Thanks,

Tomeu

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


Re: New joyride build 1614

2008-01-30 Thread Tomeu Vizoso
On Wed, 2008-01-30 at 23:22 +0200, Jani Monoses wrote:
  -sugar-presence-service 0.65-0.31.20080103git76984f3f28
  +sugar-presence-service 0.75.0-1
 
 The version number does not seem to have been bumped to 0.75.0 in git 
 master. Where does it come from? I noticed the same with journal and 
 web-activity a few weeks ago, the versions in configure.ac lag behind
 what the joyride logs show.

Not sure about s-p-s, but the journal and most of sugar packages are
being released from the update.1 branch.

The idea is that we are not releasing anything from master until
update.1 is released. I think/hope all this will change after update.1,
when we review our processes.

Tomeu

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


prevent data loss in running activities

2008-02-02 Thread Tomeu Vizoso
Hi,

as tracked in tickets #4088 and #6014, there are two situations where
the user can loose data inadvertently:

- user shutdowns from the system menu,

- laptop shutdowns unexpectedly because the laptop runs out of power or
the user pressed the power button.

Most activities are saving their state in the background when the user
switches to another activity, so in most cases the data loss will be
limited to the current active activity, since the last explicit or
implicit save. But this is probably not enough, as exposed by the
reporter of #6014.

In order for activities to save their state before the system cleanly
shuts down, we could use XSMP. We really don't need all that is in that
spec, specially the stuff about local and global state (our state is
always global).

http://www.xfree86.org/current/xsmp.pdf

We would need a session manager that synchronizes how clients save their
state and exit cleanly before the shutdown happen. That session manager,
be in its own process, matchbox (if there is already one in there) or
the sugar shell.

We could use an existing implementation of XSMP like gnome-session, but
people seem to agree in that its code is horrible and a complete
replacement is needed.

http://svn.gnome.org/viewvc/gnome-session

Follow two tentatives at rewriting gnome-session:

http://svn.gnome.org/viewvc/gnome-session-manager
http://svn.gnome.org/viewvc/msm

Also, there has been some discussion in freedekstop lists about ditching
XSMP and establishing a new standard based on D-Bus.

Has been suggested at some point that activities save before suspend. Is
this really needed? Do we want to make longer the time we need for
suspending? If OHM would wake up when the battery reaches a critical
level in order to initiate a clean shutdown, then we wouldn't need to
consider this as an special case.

Summarizing, I see three possibilities:

- Adopt a full-fledged implementation of XSMP and ask activities to
support just the save-on-shutdown part of it. (Giving a nice wrapper at
least for python activities).

- Implement a subset of XSMP in a new session manager implementation.

- Add a couple of D-Bus methods and signals to OHM/HAL, the sugar shell
and the activity service enough to support what we need.

Note that I'm talking about the short term here. What we should aim for
given the scarce resources we have, not what we ideally would do.

Comments?

Thanks,

Tomeu

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


Re: prevent data loss in running activities

2008-02-04 Thread Tomeu Vizoso
On Fri, 2008-02-01 at 13:41 +0100, Tomeu Vizoso wrote:
 Summarizing, I see three possibilities:
 
 - Adopt a full-fledged implementation of XSMP and ask activities to
 support just the save-on-shutdown part of it. (Giving a nice wrapper at
 least for python activities).
 
 - Implement a subset of XSMP in a new session manager implementation.
 
 - Add a couple of D-Bus methods and signals to OHM/HAL, the sugar shell
 and the activity service enough to support what we need.

One more possibility would be to autosave every X minutes. For
activities using the high level API, we would also need a mechanism for
these to tell the framework if they are dirty.

In this way we minimize further the risk and seriousness of data loss.
Perhaps this would be enough for Update.2?

I understand this is something we want anyway. Eben, am I right?

Tomeu

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


Re: SD card errors on resume after suspend, joyride 1634 firmware q2d12

2008-02-04 Thread Tomeu Vizoso
Hi,

I think you have found http://dev.laptop.org/ticket/4013 .

Thanks,

Tomeu

On Mon, 2008-02-04 at 17:16 -0600, Mark Bauer wrote:
 This happens maybe not every time, but at least 50% of the time,   
 when I wake from suspend (or sleep),
 the SD card returns an error
 
 df: '/media/SD1': Input/output error
 
 Then it mounts in on /media/SD1_1
 
 Any ideas
 
 It is a 2 GB sandisk.
 
 Thanks
 
 
 Mark
 
 
 ___
 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: Help for kick off!

2008-02-05 Thread Tomeu Vizoso
On Tue, 2008-02-05 at 10:48 +0530, ASWATHY PRASAD wrote:
  
 Hi,
  
  How to get started with OLPC for developing a software? Is there any
 area which we require to know about in particular? 
  
  How can we get to know more about the architecture of the OLPC? Also
 the OS of OLPC and the registers it use for various purposes. 

wiki.laptop.org is where all public information lives. If you cannot
find something there that is important for your efforts, ask in IRC and
please add it to the wiki.

http://wiki.laptop.org/go/Communication_channels#IRC

  Is that all the activities developed in OLPC is in Python? Can't we
 go for any other language? Can't we use C for it? 

Activities can be developed in any language, but until this point we
have focused in making life easier for python developers, as is the
language that we expect to be more used by users.
 
  How do we get started with the kernel level programming in OLPC? Is
 it exactly the same way as in Fedora?

Think so, there's some info in the wiki.

I would recommend you and in general to all people looking for something
to do, to send an email to this list presenting yourself, your current
skills and the areas you have more interest. I'm sure the developers
will try to find something fun and interesting for you to work on.

Good luck,

Tomeu

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


Re: How to create a new MIME type for a Sugar activity?

2008-02-06 Thread Tomeu Vizoso
On Mon, 2008-02-04 at 11:21 -0600, James Simmons wrote:
 I am writing a Sugar activity in Python.  This activity will enable the 
 user to navigate through a list of image files stored in a Zip file by 
 using the arrow keys, and might support a slideshow feature too.  There 
 might be a hundred image files stored in the Zip file.  Grouping the 
 images in one file makes it much easier to deal with them in the Journal.
 
 The thing is, I want this Zip file to have its own MIME type, so that:
 
 1).  The Etoys activity does not try to open the file, at all, ever.  
 EToys takes a long time to start up and shut down and it is really 
 annoying when I open the file with EToys instead of my own activity.
 2).  My Activity *does* open the file.
 3).  The Zip files containing images show up in the Journal with my own 
 Activity's icon, which looks like a slide projector.
 
 To accomplish this I have created my Zip files with the extension 
 .slides and I'd like to be able to use the MIME type 
 application/slides for such files.
 
 I'm also interested in creating a reader program for Gutenberg etexts.  
 I'd like these files to have their own MIME type too so they don't get 
 opened by the Write activity by mistake.  I was thinking of using a file 
 suffix of .book and a MIME type of text/book for these.
 
 I tried using a mimetypes.xml file in the bundle but that didn't work.  
 I couldn't find an example of an Activity that used such a file so I'm 
 not certain I'm doing it correctly.
 
 I'd appreciate any information on MIME types or on alternative 
 approaches that would solve problems 1-3.  Thanks much,

I'm not sure what's exactly your problem. In principle, if the data from
your activity can be reused in other activities, I would call that a
good thing.

If things work as they are supposed to, without doing anything about
mime types your journal entries should be resumed by default in your
activity and would use your activity's icon. This is not working?

Can you provide a link to you activity source code?

Regards,

Tomeu

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


python activities startup

2008-02-06 Thread Tomeu Vizoso
Hi,

as we all know, activities that use the python API (most of them) start
up very slow in the XO, a trivial one launching in 7 seconds.

http://dev.laptop.org/ticket/5228

I don't know yet if performance work will land in update.2 or in
update.3, but now may be a good moment to summarize what we know and see
which are our options.

By the data in #5228, looks like more than 50% of time is spent
importing modules. dbus, telepathy and pygtk make for more than 30% of
_total_ startup time.

In that ticket is attached a file that lists the 161 modules imported at
startup. I doubt most of those modules are actually used during startup,
and many won't be used neither during the activity lifetime, they are
just imported because one module we actually use *may* need it at some
point.

It's clear that we would prefer to not pay this price upfront at
startup, but rather that the needed initializations happened during
runtime as (if) needed.

I would like to take the chance to ask to Guido what's his opinion on
this, as I'm sure this has been discussed in the python community at
some point. How could we move all these initializations from import time
to use time?

I see the following options:

- Reduce the number of things that are done at startup. We probably
could write to the datastore, initialize sharing and creating the D-Bus
service at a later point after startup. These changes look to me as
quite invasive and somewhat risky. The benefit from the user point of
view is not clear, as we would like those things to happen as soon as
possible after the activity window has been brought up.

- Modify the modules that do significant initializations at import time
so that code is executed lazily as needed. Those modules will be inside
python itself, dbus, pygtk, telepathy, sugar, etc. The drawback of this
approach is that we'll need to maintain forks for some time.

- Hack the import logic in python so that the module-level code is
executed only when some function or method from that module is called or
a variable is set. I'm not sure if this is possible by just using the
existing hooks or if we would need to patch python. In case this brings
some incompatibilities, we could activate this fast mode through some
flag.

I wonder too if python 2.6 and 3.0 will bring some improvement in these
areas?

Thanks,

Tomeu


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


Re: [sugar] python activities startup

2008-02-06 Thread Tomeu Vizoso
On Wed, 2008-02-06 at 15:20 +0100, Ryan Pavlik wrote:
 Tomeu Vizoso wrote:
  Hi,
 
  as we all know, activities that use the python API (most of them) start
  up very slow in the XO, a trivial one launching in 7 seconds.
 
  http://dev.laptop.org/ticket/5228
 
  I don't know yet if performance work will land in update.2 or in
  update.3, but now may be a good moment to summarize what we know and see
  which are our options.
 
  By the data in #5228, looks like more than 50% of time is spent
  importing modules. dbus, telepathy and pygtk make for more than 30% of
  _total_ startup time.
 
  In that ticket is attached a file that lists the 161 modules imported at
  startup. I doubt most of those modules are actually used during startup,
  and many won't be used neither during the activity lifetime, they are
  just imported because one module we actually use *may* need it at some
  point.
 
  It's clear that we would prefer to not pay this price upfront at
  startup, but rather that the needed initializations happened during
  runtime as (if) needed.
 
  I would like to take the chance to ask to Guido what's his opinion on
  this, as I'm sure this has been discussed in the python community at
  some point. How could we move all these initializations from import time
  to use time?
 
  I see the following options:
 
  - Reduce the number of things that are done at startup. We probably
  could write to the datastore, initialize sharing and creating the D-Bus
  service at a later point after startup. These changes look to me as
  quite invasive and somewhat risky. The benefit from the user point of
  view is not clear, as we would like those things to happen as soon as
  possible after the activity window has been brought up.
 
  - Modify the modules that do significant initializations at import time
  so that code is executed lazily as needed. Those modules will be inside
  python itself, dbus, pygtk, telepathy, sugar, etc. The drawback of this
  approach is that we'll need to maintain forks for some time.
 
  - Hack the import logic in python so that the module-level code is
  executed only when some function or method from that module is called or
  a variable is set. I'm not sure if this is possible by just using the
  existing hooks or if we would need to patch python. In case this brings
  some incompatibilities, we could activate this fast mode through some
  flag.
 
  I wonder too if python 2.6 and 3.0 will bring some improvement in these
  areas?
 
  Thanks,
 
  Tomeu
 
 
  ___
  Sugar mailing list
  [EMAIL PROTECTED]
  http://lists.laptop.org/listinfo/sugar
 

 Though it's not very elegant, you can import anywhere and I believe the 
 import is then available everywhere (within that module).  You might be 
 able to just move the import statements to right before they are needed 
 - I believe multiple imports are ignored, so if imported functions are 
 needed in multiple places, import in each of those (or the first to 
 execute if it is deterministic).  Not really pretty, but it might do the 
 trick I think...

This would help only for the imports in sugar modules that are not
actually used during startup. Sadly, none of the modules that appear in
the profiles as significant fall into this category.

Tomeu

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


Re: python activities startup

2008-02-06 Thread Tomeu Vizoso
On Wed, 2008-02-06 at 09:31 -0500, Benjamin M. Schwartz wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Tomeu Vizoso wrote:
  By the data in #5228, looks like more than 50% of time is spent
  importing modules. dbus, telepathy and pygtk make for more than 30% of
  _total_ startup time.
 
 There has been much talk about fork()ing the python interpreter for each
 activity instead of starting a new interpreter.  AFAIK, the python interpreter
 only does nontrivial work the first time a module is imported in each
 interpreter.  By this logic, if we use a forked interpreter and import these
 modules at the root, it seems that the import will only have to happen once at
 Sugar startup, rather than once for each Activity.
 
 I would appreciate a comment on this from someone who knows more about the
 relevant issues, like the interaction of CoW memory and python modules.

AFAIK, what is taking most of the time here is the code at the module
level that is executed the first time that module is imported, and not
the reading and loading of modules. I think Michael Stone can confirm
this.

If I understand correctly how that fork() would work, what we would be
saving in that case is the reading of modules, but the python code at
the module scope would need to be executed anyway.

Tomeu

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


Re: How to create a new MIME type for a Sugar activity?

2008-02-06 Thread Tomeu Vizoso
On Wed, 2008-02-06 at 09:39 -0600, James Simmons wrote:
 Tomeu,
 
 The problem is that my application does not create the Zip files
 filled with images, it only reads them.

Oh, now I see.

 I had noticed that when I put a flash drive containing hundreds of
 images into my XO that it thrashed for quite a bit and wouldn't let me
 open any apps until it was done.  I would guess that it was creating
 journal entries for each one.

Yup, we have some ticket about that.

 It seems to me that Sugar is better suited to dealing with individual
 files than collections of files, which is how I hit on the idea of
 putting the collections in Zip files. 

Yes, we don't have yet in the journal the concept of collection of
objects. This is planned to be added soon.

 I use a separate Linux box to make the files using this command:
 
 zip filename.slides *.jpg
 
 Then I copy filename.slides to my flash drive so I can browse the
 images on the XO.  I have a straight Python version of my app that I
 can run on the XO from the console, and an Activity version that works
 just fine from Xbuntu's Sugar Simulator when I use the MIME type of
 application/zip.  (No Etoys is installed there).  The problem is that
 it is all too easy to launch Etoys on my file on the XO, and that is a
 pain.  I was hoping for a way to have the *.slides files linked only
 to my app, even though my app did not create them.  I don't see how my
 app *could* create a Zip file containing a list of images.  It doesn't
 seem like something an Activity could do.

Ok, so what if your activity registers into the mime registry a new type
like application/x-slide-activity associated to the *.slide glob? That
can be done in the mimetypes.xml file. And then your activity should add
this mime to the activity.info.

In this way, the journal will recognize these files as that type, and
will open them with you activity.

 I'd be happy to share the code for my activity with you, but I don't
 think it would shed any light on anything.  Basically it uses pygtk to
 open a Zip file, navigate through the list of files in response to the
 arrow keys on the keyboard, extract the current file to a temp
 directory and display it resized to fit the current resolution of the
 screen.  Then it deletes the temporary file.  That way you can browse
 through the images in sequence.  I had thought of putting in a
 slideshow feature too.  The problem is getting the program to run by
 resuming the file from the Journal.
 
 I'm using my work email account and the application is at home.  I can
 send it to you as an attachment later if you still think it would
 help.

No problem, I was just confused about what you wanted to do.

Regards,

Tomeu

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


Re: python activities startup

2008-02-06 Thread Tomeu Vizoso
On Wed, 2008-02-06 at 09:59 -0500, Benjamin M. Schwartz wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Tomeu Vizoso wrote:
  If I understand correctly how that fork() would work, what we would be
  saving in that case is the reading of modules, but the python code at
  the module scope would need to be executed anyway.
 
 I am no expert, but, without evidence, my current suspicion is the other way.
 Consider:
 
 import dbus
 import os
 
 def launch_activity(some_activity)
 if os.fork()  == 0:
 import some_activity
 x = some_activity.SomeActivity()
 else:
 return
 
 - From the perspective of the child process, the modules have already been
 imported, and are even still in scope.  It would be strange for the Python
 semantics if the imports were somehow forgotten in the child.

You are right.

I have hacked the rainbow service in the following way:

- rainbow preimports pygtk, telepathy, dbus and some slow sugar modules.
- after cloning, reconnect to X.
- instead of execvpe sugar-activity, directly execute the code.

Python activities have the expected speedup, from 7 seconds to 3.

Haven't measured the memory usage improvement yet.

The visible problems right now are that the D-Bus connection to the
session bus is stale (how can we reconnect?) and that the activity uses
the default gtk theme and not the Sugar one. These two should be quite
easily solvable.

I think Michael, Scott and Chris played in the past with this idea. What
was your conclusion? Anybody saw any flaw with this approach? Security
implications?

Thanks,

Tomeu

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


Re: [sugar] Matplotlib vs PyCha

2008-02-07 Thread Tomeu Vizoso
On Thu, 2008-02-07 at 02:20 -0500, Arjun Sarwal wrote:
 Hi,
 
 In continuation with my previous email[1] in which I had mentioned
 that I was looking for python packages that would enable me to do
 graphing/plotting of data in various formats. I searched through a
 series of packages. One that I really liked was gtksheet (or
 gtkextra?)[2]  which had various plotting functions (and also a
 spreadsheet like interface, which I would eventually need) but there
 hasn't been any development on that since a long time and that package
 depends pygtk1 and python 2.4 so it seems I can't use it.

Seems like gtkextra has continued to be developed and was ported to
gtk2. It is also packaged in F7:

http://koji.fedoraproject.org/koji/packageinfo?packageID=1987

But I think that doesn't include python bindings :/

If you decided to try, wrapping gtk widgets with pygtk uses to be quite
straightforward. You could base those bindings on 

http://python-gtkextra.cvs.sourceforge.net/python-gtkextra/python-gtkextra2/

I'm not sure we want this lib in the platform, so you would have to
include all these pieces inside your activity bundle.

Tomeu

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


Re: python activities startup

2008-02-08 Thread Tomeu Vizoso
On Thu, 2008-02-07 at 16:46 +, Simon McVittie wrote:
 A better solution would be for Rainbow to avoid SessionBus() entirely,
 and instead use an instance of the superclass, dbus.bus.BusConnection. This
 does not have the weird caching behaviour at all (one call to the
 constructor = one instance = one D-Bus connection). The code that gets run
 after forking is still free to use the shared SessionBus.

Rainbow is not using the session bus at all, just the system one.

But when the child tries to instantiate a SessionBus object, I get this stack 
trace:

/usr/lib/python2.5/site-packages/sugar/presence/presenceservice.py in 
__init__(self=PresenceService object at 0x86afbbc 
(sugar+presence+presenceservice+PresenceService at 0x86f1370), 
allow_offline_iface=False)
 73 
 74 # Get a connection to the session bus
--- 75 self._bus = dbus.SessionBus()
self._bus = undefined
global dbus.SessionBus = class 'dbus._dbus.SessionBus'
 76 self._bus.add_signal_receiver(self._name_owner_changed_cb,
 77 signal_name=NameOwnerChanged,

/usr/lib/python2.5/site-packages/dbus/_dbus.py in __new__(cls=class 
'dbus._dbus.SessionBus', private=False, mainloop=None)
211 
212 return Bus.__new__(cls, Bus.TYPE_SESSION, private=private,
-- 213mainloop=mainloop)
mainloop = None
214 
215 class StarterBus(Bus):

/usr/lib/python2.5/site-packages/dbus/_dbus.py in __new__(cls=class 
'dbus._dbus.SessionBus', bus_type=0, private=False, mainloop=None)
100 raise ValueError('invalid bus_type %s' % bus_type)
101 
-- 102 bus = BusConnection.__new__(subclass, bus_type, 
mainloop=mainloop)
bus = undefined
global BusConnection.__new__ = function __new__ at 0x822733c
subclass = class 'dbus._dbus.SessionBus'
bus_type = 0
mainloop = None
103 
104 bus._bus_type = bus_type

/usr/lib/python2.5/site-packages/dbus/bus.py in __new__(cls=class 
'dbus._dbus.SessionBus', address_or_type=0, mainloop=None)
123 
124 def __new__(cls, address_or_type=TYPE_SESSION, mainloop=None):
-- 125 bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
bus = undefined
cls._new_for_bus = built-in method _new_for_bus of type object at 
0x8256f44
address_or_type = 0
mainloop = None
126 
127 # _bus_names is used by dbus.service.BusName!

class 'dbus.exceptions.DBusException': org.freedesktop.DBus.Error.NoServer: 
Failed to connect to socket /tmp/dbus-7dk02BRXOZ: Connection refused


This is the value of the DBUS_SESSION_BUS_ADDRESS env var:
unix:path=/tmp/olpc-session-bus,guid=fdf37ebd35a585d12382a50047ac3034

unix:path=/tmp/olpc-session-bus is specified
in /etc/dbus-1/session-olpc.conf:

busconfig
  !-- Our well-known bus type, don't change this --
  typesession/type

  listenunix:path=/tmp/olpc-session-bus/listen

  standard_session_servicedirs /
...

Any ideas?

Thanks,

Tomeu


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


Re: [sugar] python activities startup

2008-02-08 Thread Tomeu Vizoso
On Fri, 2008-02-08 at 14:44 +0100, Tomeu Vizoso wrote:
 On Fri, 2008-02-08 at 13:41 +0100, Tomeu Vizoso wrote:
  On Thu, 2008-02-07 at 16:46 +, Simon McVittie wrote:
   A better solution would be for Rainbow to avoid SessionBus()
 entirely,
   and instead use an instance of the superclass,
 dbus.bus.BusConnection. This
   does not have the weird caching behaviour at all (one call to the
   constructor = one instance = one D-Bus connection). The code that
 gets run
   after forking is still free to use the shared SessionBus.
  
  Rainbow is not using the session bus at all, just the system one.
  
  But when the child tries to instantiate a SessionBus object, I get
 this stack trace:
  
...
  
  class 'dbus.exceptions.DBusException': 
  org.freedesktop.DBus.Error.NoServer: Failed to connect to socket 
  /tmp/dbus-7dk02BRXOZ: Connection refused
  
  
  This is the value of the DBUS_SESSION_BUS_ADDRESS env var:
  unix:path=/tmp/olpc-session-bus,guid=fdf37ebd35a585d12382a50047ac3034
  
  unix:path=/tmp/olpc-session-bus is specified
  in /etc/dbus-1/session-olpc.conf:
  
  busconfig
!-- Our well-known bus type, don't change this --
typesession/type
  
listenunix:path=/tmp/olpc-session-bus/listen
  
standard_session_servicedirs /
  ...
 
 When running inside rainbow, strace shows this:
 
 [pid  2370] connect(0, {sa_family=AF_FILE, path=@/tmp/dbus-XQcfxlvcoY}, 23) = 
 -1 ECONNREFUSED (Connection refused)
 
 But on the console (works fine):
 
 connect(3, {sa_family=AF_FILE, path=/tmp/olpc-session-bus}, 23) = 0

I'm sorry about the noise.

When Rainbow was started, the env var DBUS_SESSION_BUS_ADDRESS wasn't
set until the clone() happened. By looking at dbus code, the bus
addresses are initialized at startup, so it kept using the bad address.

Setting DBUS_SESSION_BUS_ADDRESS before running Rainbow fixed this
issue.

So, no known D-Bus problems right now.

Tomeu

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


status of startup speedup

2008-02-08 Thread Tomeu Vizoso
Hi,

attached is a patch to rainbow for executing python activities inside a
forked child.

This saves quite a bit of the initializing code, taking a 7s. activity
to start in 3. Perhaps we could preload some more initializations.

Haven't even looked yet at possible memory savings.

The only remaining issue is that activities cannot update their journal
entries. They are able to create the entries in the datastore, but the
second call to the DS service fails. Tomorrow will look at this if
nobody beats me to it.

Thanks,

Tomeu




0001-Some-hacks-for-preloading-some-modules-and-then-exec.patch
Description: application/mbox
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: python activities startup

2008-02-08 Thread Tomeu Vizoso

On Fri, 2008-02-08 at 13:41 +0100, Tomeu Vizoso wrote:
 On Thu, 2008-02-07 at 16:46 +, Simon McVittie wrote:
  A better solution would be for Rainbow to avoid SessionBus() entirely,
  and instead use an instance of the superclass, dbus.bus.BusConnection. This
  does not have the weird caching behaviour at all (one call to the
  constructor = one instance = one D-Bus connection). The code that gets run
  after forking is still free to use the shared SessionBus.
 
 Rainbow is not using the session bus at all, just the system one.
 
 But when the child tries to instantiate a SessionBus object, I get this stack 
 trace:
 
 /usr/lib/python2.5/site-packages/sugar/presence/presenceservice.py in 
 __init__(self=PresenceService object at 0x86afbbc 
 (sugar+presence+presenceservice+PresenceService at 0x86f1370), 
 allow_offline_iface=False)
  73 
  74 # Get a connection to the session bus
 --- 75 self._bus = dbus.SessionBus()
 self._bus = undefined
 global dbus.SessionBus = class 'dbus._dbus.SessionBus'
  76 self._bus.add_signal_receiver(self._name_owner_changed_cb,
  77 signal_name=NameOwnerChanged,
 
 /usr/lib/python2.5/site-packages/dbus/_dbus.py in __new__(cls=class 
 'dbus._dbus.SessionBus', private=False, mainloop=None)
 211 
 212 return Bus.__new__(cls, Bus.TYPE_SESSION, private=private,
 -- 213mainloop=mainloop)
 mainloop = None
 214 
 215 class StarterBus(Bus):
 
 /usr/lib/python2.5/site-packages/dbus/_dbus.py in __new__(cls=class 
 'dbus._dbus.SessionBus', bus_type=0, private=False, mainloop=None)
 100 raise ValueError('invalid bus_type %s' % bus_type)
 101 
 -- 102 bus = BusConnection.__new__(subclass, bus_type, 
 mainloop=mainloop)
 bus = undefined
 global BusConnection.__new__ = function __new__ at 0x822733c
 subclass = class 'dbus._dbus.SessionBus'
 bus_type = 0
 mainloop = None
 103 
 104 bus._bus_type = bus_type
 
 /usr/lib/python2.5/site-packages/dbus/bus.py in __new__(cls=class 
 'dbus._dbus.SessionBus', address_or_type=0, mainloop=None)
 123 
 124 def __new__(cls, address_or_type=TYPE_SESSION, mainloop=None):
 -- 125 bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
 bus = undefined
 cls._new_for_bus = built-in method _new_for_bus of type object at 
 0x8256f44
 address_or_type = 0
 mainloop = None
 126 
 127 # _bus_names is used by dbus.service.BusName!
 
 class 'dbus.exceptions.DBusException': org.freedesktop.DBus.Error.NoServer: 
 Failed to connect to socket /tmp/dbus-7dk02BRXOZ: Connection refused
 
 
 This is the value of the DBUS_SESSION_BUS_ADDRESS env var:
 unix:path=/tmp/olpc-session-bus,guid=fdf37ebd35a585d12382a50047ac3034
 
 unix:path=/tmp/olpc-session-bus is specified
 in /etc/dbus-1/session-olpc.conf:
 
 busconfig
   !-- Our well-known bus type, don't change this --
   typesession/type
 
   listenunix:path=/tmp/olpc-session-bus/listen
 
   standard_session_servicedirs /
 ...

When running inside rainbow, strace shows this:

[pid  2370] connect(0, {sa_family=AF_FILE, path=@/tmp/dbus-XQcfxlvcoY}, 23) = 
-1 ECONNREFUSED (Connection refused)

But on the console (works fine):

connect(3, {sa_family=AF_FILE, path=/tmp/olpc-session-bus}, 23) = 0

Tomeu

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


Re: status of startup speedup

2008-02-08 Thread Tomeu Vizoso
On Fri, 2008-02-08 at 14:23 -0500, Michael Stone wrote:
 Tomeu,
 
  The only remaining issue is that activities cannot update their journal
  entries. They are able to create the entries in the datastore, but the
  second call to the DS service fails. 
 
 Please publish the traceback so that I can help you debug the situation.

Well, it just times out and the message doesn't arrive to the DS
service. But I'll reproduce and attach the traceback tomorrow.

 Next, some notes and some questions about your patch:

I guess I was not clear on this, but this patch is not something I would
ask to be applied to upstream rainbow. I just intended to experiment
with the idea of a launcher process and see which improvements and
problems we would find.

 * In the second hunk, I'd like to replace the big os.environ block with
   something like:
 
 for key in (...):
 os.environ[key] = env[key]
 
   That being said, is there a good reason for selectively using values from
   os.environ instead of using everything?

No, I just wanted to know which env vars were really needed. We can add
all of those if you think it's better.

 * By convention, the first argument to log() should be a format string.
 
 * I think your patch breaks rainbow's strace support. Strace support can
   probably be fixed by forking a second time, then instructing strace to trace
   to the pid of the parent; however, this will lead to interleaved writes to
   the shared file descriptors.
 
 * Why is it necessary to import gtk twice?

Well, we import first in the parent process so the initialization is
inherited by all children. The second time is just because we need to
reopen the connection to X (and need a gtk name in that scope).

 * I am extremely uncomfortable importing all of telepathy, sugar, dbus, and 
 gtk
   into the main rainbow process before it has dropped privilege. 
 Unfortunately,
   we must drop privilege after forking and the imports must be done before
   forking. (Also, unfortunately, all of sugar, telepathy, and the datastore
   have root access through sudo. I'll be trying to change this in coming
   weeks.)

Of course. I guess we could have a launcher process that does the
preloading of expensive modules and then fork?

 * Rainbow is currently made available under the MIT license. You offered your
   sugaractivity.py file under the GPL2+ license. Are you willing to offer it
   under the MIT license?

That's not my code, it is mostly Marco's. I don't have any problem with
having my work as MIT.

 Anyhow, thanks very much for your hard work,

Thanks for your help.

Tomeu

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


Re: status of startup speedup

2008-02-09 Thread Tomeu Vizoso
On Fri, 2008-02-08 at 14:23 -0500, Michael Stone wrote:
 Tomeu,
 
  The only remaining issue is that activities cannot update their journal
  entries. They are able to create the entries in the datastore, but the
  second call to the DS service fails. 
 
 Please publish the traceback so that I can help you debug the situation.

No traceback, we call this method async and get this message in the
error handler:

org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible
causes include: the remote application did not send a reply, the message
bus security policy blocked the reply, the reply timeout expired, or the
network connection was broken.

Any clues about what to check next?

Tomeu

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


Re: Updating translations for release...

2008-02-09 Thread Tomeu Vizoso
On Fri, 2008-02-08 at 22:38 +0530, Sayamindu Dasgupta wrote:
  1) Can the activities be updated by you updating the packages, or will
  this require work by the activity developers?
 
 
 Yes one can simply do a git pull from dev.laptop.org and the latest
 translations will go in.

Have updated the Journal pot and it has some new strings to translate.
Can you pull it into Pootle?

Tell me if you want me to do the Spanish and Portuguese translations,
but I don't have an account in Pootle yet.

Thanks,

Tomeu

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


Re: Updating translations for release...

2008-02-10 Thread Tomeu Vizoso
On Sun, 2008-02-10 at 08:23 +0530, Sayamindu Dasgupta wrote:
 On Feb 9, 2008 10:49 PM, Tomeu Vizoso [EMAIL PROTECTED] wrote:
  On Fri, 2008-02-08 at 22:38 +0530, Sayamindu Dasgupta wrote:
1) Can the activities be updated by you updating the packages, or will
this require work by the activity developers?
   
  
   Yes one can simply do a git pull from dev.laptop.org and the latest
   translations will go in.
 
  Have updated the Journal pot and it has some new strings to translate.
  Can you pull it into Pootle?
 
 
 Which branch is this ?

Both update.1 and master, but I guess we only care now about update.1,
right?

  Tell me if you want me to do the Spanish and Portuguese translations,
  but I don't have an account in Pootle yet.
 
 
 That would be great. Register in Pootle and send me your username -
 I'll give you translation access.

'tomeu'

Thanks!

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


Re: How to create a new MIME type for a Sugar activity?

2008-02-12 Thread Tomeu Vizoso
On Tue, 2008-02-12 at 18:32 +, Ivo Emanuel Gonçalves wrote:
 On 2/12/08, Bert Freudenberg [EMAIL PROTECTED] wrote:
  So if any, it's made-up by those crazy freedesktop.org guys.
 
 Someone find and beat them into a pulp for leading other people astray.

I think the mimes rpm in F8 has those types changed. Could be good to
check if there are ok there.

Tomeu



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


Re: startup question

2008-02-12 Thread Tomeu Vizoso
On Tue, 2008-02-12 at 08:37 -0500, Mikus Grinbergs wrote:
 I'm used to regular Linux, where I can access files from a command 
 without having to go through the Journal.  I have an SD card in my 
 XO, on which I keep files regarding setting up / customizing the XO.
 
 Apparently, the XO goes out and scans my SD card, so that it can 
 show me the SD content if I were to click on the SD icon in the 
 Journal view.  Is there a way for me to __inhibit__ this scan of the 
 SD card -- the scan takes time, and it is unlikely that I will ever 
 want to access these SD directories/files through the Journal view ?

Hi, the following method in the journal decides whether to automount a
device or not:

http://dev.laptop.org/git?p=journal-activity;a=blob;f=volumesmanager.py;h=6147681653d4d29133239b65ceb7ff72877b63d9;hb=HEAD#l92

Good luck,

Tomeu

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


Re: Items for update.1 RC3

2008-02-13 Thread Tomeu Vizoso
On Wed, 2008-02-13 at 11:12 +0530, Sayamindu Dasgupta wrote:
 Hi,
 I have information about the releases of new packages (to pickup
 translations) for the following modules:
 
 acoustic measure
 calculate
 chat
 journal
 measure
 memorize
 pippy
 read
 record
 sugar
 web
 
 I believe we are still waiting for
 
 oficina
 tamtam
 write
 
 
 Note that some of the modules in the first list might not have got
 approval (or requested for approval) for inclusion in Update-1 yet.

Have made a new release of Paint with updated translations:

http://dev.laptop.org/ticket/6440

It is waiting for approval.

Tomeu

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


repositories and releases

2008-02-15 Thread Tomeu Vizoso
Hi,

last terminal bundle was released from a private tree [0] instead of
from the main repository [1].

http://dev.laptop.org/git?p=users/mstone/terminal-activity;a=summary

http://dev.laptop.org/git?p=projects/terminal-activity;a=summary

Am I wrong to think that this is bad and will cause confusion?

Tomeu

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


Re: help about helix libraries

2008-02-15 Thread Tomeu Vizoso
On Fri, 2008-02-15 at 18:14 +0500, Waqas Toor wrote:
 Thanks Tomeu,
 
 My activity works fine but as i am using evince as a pdf document
 reader and helix as the libraries for mp3 decoding,
 
 the only problem is that when i play some sound the control is stuck
 between that run() method, i tried threading as well :(

Sorry, no idea with that. If you wanted to use gstreamer, I know some
people on this list that could help you.

 can you please point me to a developer who is working on hxplay

I think the people involved where from real media and from osuosl.org.
Google pointed me to:

http://wiki.osuosl.org/display/DEV/OLPCMediaPlayer+Documentation

Tomeu

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


Re: A modest proposal.

2008-02-20 Thread Tomeu Vizoso
On Tue, 2008-02-19 at 15:45 -0500, C. Scott Ananian wrote:

implementation details

 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.

implementation details

Scott, could you write a bit about the higher level use cases this would
be useful in?

Thanks,

Tomeu

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


Re: Is read_file() always called after an activity __init__?

2008-02-28 Thread Tomeu Vizoso
On Thu, Feb 28, 2008 at 12:45 PM, Gary C Martin [EMAIL PROTECTED] wrote:
 Hi Tomeu,


  On 28 Feb 2008, at 09:40, Tomeu Vizoso wrote:

   Well, __init__ is too soon.

  Well before calling activity.Activity.__init__(self, handle) yes that
  would be a real bad idea for sure :-) but after that it 'should' be
  fine shouldn't it, as the activity class is all set up? I can
  certainly read the metadata in my main __int__ just after the call up
  to super, and all works well.

You are right, though at some point we would like to defer the fetch
of data from the datastore to a later point after construction. In
this way some activities will be able to launch faster.

   AFAIK, the API docs say that you can
   safely access Activity.metadata in the read_file() and write_file()
   methods. read_file() is called when the user is resuming an existing
   activity and write_file() when sugar thinks it is a good time to save
   changes to the journal (probably several times during the life of an
   activity).

  It does seem like read_file() is only triggered if you have previously
  saved an actual file to filesystem, if you just have metadata, no call
  is ever made to read_file() so it's a rather bad place to pick-up the
  metadata. At least this is what I'm seeing here – I've just created a
  0 size file in my write_file() and now a resume from that journal
  entry is triggering read_file() every time.

You are right again. Perhaps we should add a read_metadata() method?
An alternative would be to have a 'datastore-loaded' method, but that
would be less consistent with the current API.

   Is very probable that the API documentation is lacking, can you point
   me to the docs you were following? Have you already read the HIG in
   the wiki?

  Not an officially maintained page I know, but:
 http://wiki.laptop.org/go/Beyond_Hello_World

Not that we have many officially maintained pages about sugar docs :/

  Same suggestion comes from the current pydocs:
 http://xo_running_pydoc-p8080:8080/
  sugar.activity.activity.html#Activity-read_file
 
 http://www.vrplumber.com/sugar-docs/sugar.activity.activity.html#Activity-read_file
   (an online version)

Would be nice to have a wiki bot that would update the API docs in the
wiki from the sources. Anybody know something like that?

  I also went through a number of activity sources in git looking for
  examples, but I didn't find one that ONLY used metadata. They all seem
  to either not bother storing any UI state (so resuming or from new
  makes no difference), or they save actual files.

I think at some point activities like those realize that they have
some data that would be better saved in a file.

But the determining reason would be that metadata properties other
than the custom ones are not preserved across reboots :/

http://dev.laptop.org/ticket/4662

  BTW: I'm quite happy with read_file() not getting called in file-less
  cases, just a matter of documenting it somewhere (if that is indeed
  the correct behaviour intended).

  Thanks for your input.

Thanks,

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


Re: Metadata preserved across reboots?

2008-02-28 Thread Tomeu Vizoso
On Thu, Feb 28, 2008 at 8:02 PM, James Simmons
[EMAIL PROTECTED] wrote:
 Tomeu,

  As I've mentioned before, I'm working on an EText reading activity that uses 
 metadata to save the current page number when the activity closes, kind of 
 like a bookmark.  When the activity is resumed the saved page number would be 
 shown.  This works just fine while the XO is turned on, but the page number 
 metadata disappears when you reboot or turn the machine off and on.  I'm 
 using the same code that the Read activity does for this purpose, and I 
 notice that Read has exactly the same problem.  This is frustrating.  The 
 journal entry shows a screenshot of the page I left off on, but I don't go 
 back to that page on opening.

  I have also noticed that if I open the document from a USB card or an SD 
 card no metadata is saved at all.

When is metadata not saved? Or you mean the metadata is saved but not retrieved?

  I had been assuming that this was a bug in Sugar that would be fixed at some 
 point.  Your text below makes it sound like this is an actual deliberate 
 feature.  Am I understanding this correctly?

No, it's a big bug in the current implementation of the DataStore.
Could be fixed in the current implementation, but there have been
plans of rewriting it, so nobody has looked into this since a long
time ago.

See http://dev.laptop.org/ticket/4662 for more details.

   I also went through a number of activity sources in git looking for
examples, but I didn't find one that ONLY used metadata. They all seem
to either not bother storing any UI state (so resuming or from new
makes no difference), or they save actual files.


  I think at some point activities like those realize that they have
  some data that would be better saved in a file.

  But the determining reason would be that metadata properties other
  than the custom ones are not preserved across reboots :/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Is read_file() always called after an activity __init__?

2008-02-29 Thread Tomeu Vizoso
On Thu, Feb 28, 2008 at 10:56 PM, Gary C Martin [EMAIL PROTECTED] wrote:
  It does seem like read_file() is only triggered if you have
   previously
   saved an actual file to filesystem, if you just have metadata, no
   call
   is ever made to read_file() so it's a rather bad place to pick-up the
   metadata. At least this is what I'm seeing here – I've just created a
   0 size file in my write_file() and now a resume from that journal
   entry is triggering read_file() every time.
  
   You are right again. Perhaps we should add a read_metadata() method?
   An alternative would be to have a 'datastore-loaded' method, but that
   would be less consistent with the current API.

  Hmmm, so if my activity needs it's preferences before it can display
  anything to the user, potential future lazy loading of the data-store
  (to try and speed up general activity start-up time) is going to leave
  folks watching my activity with a blank screen for a lazy while? Ouch.

Well, metadata loading shouldn't be as slow as for the user to notice.
But if you add this to all the other initializations, it is
significant. Also, the user wouldn't see a blank screen, just startup
will be (say) 100ms slower than for an activity that can start without
reading the metadata.

   But the determining reason would be that metadata properties other
   than the custom ones are not preserved across reboots :/
  
   http://dev.laptop.org/ticket/4662

  Oooh thanks, double ouch, I hadn't spotted that gotcha yet!

  I'm getting the distinct feeling I should avoid current metadata
  interactions by an activity (too flakey and in transition just now)
  and just create a custom preference like file format, it only needs to
  store two key/value pairs at the moment, probably will eventually need
  only half a dozen at the most for future display options. Though I
  guess even that's still going to be a problem if lazy data-store
  loading is ever implemented (though every activity that needs to load
  a file for display will suffer there).

  Leave the metadata alone for the Journal and lower level activity
  class behaviours.  Pity, metadata looked like a nice solution for
  storing simple custom activity state information, maybe in update. 2...

Right, metadata in journal entries was thought exactly for that. Using
some other kind of preferences file may be the best for now.

Regards,

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


Re: [sugar] Journal: two quick suggestions

2008-02-29 Thread Tomeu Vizoso
On Fri, Feb 29, 2008 at 5:17 PM, Christoph Derndorfer
[EMAIL PROTECTED] wrote:
One can
imagine that the subject of an activity is actually
   subjectively defined,
and even when it's relatively clear, we might wind up with some
   for each of
math, geometry, trigonometry, algebra, etc.
   
To make a similar functionality available, though, we've chosen
   to allow
developers to supply a list of tags within the .info file for
   any given
activities, which could include several subject related words,
   as well as
more abstract or general terms like game, simulation, or
   language.  We
hope that the ability to search by broad terms such as math or
   games
will then turn up a list of appropriately related activities.
   
Having just typed this and then reviewing the wiki, I notice
   that this part
of the spec doesn't appear to be there yet!  Can those familiar
   with this
respond about the presence or absence of this capability?  If
   this isn't
there, it should get a ticket.  It should be a pretty
   straightforward
addition and simple to implement, it seems.
  

  Ahhh, that's indeed interesting, I hadn't been aware of this
  functionality before...

  Per Eben's question: Does anyone happen to know whether this is already
  implemented or not?

Don't think that the implementation of this has been discussed before.
Eben, can you enter a ticket pointing to a spec?

Thanks,

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


Re: Accessing PenTablet coordinates from PyGTK

2008-02-29 Thread Tomeu Vizoso
On Fri, Feb 29, 2008 at 6:08 PM, Patrick Dubroy [EMAIL PROTECTED] wrote:
 I'm trying to get access to the PenTablet from within a PyGTK
  application. Since the PenTablet isn't working in the current system,
  I had to modify xorg.conf to use the evdev driver (as in this example:
  http://dev.laptop.org/attachment/ticket/2198/new-xorg.conf).

  Doing this, I can get the PenTablet to work in relative mode to
  control the core pointer. But what I really want to do is to access
  the absolute position data from the PenTablet, to be able to draw in a
  GTK widget independent of the core pointer.

  I've tried setting SendCoreEvents to false, and then creating a GTK
  widget and registering for extension events. This allows to receive
  motion events from the PenTablet, but the x and y values in the event
  object are inf and nan. Anybody know why this would be? Any
  suggestions?

  Apparently there used to be a method gdk.Window.input_get_pointer that
  would allow you to query the location of the pointer for XInput
  devices. However, this method appears to be gone in the current
  version of GTK. Has it moved somewhere?

I see it here in line 608:

http://svn.gnome.org/viewvc/pygtk/trunk/gtk/gtk-types.c

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


Re: Is read_file() always called after an activity __init__?

2008-03-01 Thread Tomeu Vizoso
On Sat, Mar 1, 2008 at 3:12 AM, John Gilmore [EMAIL PROTECTED] wrote:
  Hmmm, so if my activity needs it's preferences before it can display
   anything to the user, potential future lazy loading of the data-store
   (to try and speed up general activity start-up time) is going to leave
   folks watching my activity with a blank screen for a lazy while? Ouch.

  Ahem.  The Grand Unified Theory of OLPC was that the datastore/journal
  were going to entirely replace the filesystem (as far as Activites
  are concerned).  Activities aren't permitted to read/write the ordinary
  Linux filesystem, according to this theory.

Not true. The datastore is for recording actions and storing the
documents associated to those. In other words: for saving the child's
work and allowing for efficient retrieval. Where have you found this
theory?

See the link below for an explanation of the suggested guidelines for
writing to the fs:

http://wiki.laptop.org/go/Low-level_Activity_API#Writable_Directories

  If the datastore isn't just as ready, just as fast, and just as
  available as the filesystem, e.g. for holding tiny little files that
  rapidly keep the Activity's configuation options, then there's
  something terribly wrong here.

Can you elaborate? I'm certainly not happy with the current state of
the DS, but would like to know more about which problems you see in
the current implementation.

Thanks,

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


Re: storing Activity parameters

2008-03-03 Thread Tomeu Vizoso
On Sun, Mar 2, 2008 at 1:51 PM, Gary C Martin [EMAIL PROTECTED] wrote:
 I'm having some indecision about my own (very simple) activity state
  saving. Just had a though that may add another possibility to this
  thread. What if both journal and file-system were used to store the
  activity state, with the journal settings overriding the file-system
  settings. This way a new activity start-up could inherit the last used
  activity settings, and a specific journal start-up would inherit the
  settings used for that specific entry. So in the case of Speak I could
  have separate favourite journal entries for '3 eyed alien' and another
  for 'Mr square eyes', then if I also just started the activity from
  fresh I'd pick-up whatever the last used setting were (picked up from
  the FS).

I like this idea a lot. Thanks for sharing.

[...]

  On 2 Mar 2008, at 01:29, Joshua Minor wrote:

   I implemented the save/load feature of Speak without fully
   understanding the other options.  Now that I've seen the recent
   discussion about data vs instance vs the journal I think it would make
   more sense to have Speak save its state in a different way.
  
   On the other hand, the new frame redesign makes it much easier to
   resume an Activity, which would mean that parameters saved to the
   Journal, like Speak does now, would naturally be restored when you
   resume the Activity.
  
   A nice best practices document would be very handy.

Yeah, storing some settings both in the fs and in the datastore would
be suggested by these best practices document.

Any activity author would like to start it? I'm sure many interesting
discussions will come from this effort.

Thanks,

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


Re: Need Help

2008-03-04 Thread Tomeu Vizoso
On Tue, Mar 4, 2008 at 6:54 AM, Benjamin M. Schwartz
[EMAIL PROTECTED] wrote:
  Waqas Toor wrote:
  | Hello All,
  |
  | I am having a problem and unable to find any solution regarding that,
  | I have written an activity in using GTK and glade, and have sugarized
  | it according to the hello world tutorial in wiki. but still i dont
  | know what is going on as the icon of the activity stays in the ring
  | and then disappears after some time, i have rechecked my code again
  | and again and cant find any thing that is of Coding error
  |
  |
  | can anybody please see the log i am attaching and tell me is rainbow
  | stoping it ??

  You appear to have discovered a bug in Rainbow, which is dying with an
  assertion failure.  Until Rainbow is fixed, you should do as Walter
  suggested and disable Rainbow.

Ben is right. I think the problem is that your activity dir is world
writable, you could try changing that and continue testing your
activity inside Rainbow. Compare the permissions of your activity dir
and contents with other activities.

Can you enter a ticket about this? I don't know if Rainbow should
abort the launch in these cases, but certainly should give a more
helpful message.

Thanks,

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


Re: Why is Terminal 'extra' ?

2008-03-06 Thread Tomeu Vizoso
On Thu, Mar 6, 2008 at 7:39 PM, C. Scott Ananian [EMAIL PROTECTED] wrote:
 On Thu, Mar 6, 2008 at 11:37 AM, Mikus Grinbergs [EMAIL PROTECTED] wrote:
   Was not aware of the implications of the official builds from now
on will contain only _base_ Activities (discussed in Ticket #6598),
until I saw a recent post to the Sugar list.
  
I happen to be a heavy CLI user.  It appears the target countries
for OLPC deployment have not insisted on CLI - hence Terminal is
being omitted from the _base_ software distribution.  I'm presuming
not all users in the field will have a connection whereby to
download 'extra' Activities omitted from the _base_.  That leaves
the text console as the approved OLPC CLI interface.

  Terminal, Log Viewer, and Analyze are not included in the core build,
  but they *are* included in the core *library*.  That is, you can
  always install them, even though they may not show up by default in
  the toolbar.

  Now, there are people who feel strongly that Terminal should appear in
  the default toolbar.  I don't have a strong personal opinion pro or
  con on this.  But it *must* be (and is) *available* (even if not
  'installed by default) because it is essential for OLPC to diagnose
  and fix problems in the field -- although it is probably not useful
  (and possibly even confusing) to many naive users.

It is scheduled for update.2 some changes to the home view and the
frame such that activities won't be launched from the frame. See more
in the link below:

http://wiki.laptop.org/go/Designs/Activity_Management

With these changes, I wonder if all the activities that are shipped in
the library should be installed instead (but not marked as favorites).

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


Re: Opening Browse programatically

2008-03-09 Thread Tomeu Vizoso
On Sun, Mar 9, 2008 at 10:41 AM, Joshua Minor [EMAIL PROTECTED] wrote:
 I want to make a button in my activity that opens a particular URL
  with Browse.

  I found some code like this:
  activityfactory.create_with_uri('org.laptop.WebActivity', url)
  but that doesn't seem to work properly.  It tries to open Browse, but
  throws an exception when trying to create a log file.  Oddly, this
  does work if I run my activity via sugar-launch, but not from the frame.

  Is there another way to do this?

As Marco said, we cannot do this currently. But perhaps you could
explain what you are trying to do and perhaps someone could think of
some alternative?

Thanks,

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


Re: Accessing PenTablet coordinates from PyGTK

2008-03-10 Thread Tomeu Vizoso
On Sun, Mar 9, 2008 at 8:18 PM, Patrick Dubroy [EMAIL PROTECTED] wrote:
 On Fri, Feb 29, 2008 at 1:38 PM, Tomeu Vizoso [EMAIL PROTECTED] wrote:
  
   On Fri, Feb 29, 2008 at 6:08 PM, Patrick Dubroy [EMAIL PROTECTED] wrote:

 Apparently there used to be a method gdk.Window.input_get_pointer that
  would allow you to query the location of the pointer for XInput
  devices. However, this method appears to be gone in the current
  version of GTK. Has it moved somewhere?
  
I see it here in line 608:
  
http://svn.gnome.org/viewvc/pygtk/trunk/gtk/gtk-types.c

  You're right, I see it there. But:

   python -c 'import gtk; print hasattr(gtk.gdk.Window, input_get_pointer)'

  returns False. And

   strings /usr/lib/python2.5/site-packages/gtk-2.0/gtk/_gtk.so | grep
  input_get_pointer

  doesn't find it either.

Looks like that code got #ifdef'ed out 6 years ago :/

http://svn.gnome.org/viewvc/pygtk/trunk/gtk/gtk-types.c?revision=573view=markup

I would ask in the pygtk mailing list and then probably open a ticket for pygtk.

In the meantime, perhaps your best bet is to use ctypes to call Xlib directly.

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


Re: drawing, structured graphics

2008-03-10 Thread Tomeu Vizoso
On Mon, Mar 10, 2008 at 3:09 PM, Victor Lazzarini
[EMAIL PROTECTED] wrote:
 Hi all,

  what would be the best bet for going about implementing
  structured graphics a-la Tkinter's canvas class in XO
  activities? Would it be PyCairo? or PyGTK (gtk/gdk)?

Pycairo looks best to me. There's not much info specific to pycairo,
but between the C docs and the examples in the pycairo tarball you
could get an idea of how things work.

  also could anyone point to a PyGTK custom widget
  tutorial somewhere? I had a look at one in
  http://www.learningpython.com/2006/07/25/writing-a-custom-widget-using-pygtk/

  but the code wouldn't work. Are there others?

Why is the code not working? Perhaps we could discuss it here so other
interested people can participate, and perhaps someone will add a
howto to the wiki?

Here you can find other related articles:

http://www.pygtk.org/articles.html

Good luck,

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


Re: Missing Dependency: xorg-x11-proto-devel = 7.2-12

2008-03-12 Thread Tomeu Vizoso
On Wed, Mar 12, 2008 at 3:23 PM, Teus Benschop [EMAIL PROTECTED] wrote:
 See ticket http://dev.laptop.org/ticket/6650

  When doing a yum install gtk2-devel, it errors on Missing Dependency:
  xorg-x11-proto-devel = 7.2-12.

  Any help would be appreciated to resolve this.

  Could I point yum to another repository, and if so, which one?

  I wonder how people compile their gtk2-based packages if such a
  dependency is missing.

  Googling on the error only give the above ticket, nothing else.

Hi, I don't build anything on the XO, but I think you can tell yum to
ignore that error and things will work.

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


Re: Sugar jhbuild bug

2008-03-12 Thread Tomeu Vizoso
On Wed, Mar 12, 2008 at 2:56 PM, James Simmons
[EMAIL PROTECTED] wrote:
 I'm trying to set up sugar-jhbuild on my OpenSuse 10.2 computer.  When I
  was satisfying all the dependencies reported by the build option I
  noticed one that seemed very odd.  It wanted automake 1.7.  Open Suse
  installs automake 1.9, and I would have thought anything 1.7 or greater
  would work.  I satisfied all the other dependencies first, hoping this
  would go away, but it stayed to the end and build would not budge
  until I fixed it.  I downloaded automake 1.7.9 source and installed it
  in /usr/local/bin, and that seemed to be enough to get sugar-jhbuild
  working again.  Then I got this message:

  configure.ac:8: require Automake 1.9, but have 1.7.9
  autoreconf: automake failed with exit status: 1

  That's a Catch-22 if I ever saw one.  I let the build keep running,
  skipping over the modules that won't compile.  It's pretty obvious that
  I won't have anything workable afterwards, though.  I would guess there
  are a lot of sugar-jhbuild users on this list, and I'd appreciate any
  suggestions.  I can easily uninstall automake 1.7.9, the question is
  what to do after that.

Hi, just in case it helps somehow in OpenSuse, here in ubuntu gutsy I
installed automake 1.7.9 and 1.9 from the standard repos and things
work fine.

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


Re: Sugar jhbuild bug

2008-03-12 Thread Tomeu Vizoso
On Wed, Mar 12, 2008 at 5:17 PM, James Simmons
[EMAIL PROTECTED] wrote:

  Tomeu,

  The Suse repositories don't have RPMs for automake other than 1.9.
 However, you have given me an idea to try.  I noticed that automake's
 executeable has a version number in it, and it is symlinked to automake.
 Maybe if I unlink automake in /usr/local/bin but leave everything else
 alone I can get the build to work.  If it works I'll update the wiki page
 for Suse.  I wasn't expecting to need two different versions of automake
 installed to do the build though.  I've compiled a lot of source for Linux
 but I never ran into anything like this.

In the hope it helps:

[EMAIL PROTECTED]:~/sugar-jhbuild/source/sugar-tomeu$ ls -l /usr/bin/automake*
lrwxrwxrwx 1 root root 26 2007-05-17 21:18 /usr/bin/automake -
/etc/alternatives/automake
-rwxr-xr-x 1 root root 270996 2006-06-26 13:01 /usr/bin/automake-1.7
-rwxr-xr-x 1 root root 221996 2006-12-06 16:55 /usr/bin/automake-1.9
[EMAIL PROTECTED]:~/sugar-jhbuild/source/sugar-tomeu$ ls -l
/etc/alternatives/automake
lrwxrwxrwx 1 root root 21 2007-05-17 21:18 /etc/alternatives/automake
- /usr/bin/automake-1.9

  I have another machine running xubuntu, which I believe is based on gutsy
 and has RPMs for Sugar.  That has worked very well for me, but sharing with
 the Read activity is broken and since my app is a variant of Read and needs
 to do sharing I need a better test environment.  I was hoping to get my
 openSuse box to be that environment, the build sugar-jhbuild on xubuntu
 after removing the sugar RPMs.

You may want to run several instances of the sugar emulator in the same machine:

http://wiki.laptop.org/go/Sugar_with_sugar-jhbuild#Running_multiple_instances

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


Re: Update.1 activities download script

2008-03-17 Thread Tomeu Vizoso
On Mon, Mar 17, 2008 at 4:53 PM, Bert Freudenberg [EMAIL PROTECTED] wrote:
 On Mar 17, 2008, at 14:48 , Chris Hager wrote:

   Bert Freudenberg wrote:
   ...
  
   To save download time, do something like this first:
  
   cp -a /usr/share/activities/*.activity /home/olpc/Activities
  
   Maybe only make symlinks?
  
   ln -s /usr/share/activities/*.activity /home/olpc/Activities/

  Err, the point of my script is to download activities that are deleted
  from /usr/share/activities once you upgrade to update.1-699 or later.
  There are no more pre-installed activities (except for the Journal).


   And finally, there is a trick in the script so it connects to the
   current Sugar session even if run from the console or via ssh - may
   be  useful to somebody:
  
   if not 'SUGAR_PREFIX' in os.environ:
 Connect to running Sugar session
 cp = ConfigParser()
 cp.read(env.get_profile_path('session.info'))
 os.environ['DBUS_SESSION_BUS_ADDRESS'] = cp.get('Session',
   'dbus_address')
 dbus.set_default_main_loop(dbus.mainloop.NULL_MAIN_LOOP)
  
   Thanks a lot, this is really useful for me already! Maybe also put
   it somewhere in the wiki... [[Programming Tricks]] :)


  I actually have no idea how evil that snippet really is ;) Wold be
  nice if some Sugar/DBus expert could comment.

Don't really know why that file is there, but from this comment from
the code that creates it, it's not something you can rely in the long
term:

http://dev.laptop.org/git?p=sugar;a=blob;f=src/main.py;h=e78570769e8138c827e04c1a6af820c6ce712955;hb=HEAD#l53

Perhaps in the xo you could rely on this hardcoded value?

os.environ['DBUS_SESSION_BUS_ADDRESS'] = 'unix:path=/tmp/olpc-session-bus'

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


Re: Interested in the Google Summer of Code

2008-03-19 Thread Tomeu Vizoso
Hi,

if you are interested in hacking Sugar, please check the roadmap in
the mail below and find something you would have fun working on:

http://lists.laptop.org/pipermail/sugar/2008-March/004546.html

I would recommend people interested in participating in the google
summer code to send an email to the sugar mailing list presenting
themselves and, most importantly, stating the mini-projects they would
like to work on.

Chances are high that, if the area to work on is in the roadmap, one
core developer will offer his mentorship. Unfortunately, in this
precise moment developer's time is very scarce and there's not much
time for medium-term goals.

But of course, everybody is free to work on whatever they want and I
personally will try to answer as many questions as possible.

Tomeu

2008/3/19 Blaine Booher [EMAIL PROTECTED]:
 I just signed up to the developer's list a few days ago (After seeing an XO
 live for the first time at SigCSE 2008 in Portland) and would love to work
 on the OLPC as a Google Code project.  I look forward to seeing more
 information on this.

 In the mean time I'm going to continue figuring out how to get Sugar up and
 running and get my feet wet with the development platform.

 Thanks!
 Blaine

 2008/3/18 Bobby Powers [EMAIL PROTECTED]:

 
 
 
  Hi, I'm a master's student at the University of Bergen and I'm interested
 in bringing System Dynamics to the XO.  Before I start, if there is a better
 mailing list for this just let me know (I briefly looked through the other
 ones liked from the Wiki, and this seemed the most appropriate).
 
 
  System Dynamics (SD) [1][2] aims to help people understand the world by
 explicitly modeling how pieces of it work and then performing experiments in
 these models.  It is used around the world, frequently in majority world
 countries, in development planning [3], for example.  More formally, its a
 methodology for examining and describing the behavior of complex systems
 with an emphasis on the effects that feedback loops and time delays have.
 At a basic level you have to specify the mathematical equations for the
 different parts of your system.   The same problems can be solved by writing
 code in a programming language (I had a course taught in Fortran a year
 ago...), but usually in SD the modeling is done using a visual editor where
 you can show causal relationships, stocks and flows graphically.  I
 personally think the biggest short-fallings of the discipline are the
 barriers to entry: the current software is far from intuitive and all the
 major commercial offerings (there are no FLOSS products) [4][5][6] are very
 expensive (educational licenses alone are frequently  $500 USD).
 
 
  Will Wright studied SD and used ideas from it when designing SimCity [7].
 So I have several things I would like to work on:  first is a core simulator
 that can transform equations into code (I'm currently working on this for my
 master's thesis, but don't have and funding. eesh): I'm using the JIT
 library from the LLVM project to be able to do this.  Second I want to
 create a Sugar modeling interface that makes it easy and fun to create
 models and explore their results (collaboratively, I hope!), and third I
 want to hook this into Metropolis.  I think it would just be so cool if you
 could click an icon in Metropolis and have the visual model that controls
 the Metropolis world pop up (in the aforementioned editor) and be able not
 only to fiddle with parameters, but change the structure!  If all of this
 goes smoothly and there is more time, I would love to add the ability for
 models to interact with and manipulate geospatial data.
 
 
 
 
  I guess I am looking for people's reaction, is this something people like?
 I'm certainly willing to adapt myself to the collective needs and I wanted
 to get a discussion started before the application deadline.  Oh I guess a
 little more background on me:  I attended RPI in NY, USA for 2 years
 studying computer engineering, but transferred because I wanted to do
 something more applied.  I studied environmental studies (at SUNY ESF) for a
 couple years, and got back into coding through classes on ecological
 modeling and GIS.  I've been pretty heavily coding models, algorithms and
 interfaces for the past 2 years, mainly in C#, ObjC and some Fortran, but
 the past 3 months I've been using C++ for 8 hours a day and Python here and
 there.  I've got a Mac with Linux (both FC8 and openSUSE10.3) and Windows,
 and I've just started over the past few weeks to pick up GTK, although I've
 used Cairo in a project for a couple months.  I've only dabbled with the XO,
 but am really looking forward to developing bundles for it.
 
 
 
 
  I'm eager to hear what you think!
  yours,
  Bobby Powers
 
 
 
 
  [1] http://en.wikipedia.org/wiki/System_dynamics
  [2] http://www.systemdynamics.org/
  [3] http://www.millenniuminstitute.net/
  [4] http://www.vensim.com/
  [5] http://www.powersim.com/
  [6] 

Re: Detecting MIME type of a shared file

2008-03-19 Thread Tomeu Vizoso
On Wed, Mar 19, 2008 at 9:43 PM, Michael Stone [EMAIL PROTECTED] wrote:
 On Tue, Mar 18, 2008 at 09:18:05AM -0500, James Simmons wrote:
   how can I tell what kind of file I am receiving when
   someone shares a file with me?

  You might examine python's mimetypes module or the 'file' command.

I think you can also add that mime type to the tube's metadata and
read it from the receiving side?

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


Re: Detecting MIME type of a shared file

2008-03-19 Thread Tomeu Vizoso
On Wed, Mar 19, 2008 at 11:08 PM, James Simmons
[EMAIL PROTECTED] wrote:

  Tomeu and Michael,

  It turns out Python has a method you can pass a filename to and it will
 identify if the file is a Zip file or not, based on the magic number, not
 the filename.  It seems to do the trick.

As a rule of thumb, I would first try to get a mime-type I can trust,
and only if I cannot (I get for example application/octet-stream), I
would try to sniff the type.

But in your case you may be right by just sniffing it.

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


Re: [sugar] OLPC Usability Testing Class Project

2008-03-20 Thread Tomeu Vizoso
Hi,

On Thu, Mar 13, 2008 at 11:24 PM, Frederick Grose [EMAIL PROTECTED] wrote:
 This note is a request for the broader community to consider potential topic
 areas that might be prime for some usability testing.

 (Here is a quick review of usability testing,
 http://en.wikipedia.org/wiki/Usability_testing.)

 Professor Keith Karn in the Information Technology Department,
 http://it.rit.edu/it/, of the Rochester Institute of Technology (RIT) in
 Rochester, NY will have 4-5 graduate students (from his class of 20)
 propose, and over the next 10 weeks, execute a usability testing
 consultation around the XO or OLPC project.  The class met for the first
 time on Wednesday 12 March 2008, and will meet, as a whole, every Wednesday
 6-9:50 pm EDT through 21 May 2008.  This OLPC project team will be asked to
 review the wiki.laptop.org and then contact me as client representative.
 Because of the academic schedule, we need to review and select a testing
 topic area in the next 7 days and have a final testing plan prepared by 26
 March 2008.

 What usability issue is currently most timely and significant to the
 project?  Since OLPC is developing a new information and communication
 technologies platform, there are many possibilities for significant target
 users, subsystems, components, and activities.

I suggest starting first with observing general usage of the Sugar
shell and base activities (Browse, Read, Write, Paint and Journal) and
move from there to other activities. At this point, I don't think more
focused testing will be as useful.

 Please think about the project design needs, possibilities, and constraints,
 and suggest topics or issues here or to our wiki page,
 http://wiki.laptop.org/go/OLPC_Rochester%2C_NY#Project_ideas.

 We have a few G1G1 XOs in Rochester that we should be able to use for live
 testing with local children.  Larger scale tests could be performed with
 emulated XOs or hosted Sugar in the RIT Usability Laboratories. The class
 will be expected to go through the human subject reviews as required.

 Because so many cultural variables may be important modifiers of
 understanding user interactions with the OLPC project, perhaps there may be
 some more basic or common psycho-physical aspects of usability we could
 address that would be timely and significant for the project. Or, we might
 be able to recruit user participants from one of the recently settled
 immigrant communities in the Rochester area to delve into the
 internationalization and cultural domains.

Having different groups of children based on age and previous contact
with computers may be more important than cultural differences, in my
opinion.

 Some reviewers of OLPC have been critical of the shortage of reported
 usability testing results, so far, however, if we appreciate the pace and
 resourcing of the development, perhaps this is a chance to address any gaps
 or curiosities that you may have.

We have already had some feedback from the pilot tests, but until now
and because of time and other constraints, hasn't been as systematic
as we need. Having your commented observations about which tasks are
more problematic would already be extremely useful.

 We would welcome your thoughts (particularly on usability issues in the near
 term).

 Thanks to everyone for all their efforts!

I'm afraid now is not a good moment to ask a big involvement from the
Sugar developers, but I'm sure we'll make our best at answering more
concrete questions that you have.

Thanks and good luck,

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


Re: Call for Papers/Talks/Ideas! Update.2 Mini-Conference

2008-03-21 Thread Tomeu Vizoso
Is still the plan for Update.2 to be about the most urgent needs from
the deployments?

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


Re: Call for Papers/Talks/Ideas! Update.2 Mini-Conference

2008-03-21 Thread Tomeu Vizoso
On Fri, Mar 21, 2008 at 6:50 PM, NoiseEHC [EMAIL PROTECTED] wrote:
 Could somebody answer these questions?
  1. What is the status of zlib - lzo transition in jffs2?
  2. What is the status of the new X architecture? (The name is DRM but I
  am not sure.)
  3. What is the status of the shared page python stuff? Will the
  reference count problem will be solved in Python 3.0? Will it be
  released in the foreseeable future?

Can you explain what's that reference count problem or give any pointer?

Thanks,

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


Re: Call for Papers/Talks/Ideas! Update.2 Mini-Conference

2008-03-21 Thread Tomeu Vizoso
Hmm, yesterday I executed free after launching some activities and got
this results:

http://lists.laptop.org/pipermail/sugar/2008-March/004650.html

Am I very wrong to think that we can save 3.6MB per python activity instance?

Tomeu

On Fri, Mar 21, 2008 at 7:21 PM, NoiseEHC [EMAIL PROTECTED] wrote:
 It is the problem that every page will be modified (and so copied) if it
  contains a reference count so the metadata effectively cannot be shared.
  http://lists.laptop.org/pipermail/devel/2007-September/006617.html
  Also mentioned in (point 9.)
  http://lists.laptop.org/pipermail/community-news/2007-February/43.html




  Tomeu Vizoso wrote:
   On Fri, Mar 21, 2008 at 6:50 PM, NoiseEHC [EMAIL PROTECTED] wrote:
  
   Could somebody answer these questions?
1. What is the status of zlib - lzo transition in jffs2?
2. What is the status of the new X architecture? (The name is DRM but I
am not sure.)
3. What is the status of the shared page python stuff? Will the
reference count problem will be solved in Python 3.0? Will it be
released in the foreseeable future?
  
  
   Can you explain what's that reference count problem or give any pointer?
  
   Thanks,
  
   Tomeu
  
  
  

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


Re: Interest in GSOC 2008

2008-03-21 Thread Tomeu Vizoso
2008/3/21 Alex Escalona [EMAIL PROTECTED]:
 Hi,

 I am writing to express interest in the GSoC 2008 mentorship offered by the
 One Laptop Per Child association. I am a first-year graduate student in
 computer science at the Illinois Institute of Technology's MSCS program. My
 disciplinary interests include general topics in the broad field of
 computational-linguistics, social issues in computer science, open-source
 software, and programming in general. I have closely followed the
 development of the OLPC's mission to make laptops available to children
 around the world. In fact, I have blogged on a few opportunities on issues
 related to the OLPC's work (see here and here, for posts on these topics at
 http://randomatom.blogspot.com).

 In particular, I would be interested in helping further development in the
 areas of speech-synthesis/TTS, especially as concerns localization of
 languages and dialects, as well any general language-learning efforts at
 OLPC, including eSpeak (TalknType and Speech Server), among others. I
 completed numerous courses in Linguistics in my undergraduate studies in
 Anthropology and Latin-American studies at the University of Chicago,
 including a full year of introductory courses in semantics, phonetics,
 morphology, syntax, and other general topics in linguistics. I have also
 studied German, Russian, and Romani (a SE European language spoken by the
 Roma people), and am a native-speaker of Spanish, my mother tongue. In
 addition, I am versed in Java, and have programmed in C#, OCaml, C, C++,
 SQL, MySQL. I have used SVN on several projects, including as a
 collaborative version-control system. Moreover, I am currently enrolled in a
 course on programming languages and translators which covers topics in
 scanning, parsing, compiler design, and other topics of interest in
 language-related applications.

 In conclusion, I would welcome the opportunity to speak more about my
 interests in these areas, as well as to hear more about the OLPC's efforts
 in general linguistic and socio-cultural applications.

Hi, please consider joining us at the next sugar meeting that will
have a special focus on TTS:
http://lists.laptop.org/pipermail/sugar/2008-March/004624.html

Would be good if you could add to the topics in the wiki page mentioned there.

Thanks,

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


Re: JS-Python Communication using PyXPCom

2008-03-23 Thread Tomeu Vizoso
Hi,

thought I already had suggested this a long time ago, but anyway:

- Create a XPCOM service in JS that exposes the spreadsheet
functionality implemented in JS.

- Create another XPCOM service in python that exposes the needed Sugar
functionality.

Shouldn't this allow you to integrate SocialCalc in any way you wish?
Creating these two components shouldn't be too hard. Please feel free
to ask in this mailing list any doubts you have.

Example of JS service:
http://dev.laptop.org/git?p=sugar;a=tree;f=browser/components/sessionstore;h=8f894b116ad745b0f7bc7c89e4787c89e60a9eb2;hb=309ddec8b769af42f577229bc5e3278c0328f1c4

Good luck,

Tomeu

2008/3/22 Manusheel Gupta [EMAIL PROTECTED]:
 FYI

 Regards,
 Manu


 Manusheel Gupta
 Technical Consultant and Adviser
 One Laptop Per Child Inc.
 http://laptop.org



 -- Forwarded message --
 From: Luke Closs [EMAIL PROTECTED]
 Date: Fri, Mar 21, 2008 at 1:27 AM
  Subject: Re: hello
 To: Joshua McKenty [EMAIL PROTECTED], [EMAIL PROTECTED]


 On Thu, Mar 20, 2008 at 10:27 AM, Joshua McKenty [EMAIL PROTECTED] wrote:


  Luke,
 
 
  Good to hear from you. (I thought it was OLPC laptop, though).
 
 
  What questions have you got?
 
 
  Joshua

 Hey Joshua,

 I've cc'd Manu Gupta, who is collaborating with me on this OLPC spreadsheet
 activity.

 (OLPC is the non-profit organization, XO is the laptop)

  So I'm kinda at a standstill on this project b/c I'm not sure how to
 proceed technically - so I'm hoping you can help here, based on the
 discussion we had at Northern Voice.

 As I mentioned in person, I've got events going back and forth between
 python and javascript via pyXPCom.  This should work okay for most of the
 interactions I need to do, except one.  (I'm not tied to the EventObserver,
 but it seems to get the job done - I'd consider using another mechanism
 too).  The one thing where events will not work is when we need to save the
 spreadsheet.  For instance, the user may quit the program, in which case my
 python method write_file() will be called, and I need to (synchronously)
 tell javascript to calculate the string that should be saved and give it
 back, so I can write it to disk.  I don't think an event passing model
 (asynch) would work in this case.

 I've looked into how Javascript could define a XPCom interface, that the
 python code could call, but this seems to require additional steps for
 compiling that interface, and I'm not sure how I would end up packaging
 those into the sugar app.

 So basically, I need your help to figure out how my python code can make a
 synchronous method call to javascript to calculate and return stuff.

 Thoughts?

 Cheers,
 Luke


 ___
  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: Mini-Conference Proposal: desktop applications

2008-03-23 Thread Tomeu Vizoso
On Sat, Mar 22, 2008 at 1:02 PM, Marco Pesenti Gritti
[EMAIL PROTECTED] wrote:
 Sugar breaks with the standard desktop metaphor by design and doing so
  it introduces incompatibilities at several levels. The barrier between
  activities and standard applications proved to be a critical problem
  in practice. Fortunately most of the current code base is using GNOME
  and freedesktop libraries, formats and semantics. I'd like to present
  an analysys of the points of incompatibility. Discuss how to integrate
  desktop applications, beginning from the user experience requirements.
  Propose solutions and trade-offs to reconcile the incompatibilities in
  the window management and activity launching area.

Things that we do differently and that clash with traditional apps:

- Activities not applications: Traditional applications are more like
tools that can be used to perform several different tasks. A central
point of the Sugar UI is that activities are individual tasks instead
that the user performs with the laptop and that can be stopped,
resumed and shared at any point.

- Sugar shell integration: the sugar shell performs some
functionalities that traditionally were implemented inside each
application. There needs to be some communication between the activity
and shell processes in order to do so.

- Security: activities run in their own space, isolated from the rest
of the software. The security framework tries to give activities all
the capabilities that may be needed, but not the ability to cause harm
to the system or violate the privacy of the kid.

- Small screen: the screen is small so it was decided that activities
would have just one window always maximized. This also matches the
goal of activities like single-tasks.

- Modifiability: source code is interpreted, so the kid can study the
code, modify it, and see the results without more fuss.

Hope that clarifies things a bit,

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


Re: 1789 - sugar does not boot (1788 and 1790 either)

2008-03-23 Thread Tomeu Vizoso
On Sat, Mar 22, 2008 at 7:37 PM, Mark Bauer [EMAIL PROTECTED] wrote:
 I also have had issues with builds 1788 and 1790.  These would also
  not boot.
  I resorted back to 1784 to get it to boot.  With 1788 it looked like
  it was locked up,
  but the power button still puts it in suspend and brings it out
  again.  Ctl alt F1 to
  get to another screen did nothing until pressing suspend again a few
  times.  It is
  like the keyboard isn't generating interrupts, The keystrokes are
  remembered and
  processed eventually by pressing power button several times.  Waited
  until today
  and upgraded to 1790 and it didn't boot either.  Anything else I can
  test to help???

  Thanks,


  Mark



  On Mar 22, 2008, at 12:03 PM, Dennis Gilmore wrote:
   On Saturday 22 March 2008 11:52:47 am Michael Stone wrote:
   Examining
  
 http://dev.laptop.org/~rwh/announcer/joyride-pkgs.html
  
   I suspect kbd-1.12-22 - 1.12-23 since we know that 1.12-23
   (accidentally) contains an html file describing a spanish keyboard
   map
   instead of the map itself.
   does 1788 work for you?  im wondering if libnl 1.1-1.fc7  is to blame.

Yes, the libnl update seems to have broken things.

-bash-3.2# NetworkManager --no-daemon
NetworkManager: info  starting...
NetworkManager: symbol lookup error: NetworkManager: undefined symbol:
nl_handle_alloc_nondefault

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


Re: Mini-Conference Proposal: olpcfs

2008-03-23 Thread Tomeu Vizoso
Hi,

On Fri, Mar 21, 2008 at 5:53 PM, C. Scott Ananian [EMAIL PROTECTED] wrote:
 One major frustration with the existing datastore implementation is
  that is unfriendly to legacy applications: you can't easily use the
  command-line to browse through it, and you can't save a file from an
  unmodified linux application into the journal.  I propose a filesystem
  design, called olpcfs for now, to address this deficiency, and provide
  versioning and synchronization mechanisms needed for the
  next-generation journal.  It plays nicely with the upgrade mechanisms
  and Bitfrost, too!

  More information: (draft) http://wiki.laptop.org/go/Olpcfs

thank you very much for devoting time to this. Some questions for now:

- Do you think that the POSIX API is very much tied to the underlying
implementation or should be discussed separately?

- This POSIX API would be the main way to access the data? Or just one
more way? If so, have you already thought about the main API? Anything
better than D-Bus?

In general, I would like to know first more details about your
motivations for redesigning the DS. Mine are the following:

- add versioned entries and delta-based storage,

- get a saner way of passing files from activity side to the DS-managed side,

- make it more maintainable, perhaps add one lawyer of abstraction so
we can switch later to a different full text engine, metadata storage,
etc,

- increase scalability and raw performance.

Thanks,

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


Mini-Conference Proposal: sugar performance

2008-03-23 Thread Tomeu Vizoso
What I see we can do in the short/medium term:

- Launch python activities in a preinitialized python interpreter, may
save memory too.

- Move datastore and sharing initialization later after the UI has
been launched, the user won't be able to start working sooner, but
will be given a better idea of the launching process (will feel
faster).

- Use composition, so we save some redraws that currently make the UI
to feel sluggish. Also will allow to take previews of hidden windows
and that will improve considerably the switching from one activity to
another. Will take some more memory.

- Datastore: is currently indexing much more information than the
really needed, this slows indexing, searching and retrieving. Also,
the metadata is stored in a pickled dictionary inside a b-tree. Having
to unpickle the whole dictionary for retrieving just a couple of
properties is surprisingly costly.

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


Re: Mini-Conference Proposal: sugar performance

2008-03-23 Thread Tomeu Vizoso
On Sun, Mar 23, 2008 at 7:01 PM, Gary C Martin [EMAIL PROTECTED] wrote:
  On 23 Mar 2008, at 17:13, Tomeu Vizoso wrote:
   - Move datastore and sharing initialization later after the UI has
   been launched, the user won't be able to start working sooner, but
   will be given a better idea of the launching process (will feel
   faster).

  I think we spoke a little about this a few weeks back. What happens if
  the UI needs access to datastore, metadata, or sharing details to
  actually present it's UI for the task at hand? For example, launching
  Speak activity from the Journal requires the face to be drawn with
  preference data from the datastore (number of eyes, eye shape, mouth
  shape, spoken language).

  Currently most UI layout is just done in the activities main __init__
  and this is already a limitation if the activity needs datastore
  information before drawing the UI. If the activity is started from
  Journal, then a read_file() method can catch the data availability and
  draw the required UI. If the activity is started from fresh then there
  is  nothing other than the __init__ call. With Moon activity, I've had
  to put in an (arbitrary 50ms) event timer in my __init__ so I do not
  draw the UI right away. Then, if read_file() is triggered, I remove
  the event timer and draw the UI for the data that just became
  available. If read_file() is not called, or not called within my event
  timer delay, then the timer eventually fires and triggers a default UI
  draw. Not an idea solution.

  It would be useful to have 3 methods called during activity set-up:

 __init__ # set-up what you can

  then either:

  read_file() # for when there is journal data

  xor:

 clean_start() # for when there is no journal data

Well, what I expected from activities is something like what happens
in Read and Write. Both use a quite complex widget as their meat:
Abiword's abiwidget and Evince's view.

Both these widgets can be inserted in the hierarchy and will be drawn
empty. If you set a PDF or ODT document, that document will be
displayed.

Basically, we can summarize this issue as moving things to be async.
If everything is synchronous, the result of the user actions will last
longer to appear on the screen, and the users thinks that nothing is
happening and that something wrong happened.

The idea is that, instead of waiting 5 seconds for the full UI to
appear, the activity window would appear after, say, 3 seconds, half a
second later the document will get loaded, and half a second later the
user will be able to share the activity or invite somebody.

Can your activities do something about this?

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


Re: JS-Python Communication using PyXPCom

2008-03-23 Thread Tomeu Vizoso
On Sun, Mar 23, 2008 at 7:06 PM, Luke Closs [EMAIL PROTECTED] wrote:
 On 23-Mar-08, at 3:03 AM, Tomeu Vizoso wrote:
   thought I already had suggested this a long time ago, but anyway:
  
   - Create a XPCOM service in JS that exposes the spreadsheet
   functionality implemented in JS.
  
   - Create another XPCOM service in python that exposes the needed Sugar
   functionality.
  
   Shouldn't this allow you to integrate SocialCalc in any way you wish?
   Creating these two components shouldn't be too hard. Please feel free
   to ask in this mailing list any doubts you have.
  
   Example of JS service:
   
 http://dev.laptop.org/git?p=sugar;a=tree;f=browser/components/sessionstore;h=8f894b116ad745b0f7bc7c89e4787c89e60a9eb2;hb=309ddec8b769af42f577229bc5e3278c0328f1c4

  Thank you very much for this link, it's exactly the kind of example I
  was looking for.  I may have a followup question or two.

Forgot to mention that perhaps we'll need to add to hulahop a function
for setting the dir from which the components need to be loaded
(probably a subdirectory inside the activity bundle). Should be quite
easy.

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


Re: New faster build 1794

2008-03-24 Thread Tomeu Vizoso
Hi, looks like updates.l.o ran out of disk again.

Tomeu

On Mon, Mar 24, 2008 at 3:04 AM, Gary Oberbrunner [EMAIL PROTECTED] wrote:
 Michael Stone wrote:
   The updates server pulls down builds lazily on request. In other words,
   rsync'ing against it only tells you what builds it has _cached_, not
   what builds it can provide.

  ok, makes sense.  Is there anywhere I can go to see what builds are
  actually available?  I tried today to get faster-1795, joyride-1795 and
  a few others I don't remember anymore; the only the one I could get was
  the one already cached (1788 I guess).  Just tried again to get
  faster-1795 and after about 60 sec it times out and says no such build
  exists. -v -v -v doesn't give any more info.  Is it just me?  My XO's
  connection is pretty weak most of the time, but not *that* weak.  I can
  ping updates.laptop.org with no packet loss.


   Still, please let us know when you're unable to update to builds with
   olpc-update, and file bugs if necessary.

  It just said it didn't think such a build existed.



  --
  Gary Oberbrunner
  ___
  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


Mini-Conference Proposal: hand-key scrolling

2008-03-24 Thread Tomeu Vizoso
Hi,

our UI was designed taking in account that we would have this feature,
but we haven't until now and it's not clear when we'll get it nor
which amount of modification will be needed to activities that wish to
use it.

I think we should discuss the alternatives we have here, including
forgetting about it and redesigning the UI to take in account the lack
of scroll key support.

http://dev.laptop.org/ticket/447

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


Re: Mini-Conference Proposal: sugar performance

2008-03-24 Thread Tomeu Vizoso
On Sun, Mar 23, 2008 at 9:01 PM, Gary C Martin [EMAIL PROTECTED] wrote:
 On 23 Mar 2008, at 18:32, Tomeu Vizoso wrote:

   The idea is that, instead of waiting 5 seconds for the full UI to
   appear, the activity window would appear after, say, 3 seconds, half a
   second later the document will get loaded, and half a second later the
   user will be able to share the activity or invite somebody.
  
   Can your activities do something about this?

  I have just one activity at the moment, Moon, the difficulty I'd face
  is that I really don't want multiple redraws at start-up for what
  you're calling the document area, it's quite cpu expensive in my case
  (at least a second or so per refresh). And I have a planned activity
  where it may be even worse (a lon/lat tag sharable 3D Earth view).

  Currently there is no way an activity can know (in its __init__) if
  read_file() is going to be called

handle.object_id is not enough? If no value is in there, the activity
was started anew. If there's a value, that's the object id of the
journal entry that the activity should be resuming.

  so with your proposed changes, yes
  I can (and do) set-up the default tool bar, a black screen and my text
  panel early, but I'd then need to have my __init__ set-up a timer to
  arbitrarily ~0.5 or more sec, just incase a read_file() call arrives.
  So every fresh launch will twiddle it's fingers for an extra
  unnecessary ~0.5 sec, and if after a Journal launch and the ~0.5 sec
  was not long enough, the user will get a nasty double redraw of the
  main cpu expensive widget refresh, slowing things down even more (and
  looking bad as well).

  Letting the activity know data is, or isn't, expected from the Journal
  is the missing feature here. Always having a read_file() xor a
  clean_start() call would resolve this. Other options could be to just
  always call read_file() data or no data and let the activity deal with
  perhaps a file_name = None, but that will likely break some existing
  activities.

  Regards,
  Gary

  P.S. clean_start() is just a stand-in name, sure you'd have a better
  name for it, maybe no_file()? On OS X under Cocoa we have the usual
  init method to get the base things going, and then later an
  awakeFromNib method is called so that an application knows its
  resource files have been dealt with by the runtime – that's when we
  can start parsing preference settings etc and tweaking the UI to
  match. There's even then a final applicationDidFinishLaunching method
  you override to kick things off once the set-up is all over.

This Mikus' post explains much better what I was trying to:

http://lists.laptop.org/pipermail/devel/2008-March/012094.html

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


Re: Mini-Conference Proposal: olpcfs

2008-03-25 Thread Tomeu Vizoso
On Mon, Mar 24, 2008 at 5:35 PM, C. Scott Ananian [EMAIL PROTECTED] wrote:
 On Sun, Mar 23, 2008 at 12:20 PM, Tomeu Vizoso [EMAIL PROTECTED] wrote:
- Do you think that the POSIX API is very much tied to the underlying
implementation or should be discussed separately?

  I have at least three different implementation ideas.  I plan to use
  FUSE for the crappy first draft implementation; it may turn out that
  the crappy first draft is actually good enough for real use, but there
  are certainly lots of other alernatives, both for flash and for
  disk-based filesystems.  Martin seems to be arguing for using git
  under the covers; that's a fine implementation.


- This POSIX API would be the main way to access the data? Or just one
more way? If so, have you already thought about the main API? Anything
better than D-Bus?

  The POSIX API should be the main way to access the data.  Complex
  compound queries may be more efficient if they use a special-purpose
  API, and there might be special hooks for the garbage-collector and
  maybe import/export tools, but fundamentally data store objects should
  be just files.


In general, I would like to know first more details about your
motivations for redesigning the DS.

  I outlined these at the top of the olpcfs wiki page.

Sure, I was asking you to extend your self a bit on that.

   Mine are the following:
- add versioned entries and delta-based storage,

  Delta-based storage is an implementation detail, certainly possible (I
  provided cites in the olpcfs page for how it would be done).  I don't
  think it should be a visible part of the API.

Of course it is an implementation detail, but one that is a major
roadblock in the effort to implement the specified design.

  Versioning is definitely a motivation; the Journal might add extra
  versioning metadata to account for non-local versions; I'll try to
  find time to write that up more explicitly.

Thanks.

- get a saner way of passing files from activity side to the DS-managed 
 side,

  My answer here: they are just files.  All existing applications can
  open files, given a path.

I was talking here about the other way, checking in files into the DS:
during a Write session, what needs to do the activity in order to get
a new version every time after the user clicks on the Keep button?
Just close the file and open it again?

In most cases, every time an activity saves the current state several
files plus their metadata will be updated, can that happen atomically?

- make it more maintainable, perhaps add one lawyer of abstraction so
we can switch later to a different full text engine, metadata storage,
etc,

  The proposed olpcfs is exactly the layer of abstraction.  Lots of
  different implementations under the hood of the proposed API are
  possible.


- increase scalability and raw performance.

  Not sure exactly what you mean here, but these seem to be
  implementation issues, not API issues.  Unless you think that some of
  the proposed APIs are impossible to implement efficiently?  Our
  existing Sugar activities don't heavily exercise the filesystem, so I
  think that raw performance is not an important metric for our first
  implementations.  I'm much more concerned with the transparency and
  interoperability of the API.

I was just stating my motivations for wanting to replace the existing
DS, nothing directly related to olpcfs.

We do have performance problems with the current DS, even with
relatively few entries.

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


Re: Tkinter in olpc

2008-03-28 Thread Tomeu Vizoso
On Thu, Mar 27, 2008 at 11:09 PM, Aaron Konstam [EMAIL PROTECTED] wrote:
 Does anyone have and opinion on whether python's Tkinter facility could
  be added to python on the XO by simply copying the contents of lib-tk
  from an f7 system?

Don't know much about tkinter, but you could try shipping lib-tk
inside your activity bundle.

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


OLPC is hiring a Sugar developer

2008-04-01 Thread Tomeu Vizoso
Hi all,

as you may have already noticed, some days ago (so not an April fools'
hoax) appeared a new job posting in the main laptop.org site:

http://www.laptop.org/en/jobs.shtml#User%20Interface%20Developer%20for%20Sugar

So, if you would like to become part of the core Sugar team and help
to deliver a  new platform for education, please apply!

Thanks,

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


Re: Mini-conference on Apr 3/4!

2008-04-01 Thread Tomeu Vizoso
On Mon, Mar 31, 2008 at 4:44 AM, Jon Phillips [EMAIL PROTECTED] wrote:

  On Sun, 2008-03-30 at 23:40 +0200, Tomeu Vizoso wrote:
   - just have the talks via mailing list and IRC?

  I think that this will not work...if there is really a plan to have a
  conf., need to give like 1-2 months minimum for travel, esp. because so
  many are around the world. IMO, we should move the event to middle or
  end of may and then there will be a proper timeline and possibility for
  turnout.

If we do this, then perhaps we should set now the goals for update.2
and talk about the future in a May conference?

I don't think we have time to do much more for update.2, unless we
want to end shipping it after the summer...

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


Re: Power Management

2008-04-02 Thread Tomeu Vizoso
2008/4/2 Aswathy [EMAIL PROTECTED]:

 Hi

We are trying to enhance the power management module in OLPC. We thought
 of developing the application using Gtk+ in C.

  We have tried one small program in OLPC. Built using gtk+ in C. It displays
 the battery details of the OLPC. We have run the program in Linux platform
 and got the required output. But when we tried in OLPC, the output that we
 expected is not shown. It will show up the details and all, but the window
 is not complete ie with no buttons and options that normally a activity in
 OLPC has. So we need to know how we can implement it in compatible with the
 OLPC.

  Looking forward for reply.

Hi,

you may want to explain the bigger picture of what you want to do, so
we can give you better suggestions.

In particular, it shocks me as a bit strange that you need a Sugar
activity in order to enhance the power management module in OLPC.

Good luck,

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


Re: Power Management

2008-04-02 Thread Tomeu Vizoso
On Wed, Apr 2, 2008 at 12:54 PM, Aswathy [EMAIL PROTECTED] wrote:
  This is our whole idea. Do give suggestions on this. Also how we can make
 this application compatible with the OLPC. Actually we were really new to
 the OLPC. We just came to know about OLPC last year. We started thinking
 about our project this January. So we have very limited knowledge about
 OLPC. Please do give suggestions  your valuable recommendations on this.

For knowing more about OLPC, please consult the wiki: http://wiki.laptop.org

As starters:

http://wiki.laptop.org/go/Power_Management
http://wiki.laptop.org/go/Sugar
http://wiki.laptop.org/go/HIG

I cannot help you on the system level, but regarding integration with
sugar, I recommend you to install sugar-jhbuild on your F7 machine and
work on modifying the Sugar shell. Don't worry if it's in python, if
you already know C and Gtk+, you'll get it very quickly. And you'll
have learned one more useful language ;)

There are plans of doing some of the things you talked about, but
hasn't been done yet because of lack of man power. If you wanted to
contribute your work on that area, you'll find people happy to help
you.

Thanks,

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


Re: [sugar] Mini-Conference Proposal: Toolbars Tabs (or lack thereof)

2008-04-03 Thread Tomeu Vizoso
On Thu, Apr 3, 2008 at 5:13 AM, Wade Brainerd [EMAIL PROTECTED] wrote:
 I wonder if the differences between Sugar and a regular window manager
  aren't so severe that it might be worth offering a simple desktop
  environment which runs within Sugar as a Activity?

  You would download and launch this Activity, and its interface would
  be a regular Linux desktop.  It would support multiple windows, a
  taskbar, a start menu, etc. (I'm using Windows terms here). You
  could install and launch regular GTK+ applications in it, and they
  would not need to be sugarized at all.  The GTK theme used by the
  Desktop would still match Sugar of course.

  If we did this, we would not be stuck with trying to shoehorn third
  party applications into a UI they were not designed for (one toplevel
  window, no menus) and would conceivably be able to launch any Linux
  app assuming the needed libraries were installed.

  I'm not an X windows expert, but does this sound like possible way to
  solve this issue?

Someone wrapped Xephyr in an activity, so you get something similar to
the Classic environment in OSX. You could run a full gnome or a single
application inside that activity.

But then the application would run in a different X server and
wouldn't be able to copy paste, drag and drop, wouldn't be able to use
hw acceleration, etc.

Anyway, the problem here are not accidental incompatibilities as
would be trying to run a KDE app in a GNOME-only installation. It was
decided to part from the traditional desktop scheme because we aimed
to offer a system that supports education, not office work.

And I don't think that we should try to shoe-horn applications into
activities. If an application's architecture separates the controller
from the view and thus can expose a simple view component without
controller stuff, then it's a relatively easy effort to wrap that view
inside a widget and provide python bindings. Thus kids can modify and
adapt all the python code around that black box immediately after
receiving the XO.

Regardless of that, I can understand how current application authors
may feel frustrated by the additional effort required to port apps to
activities, and of course welcome any contribution to make that
easier.

Apart from the debate of being easier or not to port apps with one or
another architecture, I would like to point out the fact that if the
project reaches its goals for the next year, there should be more
developers for our platform than for Maemo or even the whole GNOME. So
it's not like we are Apple, we'd have a much bigger potential in the
not so long term.

Also, GNOME apps are currently encouraged to provide those embeddable
view widgets, as today do Abiword, Evince, Mozilla,... because of the
GNOME Mobile initiative. Heard that someone was working on that for
Gnumeric and I'd bet wouldn't be that hard for Inkscape.

My point is that reusing all that code inside proper activities is not
so hard, there are just too little hands yet.

Please don't interpret my words as an opposition to increase
compatibility with existing applications, take it as one more point of
view on the problem.

Thanks,

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


Re: [sugar] Mini-Conference Proposal: Toolbars Tabs

2008-04-03 Thread Tomeu Vizoso
On Thu, Apr 3, 2008 at 3:45 PM, Benjamin M. Schwartz
[EMAIL PROTECTED] wrote:
  Perhaps, in the intervening decade, first-world computer users have
  convinced themselves that they cannot adapt, but they are wrong.  Humans
  are very adaptable.  A teacher who has learned one version of Sugar will
  not have to spend more than a few days or hours with the new version
  before understanding it.

I'm sure they can adapt, but they need to be motivated to do so. What
could happen if we don't make sure these changes are well-received? I
think that's Gregorio's message.

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


  1   2   3   4   5   6   7   8   >