Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Bastien
Hi David,

I think everyone agrees that Tomeu stepping down as a maintainer is a
big loss.  I join my voice to those who already expressed this and my
thanks to Tomeu for all the crazy work he's been achieving here - and 
it's not only lines of code, it's also a general welcoming and helping
attitude, which is priceless.

I did a small experiment: I clicked on the Getting involved button.

I'm not falling into those categories: developer, designer, educator,
content writer.  I can help as a translator (I did so in the past) and 
as a people person.

So I clicked on the People person button.

I understand the projects listed here and how I can help them: marketing
team, documentation team, deployment team, local labs, soas.

Here is my list (preference order) :

- *Local labs*: I will try to have more people involved in Sugar from
  France.  Since early october, we have at least two new members of OLPC
  who will work more on Sugar.

- *Sugar on a stick*: together with other members, I will try to develop
  a french Soas.

- *Marketing team*: [sadly enough, we don't seem to have news from Sean.
  Hopefully nothing bad happened to him - he's usually very responsive.]
  My role here could be a general outreach role: trying to translate
  marketing documents, speak more about Sugar in events, etc.

I'm addressing this message to you since your the contact for this role.

:)

There is something I miss in the list of teams/projects for people
persons: community management.  This is very different from marketing
and outreach.  Maybe this project/role could be advertized somewhere 
on the wiki.

I'll keep this list updated about progress I make in this role.

PS: I don't dwell on Sugar criticism because I fail to grok how this
could help us go ahead and keep moving forward.  Criticism is useful
when resources are growing, not when they are shrinking.

-- 
 Bastien
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] stepping down as maintainer

2010-10-24 Thread Lucian Branescu
On 19 October 2010 17:50, Tomeu Vizoso to...@sugarlabs.org wrote:
 Hi,

 for personal reasons have to drastically reduce my involvement in the project.

 Will be leaving maintenance of my modules and unsubscribing from the
 mailing lists. My place on the board is vacant from now on and I'll be
 adding to the wiki the new vacancies:
 http://wiki.sugarlabs.org/go/Vacancies

 Cheers and good luck,

 Tomeu

Thank you for all the help and handholding :)

I wish you all the best.
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [Dextrose] [PATCH v5 sugar] Pulsing icon delayed by 5 seconds or so SL#2080

2010-10-24 Thread Anurag Chowdhury
The present issue has two possible scenarios of solving it

1) Optimise the present pulsing icon animation to reduce the delay : Thats
what I have worked towards till now in my patches.

2)Replace the present pulsing icon animation with a better and faster
animation: Thats what I think everyone agrees to be the best solution of the
issue right now.


 If we're still taking about the v5 patch that was posted to the list, I
 don't understand how this change is supposed to fix the bug:

  +if self._count  2:
  +   self.update()
  +self._count = self._count + 1

 The animation of the pulsing icon is basically constituted by filling the
 raw svg icon with colours based on a sinusoidal function

and it is this sinusoidal filling of the colour that brings about the
pulsing effect , so if we dont fill the icon with colour then
the icon wont pulse and would render and appear as a raw svg icon only
which undoubtedly will take lower system resources
to get rendered than the animation.

Skipping the first frame of the animation unconditionally is wrong and
 isn't the same thing of skipping frames dynamically, based on the time
 elapsed to render  the previous frame. I feel like we're trying a number
 of random tweaks without addressing the root cause of the problem.


 The first frame of the animation is not being skipped but its just not
being filled with colour so as to make the pulsing icon animation start
earlier and I hope we both agree on the fact that the delay is caused due to
the time taken for the rendering of the zoom in and zoom out animation for
the first  frame. So if the load of processing the first frame would have
been reduced somehow then the animation would start earlier and
this approach was confirmed by positive log results upon benchmarking the
whole scenario before and after the fix.



 Perhaps Anurag could work on a fix in team with other Seeta developers?

 --
   // Bernie Innocenti - http://codewiz.org/
  \X/  Sugar Labs   - http://sugarlabs.org/



___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread David Farning
On Sun, Oct 24, 2010 at 7:55 AM, Bastien bastien.gue...@wikimedia.fr wrote:
 Hi David,

 I think everyone agrees that Tomeu stepping down as a maintainer is a
 big loss.  I join my voice to those who already expressed this and my
 thanks to Tomeu for all the crazy work he's been achieving here - and
 it's not only lines of code, it's also a general welcoming and helping
 attitude, which is priceless.

 I did a small experiment: I clicked on the Getting involved button.

 I'm not falling into those categories: developer, designer, educator,
 content writer.  I can help as a translator (I did so in the past) and
 as a people person.

 So I clicked on the People person button.

 I understand the projects listed here and how I can help them: marketing
 team, documentation team, deployment team, local labs, soas.

 Here is my list (preference order) :

 - *Local labs*: I will try to have more people involved in Sugar from
  France.  Since early october, we have at least two new members of OLPC
  who will work more on Sugar.

 - *Sugar on a stick*: together with other members, I will try to develop
  a french Soas.

 - *Marketing team*: [sadly enough, we don't seem to have news from Sean.
  Hopefully nothing bad happened to him - he's usually very responsive.]
  My role here could be a general outreach role: trying to translate
  marketing documents, speak more about Sugar in events, etc.

Bastien,
Thank you for all you have done and being the first person to
_step_up_ and identify yourself as willing (and from your past
performance -- able) to commit to working on a much needed set of
tasks.

 I'm addressing this message to you since your the contact for this role.

 :)

 There is something I miss in the list of teams/projects for people
 persons: community management.  This is very different from marketing
 and outreach.  Maybe this project/role could be advertized somewhere
 on the wiki.

 I'll keep this list updated about progress I make in this role.

 PS: I don't dwell on Sugar criticism because I fail to grok how this
 could help us go ahead and keep moving forward.

+1.  The focus is not criticism or even discussion.  The criticism
is a call to action -- Sugar Labs needs help.

The focus is the generous response of people like you going though the
process of:
1.  Determining what can be done to make Sugar and Sugar Labs better.
2. Identifying how you can apply your time and specific talents to those needs.
3. Making the public commitment to work on a few specific needs.

david

  Criticism is useful
 when resources are growing, not when they are shrinking.

 --
  Bastien

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [Dextrose] [PATCH v5 sugar] Pulsing icon delayed by 5 seconds or so SL#2080

2010-10-24 Thread Gonzalo Odiard

  The first frame of the animation is not being skipped but its just not
 being filled with colour so as to make the pulsing icon animation start
 earlier and I hope we both agree on the fact that the delay is caused due to
 the time taken for the rendering of the zoom in and zoom out animation for
 the first  frame. So if the load of processing the first frame would have
 been reduced somehow then the animation would start earlier and
 this approach was confirmed by positive log results upon benchmarking the
 whole scenario before and after the fix.


Can you show the result or your tests?

Gonzalo
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Sascha Silbe
Excerpts from David Farning's message of Sun Oct 24 06:42:24 +0200 2010:

 Sugar Labs lost its lead developer.  It is unfortunate that no-one has
 done a public review of the reasons and implications of Tomeu quiting.
  Tomeu's leaving is significant enough that Sugar Labs should take a
 hard look at what is working, what is not working, and how to fix the
 pieces that are not working.

Was there something going on behind the scenes? From Tomeus mail I would
have thought his reasons were entirely personal ones (i.e. something
like having to take care of his parents or his girlfriend not wanting to
have to share him with Sugar Labs anymore).


 At the risk of angering pretty much everybody

Thanks for asking hard questions! Sugar Labs is certainly living in
interesting times [6] and will continue to do so in the near to medium
future.


 Premise 1. Sugar is open source, written in python, and the source is
 easily available.  Therefore kids will develop and improve Sugar.

 Premise 2. Sugar is open source, written in python, and the source is
 easily available.  Therefore deployments will develop Sugar.  What
 fraction of useful and usable improvements have been committed into
 sugar by deployments.
[Premise 2 pulled up]

Your premises 1-2 are not useful because they fail to make an important
distinction: Hacking Sugar might be easy, but producing something that
is good enough for millions of users is hard.

Sugar Labs is trying to build a product with exceptional goals
(Collaboration [1], Journaling [2], easy hacking [3], Security [4] to
name a few). It's only natural that this requires extraordinary
capability of the people involved.

Hacking is easy. Everyone can learn it. But building a complex system
that works _well_ is a craft. It requires years of experience. You can't
teach it in front a class and expect students to be good at it. Sure,
a lot of the knowledge taught at university can be useful, but it isn't
sufficient. I've seen teenagers write better programs than most of the
(ex-)students I know that finished information science.

Additionally, we are working with technologies that are often bleeding
edge and with complex interactions that even I (as an experienced Sugar
developer) don't understand fully. This means there a few people
experienced enough to work on Sugar core and a steep learning curve.

Fortunately, there are ways to manage complexity without requiring
everybody to be a genius. I highly recommend reading the iMatix essay
about software design [5] at least once. It still requires at least
one exceptional developer (called architect in the essay) and hard work
(e.g. writing test suites).

The current design is quite monolithic with virtually no automated
testing. It's fine for Proof-of-Concept code, but not sound for an
actual product. Bugs in one part can affect the entire system (e.g. the
pass phrase dialog locking up the entire UI); the only way to discover
bugs is by exposing humans to the software. This makes it even more
important to accept only high-quality code into Glucose.


My long-term goal is to split up and factor out as much possible from
the Shell:
- moving out our custom functionality into mainstream components like
  NetworkManager (for automatic Ad-Hoc/Mesh network selection),
  window managers / pagers / panels (parts of or the entire Frame),
- separating independent functions into individual processes (Journal)
- using (now-)standard protocols.

I firmly believe this will make Sugar easier to maintain (we can tap on
the resources of the mainstream projects), more reliable, easier to
customise and enhance. The latter will facilitate a growing developer
community.


 In theory this premise is sound, and desirable, the overall technical
 capabilities of a nation will improve as more people are exposed to
 Sugar at an early age.  The question become what is the time lag
 between exposure to Sugar and useful contribution to Sugar?

Depends entirely on your definition of useful contribution. Fixing a
typo: as low as one day (with outside help). Writing a useful activity: 
a few weeks or months maybe. Non-trivial patches to Glucose: Several
years minimum.


 Sugar Labs is lead by veto rather than vision. A _symptom_ is the
 development process. It it easy to have fix commited to Fedora or
 OLPC.  It is hard to have a fix commited to Sugar Labs.  When someone
 sends a useful fix to either OLPC or Fedora, a senior developer takes
 the patch, review it, fixes it up (if necessary) and thanks the
 contributor.  This provides an incentive and on-ramp for less
 experienced developers to participate and contribute.

I am certainly guilty of this attitude, so let me state my intentions:

Creating good patches (code contributions) can only be learned by doing.
Improvements to the personal style and abilities only happen if there's
something you know you can (and want to) improve on. This is at least
my personal experience.

So rather than accepting a patch and fixing it up 

Re: [Sugar-devel] [PATCH v6 sugar] Downgrading activities not allowed. (SL #2164)

2010-10-24 Thread Aleksey Lim
On Sun, Oct 24, 2010 at 12:21:13AM +0530, anub...@seeta.in wrote:
 Activity can be downgraded on the availability of an older .xo version of an
 activity. An alert pops up on downloading an older .xo file of an activity,
 which asks the user to make a selection on whether to move to an older
 activity version or not.
 
 Co-authored-by: Anubhav Aggarwal anub...@seeta.in, Shanjit Singh Jajmann 
 shan...@seeta.in
 ---
 
 v1 - v2. Inline function used, signal emission condition revised and global
 variables removed. Recommendations by James Cameron and Aleksey Lim added.
 
 v2 - v3. Used misc.resume.
 
 v3 - v4. Changes in the copyright of the new file.
 
 v4 - v5. Alert shown in the same window as the journal.
 
 v5 - v6. Static variable removed, name of the functions changed.
 Recommendations by James Cameron and Aleksey Lim added.
 
  src/jarabe/journal/journalactivity.py |6 ++--
  src/jarabe/journal/journalwindow.py   |   33 +++
  src/jarabe/journal/misc.py|   56 
 +++--
  src/jarabe/model/bundleregistry.py|7 +++-
  4 files changed, 87 insertions(+), 15 deletions(-)
  create mode 100644 src/jarabe/journal/journalwindow.py
 
 diff --git a/src/jarabe/journal/journalactivity.py 
 b/src/jarabe/journal/journalactivity.py
 index 44cc018..a48063b 100644
 --- a/src/jarabe/journal/journalactivity.py
 +++ b/src/jarabe/journal/journalactivity.py
 @@ -44,6 +44,7 @@ from jarabe.journal.journalentrybundle import 
 JournalEntryBundle
  from jarabe.journal.objectchooser import ObjectChooser
  from jarabe.journal.modalalert import ModalAlert
  from jarabe.journal import model
 +from jarabe.journal.journalwindow import JournalWindow
  
  J_DBUS_SERVICE = 'org.laptop.Journal'
  J_DBUS_INTERFACE = 'org.laptop.Journal'
 @@ -102,11 +103,10 @@ class JournalActivityDBusService(dbus.service.Object):
  def ObjectChooserCancelled(self, chooser_id):
  pass
  
 -class JournalActivity(Window):
 +class JournalActivity(JournalWindow):
  def __init__(self):
  logging.debug(STARTUP: Loading the journal)
 -Window.__init__(self)
 -
 +JournalWindow.__init__(self)
  self.set_title(_('Journal'))
  
  self._main_view = None
 diff --git a/src/jarabe/journal/journalwindow.py 
 b/src/jarabe/journal/journalwindow.py
 new file mode 100644
 index 000..957f1eb
 --- /dev/null
 +++ b/src/jarabe/journal/journalwindow.py
 @@ -0,0 +1,33 @@
 +#Copyright (C) 2010 Software for Education, Entertainment and Training 
 Activities
 +#
 +# This program is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
 +# the Free Software Foundation; either version 2 of the License, or
 +# (at your option) any later version.
 +#
 +# This program is distributed in the hope that it will be useful,
 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +# GNU General Public License for more details.
 +#
 +# You should have received a copy of the GNU General Public License
 +# along with this program; if not, write to the Free Software
 +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 +
 +import gtk
 +from sugar.graphics.window import Window
 +
 +
 +_journal_window = None
 +
 +
 +class JournalWindow(Window):
 +
 +def __init__(self):
 +global _journal_window
 +Window.__init__(self)
 +_journal_window = self
 +
 +
 +def get_journal_window():
 +return _journal_window
 diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py
 index 32a2847..388837c 100644
 --- a/src/jarabe/journal/misc.py
 +++ b/src/jarabe/journal/misc.py
 @@ -27,8 +27,10 @@ from sugar.activity import activityfactory
  from sugar.activity.activityhandle import ActivityHandle
  from sugar.graphics.icon import get_icon_file_name
  from sugar.graphics.xocolor import XoColor
 +from sugar.graphics.alert import ConfirmationAlert
  from sugar import mime
  from sugar.bundle.activitybundle import ActivityBundle
 +from sugar.bundle.bundle import AlreadyInstalledException
  from sugar.bundle.contentbundle import ContentBundle
  from sugar import util
  
 @@ -36,6 +38,7 @@ from jarabe.view import launcher
  from jarabe.model import bundleregistry, shell
  from jarabe.journal.journalentrybundle import JournalEntryBundle
  from jarabe.journal import model
 +from jarabe.journal import journalwindow
  
  def _get_icon_for_mime(mime_type):
  generic_types = mime.get_all_generic_types()
 @@ -150,6 +153,7 @@ def get_activities(metadata):
  
  def resume(metadata, bundle_id=None):
  registry = bundleregistry.get_registry()
 +version_downgrade = False
  
  if is_activity_bundle(metadata) and bundle_id is None:
  
 @@ -159,19 +163,24 @@ def resume(metadata, bundle_id=None):
  bundle = ActivityBundle(file_path)
  if not registry.is_installed(bundle):
 

Re: [Sugar-devel] [PATCH v6 sugar] Downgrading activities not allowed. (SL #2164)

2010-10-24 Thread Aleksey Lim
On Sun, Oct 24, 2010 at 04:23:22PM +, Aleksey Lim wrote:
 On Sun, Oct 24, 2010 at 12:21:13AM +0530, anub...@seeta.in wrote:
 
  +alert.props.title = _('Older Version Of ' + bundle.get_name() \
  +   + ' Activity')
  +alert.props.msg = _('Do you want to downgrade to version ' + \
  + str(bundle.get_activity_version()) + ' ?')
 this usage of _() will break translation, text in _() should be a static
 string, better to use something like:
 
   alert.props.title = _('Older Version Of %(bundle_name)s Activity') % 
 bundle.get_name()

oops, sorry

alert.props.title = _('Older Version Of %(bundle_name)s Activity') % 
{'bundle_name': bundle.get_name()}

-- 
Aleksey
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [Dextrose] [PATCH v5 sugar] Pulsing icon delayed by 5 seconds or so SL#2080

2010-10-24 Thread David Farning
Congratulations -- and welcome to the world of hacking:)

This email represents the crux of problem solving.

All of the git, python, pep8, variable name, stuff is just syntax and
semantics.  Important to follow or you get 'errors and warnings':)

At it's core 'hacking' is identifying and solving problems.

david

On Sun, Oct 24, 2010 at 10:53 AM, Anurag Chowdhury anu...@seeta.in wrote:
 The present issue has two possible scenarios of solving it
 1) Optimise the present pulsing icon animation to reduce the delay : Thats
 what I have worked towards till now in my patches.
 2)Replace the present pulsing icon animation with a better and faster
 animation: Thats what I think everyone agrees to be the best solution of the
 issue right now.


 If we're still taking about the v5 patch that was posted to the list, I
 don't understand how this change is supposed to fix the bug:

  +        if self._count  2:
  +           self.update()
  +        self._count = self._count + 1

 The animation of the pulsing icon is basically constituted by filling the
 raw svg icon with colours based on a sinusoidal function

     and it is this sinusoidal filling of the colour that brings about the
 pulsing effect , so if we dont fill the icon with colour then
     the icon wont pulse and would render and appear as a raw svg icon only
 which undoubtedly will take lower system resources
     to get rendered than the animation.

 Skipping the first frame of the animation unconditionally is wrong and
 isn't the same thing of skipping frames dynamically, based on the time
 elapsed to render  the previous frame. I feel like we're trying a number
 of random tweaks without addressing the root cause of the problem.

  The first frame of the animation is not being skipped but its just not
 being filled with colour so as to make the pulsing icon animation start
 earlier and I hope we both agree on the fact that the delay is caused due to
 the time taken for the rendering of the zoom in and zoom out animation for
 the first  frame. So if the load of processing the first frame would have
 been reduced somehow then the animation would start earlier and
 this approach was confirmed by positive log results upon benchmarking the
 whole scenario before and after the fix.


 Perhaps Anurag could work on a fix in team with other Seeta developers?

 --
   // Bernie Innocenti - http://codewiz.org/
  \X/  Sugar Labs       - http://sugarlabs.org/




 ___
 Dextrose mailing list
 dextr...@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/dextrose


___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Sascha Silbe
Excerpts from Bastien's message of Sun Oct 24 14:55:30 +0200 2010:

 There is something I miss in the list of teams/projects for people
 persons: community management.  This is very different from marketing
 and outreach.  Maybe this project/role could be advertized somewhere 
 on the wiki.

That's something Tomeu has been calling for for the last few months:
A Community Team [1] (with a Community Team Coordinator that initiates the
team). It's definitely something we need, but all of the people that
I think would make excellent members of that team (alphabetical order:
Bernie, David, Mel, Walter) are busy with other stuff already.

Sascha

[1] https://wiki.sugarlabs.org/go/Vacancies
--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: PGP signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Jonas Smedegaard

On Sun, Oct 24, 2010 at 06:21:38PM +0200, Sascha Silbe wrote:

Excerpts from David Farning's message of Sun Oct 24 06:42:24 +0200 2010:

Sugar Labs lost its lead developer.  It is unfortunate that no-one 
has done a public review of the reasons and implications of Tomeu 
quiting.
 Tomeu's leaving is significant enough that Sugar Labs should take a 
hard look at what is working, what is not working, and how to fix the 
pieces that are not working.


Was there something going on behind the scenes? From Tomeus mail I 
would have thought his reasons were entirely personal ones (i.e. 
something like having to take care of his parents or his girlfriend not 
wanting to have to share him with Sugar Labs anymore).


Well, seems at least to not be a sudden move: 
http://blog.tomeuvizoso.net/2010/10/now-moving-for-real.html



[lots of great reflections - from both of you - snipped]

For those posting thankyou mails to the list, let me share an insight 
passed to me recently by a fellow Debian developer: If you want to thank 
a person then do it discretely.  Posting thankyous to a mailinglist has 
the side effect of boosting your own ego and, more damaging, affects 
similar future events: Who is appreciated enought to get many comments 
when leaving (or, as was the case at the debian-private list: has a 
baby).


Hope I did not step on anyones toes with this.  I certainly do not want 
to brag about being better than others: as said, someone just pointed 
out the exact same thing to me very recently.  My intend is to care for 
the community, not only the person at the center of the various events.



 - Jonas

--
 * Jonas Smedegaard - idealist  Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [Dextrose] [PATCH v5 sugar] Pulsing icon delayed by 5 seconds or so SL#2080

2010-10-24 Thread Gary Martin
On 24 Oct 2010, at 16:53, Anurag Chowdhury wrote:

 The present issue has two possible scenarios of solving it
 
 1) Optimise the present pulsing icon animation to reduce the delay : Thats 
 what I have worked towards till now in my patches.
 
 2)Replace the present pulsing icon animation with a better and faster 
 animation: Thats what I think everyone agrees to be the best solution of the 
 issue right now.

-1 from a Sugar design point of view. The zoom animation is part of the Sugar 
views zoom metaphor as you move from level to level (neighbourhood -- group 
-- home -- activity). The pulsing is an indication that the activity is still 
starting (unspecified/unknown amount of time hence no scroll bar, clock dial, 
or such quantitive measure of completion). Ideally, if launching were less than 
a few seconds we would not have needed the pulsing animation.

We did play around with a few ideas when Wade last worked on the pulse 
optimisation/enhancements. He landed improvements for speed by minimising the 
area being redrawn, and landed the addition of the failed to launch check and 
button/message. He also found a few extra cpu seconds worth of improvement that 
didn't land in time. The trick was to fade in, _hold_, fade out, _hold_, the 
effect is still of pulsing activity but you can get away with less frames as 
you don't need to redraw anything during the hold.

This doesn't effect the initial start-up however, which I believe was the 
original ticket... FWIW I think F14 builds have regressed for some other reason 
here, perhaps it's the window manager being laggy (I occasionally see window 
bezels before things go full screen).

Regards,
--Gary

  If we're still taking about the v5 patch that was posted to the list, I
 don't understand how this change is supposed to fix the bug:
 
  +if self._count  2:
  +   self.update()
  +self._count = self._count + 1
 
 The animation of the pulsing icon is basically constituted by filling the raw 
 svg icon with colours based on a sinusoidal function
 and it is this sinusoidal filling of the colour that brings about the 
 pulsing effect , so if we dont fill the icon with colour then 
 the icon wont pulse and would render and appear as a raw svg icon only 
 which undoubtedly will take lower system resources 
 to get rendered than the animation. 
 
 Skipping the first frame of the animation unconditionally is wrong and
 isn't the same thing of skipping frames dynamically, based on the time
 elapsed to render  the previous frame. I feel like we're trying a number
 of random tweaks without addressing the root cause of the problem.
 
  The first frame of the animation is not being skipped but its just not being 
 filled with colour so as to make the pulsing icon animation start earlier and 
 I hope we both agree on the fact that the delay is caused due to the time 
 taken for the rendering of the zoom in and zoom out animation for the first  
 frame. So if the load of processing the first frame would have been reduced 
 somehow then the animation would start earlier and this approach was 
 confirmed by positive log results upon benchmarking the whole scenario before 
 and after the fix. 
  
 
 Perhaps Anurag could work on a fix in team with other Seeta developers?
 
 --
   // Bernie Innocenti - http://codewiz.org/
  \X/  Sugar Labs   - http://sugarlabs.org/
 
 
 
 ___
 Dextrose mailing list
 dextr...@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/dextrose

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Bastien
Hi Sasha,

Sascha Silbe sascha-ml-reply-to-201...@silbe.org writes:

 Excerpts from Bastien's message of Sun Oct 24 14:55:30 +0200 2010:

 There is something I miss in the list of teams/projects for people
 persons: community management.  This is very different from marketing
 and outreach.  Maybe this project/role could be advertized somewhere 
 on the wiki.

 That's something Tomeu has been calling for for the last few months:
 A Community Team [1] (with a Community Team Coordinator that initiates the
 team). 

Yes, I saw that.

 It's definitely something we need, but all of the people that
 I think would make excellent members of that team (alphabetical order:
 Bernie, David, Mel, Walter) are busy with other stuff already.

If that can help, I just posted a call for help in this area on the
french mailing list.  Don't expect miracles though, as we are a small 
busy team as well :/  But making such a call public is a first step.

-- 
 Bastien
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread David Farning
On Sun, Oct 24, 2010 at 11:21 AM, Sascha Silbe
sascha-ml-reply-to-201...@silbe.org wrote:
 Excerpts from David Farning's message of Sun Oct 24 06:42:24 +0200 2010:

 There is the lack of accountability to stakeholders.

 I'm not even sure what that phrase means in the context of an Open Source
 community.

 Sascha

Stakeholder is an English business term which applies to both
for-profits and non-profits.  A stakeholder is a person, group,
organization, who affects or can be affected by an organization's
actions.

For example:
Every contributor - Each individual has an interest in how effectively
their contributions in time and talent meet the needs of the target
community served by the project.

OLPC* - OLPC is the primary distributor of sugar to end users.

Deployments, both individually and as a group --  Deployments take the
laptops + software and combine it with additional infrastructure,
educational resources, and support and distribute it to school.

Schools, both individually and collectively --
NZ testers --
Translators --
Researchers --
Universities like RIT --


david
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Sascha Silbe
Excerpts from David Farning's message of Sun Oct 24 19:55:39 +0200 2010:
 On Sun, Oct 24, 2010 at 11:21 AM, Sascha Silbe
 sascha-ml-reply-to-201...@silbe.org wrote:
  Excerpts from David Farning's message of Sun Oct 24 06:42:24 +0200 2010:
 
  There is the lack of accountability to stakeholders.
 
  I'm not even sure what that phrase means in the context of an Open Source
  community.


 Stakeholder is an English business term which applies to both
 for-profits and non-profits.  A stakeholder is a person, group,
 organization, who affects or can be affected by an organization's
 actions.

It's the combination with accountability that puzzles me. _Who_ is going
to be held accountable for _what_? And what are the _consequences_ of
wrong behaviour/outcomes/whatever?

Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: PGP signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Daniel Drake
On 24 October 2010 05:42, David Farning dfarn...@ubuntu.com wrote:
 Sugar Labs lost its lead developer.  It is unfortunate that no-one has
 done a public review of the reasons and implications of Tomeu quiting.
  Tomeu's leaving is significant enough that Sugar Labs should take a
 hard look at what is working, what is not working, and how to fix the
 pieces that are not working.

I think a lot of contributors forgot to be nice to the maintainer. If
I were in Tomeu's position I think I would have stepped down a while
ago (I've been put in what I think are similar positions in other
projects I've been involved in). Too much emails and not enough code,
simple maintainers wishes being ignored, nobody stepping up to help
the maintainer with the increasing workload, etc. A key part of
contributing to an open source is keeping the maintainer engaged and
motivated.

Daniel
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] stepping down as maintainer

2010-10-24 Thread Aleksey Lim
On Tue, Oct 19, 2010 at 06:50:23PM +0200, Tomeu Vizoso wrote:
 Hi,
 
 for personal reasons have to drastically reduce my involvement in the project.
 
 Will be leaving maintenance of my modules and unsubscribing from the
 mailing lists. My place on the board is vacant from now on and I'll be
 adding to the wiki the new vacancies:
 http://wiki.sugarlabs.org/go/Vacancies
 
 Cheers and good luck,
 
 Tomeu

I'm just remembering What keeps me going on?...

Anyway I guess people, who join Sugar, do it not only because of FOSS is
so attractive (there are a bunch of more useful options to join) but
because of ideas behind Sugar and community around this ideas. If people
leave Sugar they think they can realize the same ideas by different ways
(or they just need to take a rest).

Though problems are obvious, but it is another topic...

-- 
Aleksey
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread Sascha Silbe
Excerpts from Bastien's message of Sun Oct 24 19:51:08 +0200 2010:

 If that can help, I just posted a call for help in this area on the
 french mailing list.  Don't expect miracles though, as we are a small 
 busy team as well :/  But making such a call public is a first step.

Great, thanks!
FWIW, spending time on the Community Team could be considered a kind of
investment. If it works out, we will enlarge the community and have more
time to spend in total. So while it detracts from other near-term
efforts, the long-term benefit will more than make up for it.

Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: PGP signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [PATCH v7] Downgrading activities not allowed. (SL #2164)

2010-10-24 Thread shanjit
From: Shanjit Singh Jajmann shan...@seeta.in

Activity can be downgraded on the availability of an older .xo version of an
activity. An alert pops up when trying to install an older .xo file of an
activity, which asks the user to make a selection on whether to move to an
older activity version or not.

Co-authored-by: Shanjit Singh Jajmann shan...@seeta.in
Anubhav Aggarwal anub...@seeta.in
---

v1 - v2. Inline function used, signal emission condition revised and global
variables removed. Recommendations by James Cameron and Aleksey Lim added.

v2 - v3. Used misc.resume.

v3 - v4. Changes in the copyright of the new file.

v4 - v5. Alert shown in the same window as the journal.

v5 - v6. Static variable removed, name of the functions changed.
Recommendations by James Cameron and Aleksey Lim added.

v6 - v7. Logic for the alert pop up made simpler.
Recommendations by Aleksay Lim added.
---
 src/jarabe/journal/journalactivity.py |5 ++-
 src/jarabe/journal/misc.py|   47 ++--
 src/jarabe/model/bundleregistry.py|7 +++-
 3 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/src/jarabe/journal/journalactivity.py 
b/src/jarabe/journal/journalactivity.py
index 44cc018..beb0962 100644
--- a/src/jarabe/journal/journalactivity.py
+++ b/src/jarabe/journal/journalactivity.py
@@ -44,6 +44,7 @@ from jarabe.journal.journalentrybundle import 
JournalEntryBundle
 from jarabe.journal.objectchooser import ObjectChooser
 from jarabe.journal.modalalert import ModalAlert
 from jarabe.journal import model
+from jarabe.journal.journalwindow import JournalWindow
 
 J_DBUS_SERVICE = 'org.laptop.Journal'
 J_DBUS_INTERFACE = 'org.laptop.Journal'
@@ -102,10 +103,10 @@ class JournalActivityDBusService(dbus.service.Object):
 def ObjectChooserCancelled(self, chooser_id):
 pass
 
-class JournalActivity(Window):
+class JournalActivity(JournalWindow):
 def __init__(self):
 logging.debug(STARTUP: Loading the journal)
-Window.__init__(self)
+JournalWindow.__init__(self)
 
 self.set_title(_('Journal'))
 
diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py
index 32a2847..1d73fa8 100644
--- a/src/jarabe/journal/misc.py
+++ b/src/jarabe/journal/misc.py
@@ -27,8 +27,10 @@ from sugar.activity import activityfactory
 from sugar.activity.activityhandle import ActivityHandle
 from sugar.graphics.icon import get_icon_file_name
 from sugar.graphics.xocolor import XoColor
+from sugar.graphics.alert import ConfirmationAlert
 from sugar import mime
 from sugar.bundle.activitybundle import ActivityBundle
+from sugar.bundle.bundle import AlreadyInstalledException
 from sugar.bundle.contentbundle import ContentBundle
 from sugar import util
 
@@ -36,6 +38,7 @@ from jarabe.view import launcher
 from jarabe.model import bundleregistry, shell
 from jarabe.journal.journalentrybundle import JournalEntryBundle
 from jarabe.journal import model
+from jarabe.journal import journalwindow
 
 def _get_icon_for_mime(mime_type):
 generic_types = mime.get_all_generic_types()
@@ -159,19 +162,16 @@ def resume(metadata, bundle_id=None):
 bundle = ActivityBundle(file_path)
 if not registry.is_installed(bundle):
 logging.debug('Installing activity bundle')
-registry.install(bundle)
+try:
+registry.install(bundle)
+except AlreadyInstalledException:
+_downgrade_option_alert(bundle)
+return
 else:
 logging.debug('Upgrading activity bundle')
 registry.upgrade(bundle)
 
-logging.debug('activityfactory.creating bundle with id %r',
-bundle.get_bundle_id())
-installed_bundle = registry.get_bundle(bundle.get_bundle_id())
-if installed_bundle:
-launch(installed_bundle)
-else:
-logging.error('Bundle %r is not installed.',
-  bundle.get_bundle_id())
+_install_bundle(bundle)
 
 elif is_content_bundle(metadata) and bundle_id is None:
 
@@ -215,6 +215,17 @@ def resume(metadata, bundle_id=None):
 launch(bundle, activity_id=activity_id, object_id=object_id,
 color=get_icon_color(metadata))
 
+def _install_bundle(bundle):
+registry = bundleregistry.get_registry()
+logging.debug('activityfactory.creating bundle with id %r',
+   bundle.get_bundle_id())
+installed_bundle = registry.get_bundle(bundle.get_bundle_id())
+if installed_bundle:
+   launch(installed_bundle)
+else:
+logging.error('Bundle %r is not installed.',
+bundle.get_bundle_id())
+
 def launch(bundle, activity_id=None, object_id=None, uri=None, color=None,
invited=False):
 if activity_id is None or not activity_id:
@@ -239,6 +250,24 @@ def launch(bundle, activity_id=None, object_id=None, 
uri=None, color=None,
 

[Sugar-devel] [RELEASE] Browse-120

2010-10-24 Thread Lucian Branescu Mihaila
== Source ==

http://download.sugarlabs.org/sources/sucrose/fructose/Browse/Browse-120.tar.bz2

== News ==

* Release 120 (Lucian Branescu Mihaila)
* fix error writing file if there are not a url in the location bar (Gonzalo 
Odiard)
* Fix OLPC #6874 - Web activity uses gettext on file name (Gonzalo Odiard)
* Move to hashlib to avoid deprecation warnings. (Lucian Branescu Mihaila)
* Browse-side fix for #1638. For better names, more work is needed. (Lucian 
Branescu Mihaila)
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [ASLO] Release Edit-5

2010-10-24 Thread Sugar Labs Activities
Activity Homepage:
http://activities.sugarlabs.org/addon/4349

Sugar Platform:
0.82 - 0.90

Download Now:
http://activities.sugarlabs.org/downloads/file/27082/edit-5.xo

Release notes:
Now with MANY mimetypes!


Sugar Labs Activities
http://activities.sugarlabs.org

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [PATCH] Downgrading activities not allowed. (SL #2164)

2010-10-24 Thread anubhav
Activity can be downgraded on the availability of an older .xo version of an
activity. An alert pops up when trying to install an older .xo file of an
activity, which asks the user to make a selection on whether to move to an
older activity version or not.

Co-authored-by: Shanjit Singh Jajmann shan...@seeta.in
Anubhav Aggarwal anub...@seeta.in
---

v1 - v2. Inline function used, signal emission condition revised and global
variables removed. Recommendations by James Cameron and Aleksey Lim added.

v2 - v3. Used misc.resume.

v3 - v4. Changes in the copyright of the new file.

v4 - v5. Alert shown in the same window as the journal.

v5 - v6. Static variable removed, name of the functions changed.
Recommendations by James Cameron and Aleksey Lim added.

v6 - v7. Logic for the alert pop up made simpler.
Recommendations by Aleksay Lim added.

---
 src/jarabe/journal/journalactivity.py |5 ++-
 src/jarabe/journal/journalwindow.py   |   33 +++
 src/jarabe/journal/misc.py|   47 ++--
 src/jarabe/model/bundleregistry.py|7 +++-
 4 files changed, 79 insertions(+), 13 deletions(-)
 create mode 100644 src/jarabe/journal/journalwindow.py

diff --git a/src/jarabe/journal/journalactivity.py 
b/src/jarabe/journal/journalactivity.py
index 44cc018..beb0962 100644
--- a/src/jarabe/journal/journalactivity.py
+++ b/src/jarabe/journal/journalactivity.py
@@ -44,6 +44,7 @@ from jarabe.journal.journalentrybundle import 
JournalEntryBundle
 from jarabe.journal.objectchooser import ObjectChooser
 from jarabe.journal.modalalert import ModalAlert
 from jarabe.journal import model
+from jarabe.journal.journalwindow import JournalWindow
 
 J_DBUS_SERVICE = 'org.laptop.Journal'
 J_DBUS_INTERFACE = 'org.laptop.Journal'
@@ -102,10 +103,10 @@ class JournalActivityDBusService(dbus.service.Object):
 def ObjectChooserCancelled(self, chooser_id):
 pass
 
-class JournalActivity(Window):
+class JournalActivity(JournalWindow):
 def __init__(self):
 logging.debug(STARTUP: Loading the journal)
-Window.__init__(self)
+JournalWindow.__init__(self)
 
 self.set_title(_('Journal'))
 
diff --git a/src/jarabe/journal/journalwindow.py 
b/src/jarabe/journal/journalwindow.py
new file mode 100644
index 000..957f1eb
--- /dev/null
+++ b/src/jarabe/journal/journalwindow.py
@@ -0,0 +1,33 @@
+#Copyright (C) 2010 Software for Education, Entertainment and Training 
Activities
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+import gtk
+from sugar.graphics.window import Window
+
+
+_journal_window = None
+
+
+class JournalWindow(Window):
+
+def __init__(self):
+global _journal_window
+Window.__init__(self)
+_journal_window = self
+
+
+def get_journal_window():
+return _journal_window
diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py
index 32a2847..527c4e3 100644
--- a/src/jarabe/journal/misc.py
+++ b/src/jarabe/journal/misc.py
@@ -27,8 +27,10 @@ from sugar.activity import activityfactory
 from sugar.activity.activityhandle import ActivityHandle
 from sugar.graphics.icon import get_icon_file_name
 from sugar.graphics.xocolor import XoColor
+from sugar.graphics.alert import ConfirmationAlert
 from sugar import mime
 from sugar.bundle.activitybundle import ActivityBundle
+from sugar.bundle.bundle import AlreadyInstalledException
 from sugar.bundle.contentbundle import ContentBundle
 from sugar import util
 
@@ -36,6 +38,7 @@ from jarabe.view import launcher
 from jarabe.model import bundleregistry, shell
 from jarabe.journal.journalentrybundle import JournalEntryBundle
 from jarabe.journal import model
+from jarabe.journal import journalwindow
 
 def _get_icon_for_mime(mime_type):
 generic_types = mime.get_all_generic_types()
@@ -159,19 +162,16 @@ def resume(metadata, bundle_id=None):
 bundle = ActivityBundle(file_path)
 if not registry.is_installed(bundle):
 logging.debug('Installing activity bundle')
-registry.install(bundle)
+try:
+registry.install(bundle)
+except AlreadyInstalledException:
+_downgrade_option_alert(bundle)
+return
 else:
 logging.debug('Upgrading activity bundle')
 

Re: [Sugar-devel] [PATCH sugar 09/21] style cleanup: prefer ' for strings

2010-10-24 Thread James Cameron
On Sat, Oct 23, 2010 at 01:11:59PM +0200, Sascha Silbe wrote:
 Anything else you'd like changed or do you think it's ready to go in?

Otherwise it's fine.

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] broken playback in record and jukebox

2010-10-24 Thread James Cameron
On Fri, Oct 22, 2010 at 03:31:23PM -0400, Erik Blankinship wrote:
 If I pause a video in either the record or jukebox activities and wait
 about 20 seconds, then just moving the mouse causes the video to go
 blank!   Or I can wait about 80 seconds and the video will go blank on
 its own.

Is Automatic Power Management (My Settings, Power) enabled?

Does the power LED blink?

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] broken playback in record and jukebox

2010-10-24 Thread Erik Blankinship
On Sun, Oct 24, 2010 at 9:38 PM, James Cameron qu...@laptop.org wrote:

 On Fri, Oct 22, 2010 at 03:31:23PM -0400, Erik Blankinship wrote:
  If I pause a video in either the record or jukebox activities and wait
  about 20 seconds, then just moving the mouse causes the video to go
  blank!   Or I can wait about 80 seconds and the video will go blank on
  its own.

 Is Automatic Power Management (My Settings, Power) enabled?


Yes, it is on.


 Does the power LED blink?


Not that I have noticed.
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [IAEP] stepping down as maintainer

2010-10-24 Thread James Cameron
Fascinating fragment ...

On Sat, Oct 23, 2010 at 11:42:24PM -0500, David Farning wrote:
 Sugar Labs is lead by veto rather than vision. A _symptom_ is the
 development process. It it easy to have fix commited to Fedora or
 OLPC.  It is hard to have a fix commited to Sugar Labs.  When someone
 sends a useful fix to either OLPC or Fedora, a senior developer takes
 the patch, review it, fixes it up (if necessary) and thanks the
 contributor.  This provides an incentive and on-ramp for less
 experienced developers to participate and contribute.
 
 Sugar Labs rejects most patches.

Seems to be a 90% chance, yes.  ;-)

 Once a patch is technically correct, which can take several iterations
 for a new developer, it is forward to another developer for their vote
 of approval.  The end result is that very few people bother to submit
 patches upstream.

Yes, you're on the right track here.

For other open source projects where I am maintainer, if a patch is
proposed which is nearly right, then I tend to merge it and correct it
rather than reject it.  I'm often confused as to why Sugar maintainers
don't merge and correct rather than reject.  I don't think it is due to
lack of time, since it can take longer to reply in detail than to merge
and correct.

 The _disease_ is a marginalization of anyone who dissents.  As a
 result no one is willing to take a risk.  There is an unwritten
 checklist for participation.

In Australian culture, dissent is normal and anticipated, being embedded
with fair go and underdog support behaviours.  Being a regular
dissenter is one of the reasons I enjoy reviewing patches.  I'm not a
maintainer of any Sugar components.  I don't get to merge the patch, but
I can still reduce the load on the maintainer by pointing out the
obvious ... giving the underdog contributor a fair go, and treating
the maintainer as a tall poppy who isn't necessarily doing their job
right.  ;-)

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel