Planet Sugar

Planet Sugar is a collection of personal blogs by Sugar Labs contributors. Sugar Labs is a world-wide organization of passionate people working together to solve the same problem: giving everyone an opportunity to learn to learn. Our community members write about what excites them about learning, Sugar, and the Sugar community. In the spirit of free software, we share and criticize—that is how we learn and improve and encourage participation by newcomers. Enjoy and join the conversation.

August 30, 2014

Sugar Cordova

The Final Post

Sorry people, been a long time since the previous post. The reason being I was busy coding up the plugins and things, so never got much time to concentrate on posting side. Never mind, we are back with a whole wrap up post for all of you. Also made videos to demonstrate the concept.Hope you find it interesting.

Its been months of hard work and thought process. Days full with coding and exploring things in and out. Must say it has been a great experience working for Sugarlabs as a part of Google Summer of Code. My mentor , Lionel Laské , has a great share to that, he has been very supportive in all the adventures and trusted upon me which infact boost my motivation to work for the project. I have seen mentors forcing their students to accept their methodology and do the way they want , but the best thing I liked about this was the exploration part, where we were free to dive into the different parts of code, swim through them till we got our treasure ;-) During this exploration we faced many issues, but thanks to the support of Gonzalo and Walter who used to help us whenever we required.I use to trouble Gonzalo a lot when it came to the native part of plugins, asking him how that could be done or why it didnt work as expected. Thanks Gonzalo for your support and time without which I guess the project wouldn't have been where it is.
Things still remain, but I hope to work on it after gsoc too :-) gsoc has been just a medium to be introduced to such a lovely community and I would like to thank Google for that , for introducing such a wonderful programme which brings together the developers and students to make some magic ;-)
Talking about the project progress - it is through with the cli part and plugins like - accelerometer, camera, dialog,device, globalization and network. We hope to develop more and improve upon those which we already have. Also we aim to club this with sugarizer. I had decided to make some videos during mid of August showing the working but the week which I kept for making videos , suddenly my system crashed ( because of update from ubuntu 12.04 to 14.04) so instead of making videos, I had to debug it and bring it back to the working state.Now its up and working :-) (thankfully ! ) I made a few videos to give you all an idea of what we have tried to achieve. Please go through these ( Make sure to switch on the subtitles if not already ):

<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=",0,40,0" data-thumbnail-src="" height="266" width="320"><param name="movie" value=";f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata"/><param name="bgcolor" value="#FFFFFF"/><param name="allowFullScreen" value="true"/><embed allowfullscreen="true" height="266" src=";f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" width="320"></embed></object>

Making a sugar activity from web app using cordovoa

<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=",0,40,0" data-thumbnail-src="" height="266" width="320"><param name="movie" value=";f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata"/><param name="bgcolor" value="#FFFFFF"/><param name="allowFullScreen" value="true"/><embed allowfullscreen="true" height="266" src=";f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" width="320"></embed></object>

Demo of the plugins coded through the summer

Hope you find the video useful,Here is the repo link which you would require incase you decide to play around with the code<wbr></wbr>puneetgkaur/sugar-cordova

Also as the project is not completed we would be up on it and pushing more changes , so keep around ;-) 

by Puneet Kaur ( at August 30, 2014 04:45 PM

August 29, 2014

Somos Azucar

Git para Sugar

Hace un mes leí un artículo brillante de Katie Cunningham donde ella describía parte de su estrategia para realizar talleres de Python. Dedicándome últimamente con mucha pasión a esta actividad, pero con grupos objetivo diferentes (yo enseño a niños), tomé nota de sus experiencias y sobretodo me pareció que el uso que daba a la herramienta Git era brillante.

Katie sugiere que gran parte del tiempo en un taller de Python se “pierde” mientras los aprendices copian ejercicios. Git le permitiría empezar la sesión con una versión simple de un programa y luego pasar a la siguiente “en un paso”, sin copiar, de esta manera invirtiendo el tiempo del aprendiz más bien en modificar cada versión subsiguiente y así comprender el funcionamiento del mismo, en vez de en la mecánica de escribir el programa en primer lugar.

Sin embargo para mí, el uso de Git en la terminal es todavía demasiado obtuso para poder enseñarlo efectivamente a niños. Los conceptos en sí son simples, pero la abstracción se me hace demasiada. Por eso es que empecé el desarrollo de una actividad de Sugar que facilite visualizar el historial de un proyecto, y en general trabajar con git. Mi principal inspiración es “Gitg” para gnome, pero me interesa realizar un trabajo de simplificación de los flujos de trabajo que se necesitan en el contexto de un taller de Python, como los que describe Katie.

De momento es solo un prototipo pero ya sirve para navegar el historial usando una barra de tiempo:

Comparto anticipadamente para recibir comentarios e ideas.

Estoy documentando el proyecto en nuestra wiki.

by icarito at August 29, 2014 04:26 AM

August 28, 2014

Somos Azucar

Resumen de actividades Laboratorios Azúcar August 28th

Este es el resumen de actividad para la comunidad Laboratorios Azúcar.

Éste se compone de una agregación de fuentes como nuestro gestor de tareas, Wiki, y blogs.

Puedes publicar un comentario o participar de diferentes formas.

Si tienes una noticia o una fuente que deberíamos incluir (como un blog, etc), avísanos a todos(arroba)

Hubo 85 eventos esta semana.

generic (feed #9)
generic (feed #9)
generic (feed #8)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #8)
generic (feed #8)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #8)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #8)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)
generic (feed #9)

by operador del sitio at August 28, 2014 12:32 AM

August 17, 2014

Fargo XO / Sugar Labs NDSU

Tissue Paper Reforms: Coding for Kindergartners | Larry Cuban on School Reform and Classroom Practice

Tissue Paper Reforms: Coding for Kindergartners | Larry Cuban on School Reform and Classroom Practice.

Larry Cuban’s post provides a really nice, concise history of Logo and coding efforts.  As he notes at the end, the Papert effort can be inspiring and instructional, as it has been for our Sugar Labs effort, but we also hit a wall and have suspended the program, as Cuban would expect . : )

by kab13 at August 17, 2014 01:55 AM

August 13, 2014

Tomeu Vizoso

Dynamic scaling of the memory bus

The problem

These days there's quite good support for CPU scaling in the mainline kernel, and many ARM SoCs are making use of it already. But in modern hardware with lots of very fast external memory, running the memory bus at its maximum frequency drastically reduces the amount of time that the device can run when on battery.

A problem that many teams are finding when trying to upstream their power management code is that there's currently no way for several clock consumers to influence the frequency of the memory bus. There has been a few tries to upstream the solutions currently in vendor trees, but so far no acceptable solution has been found.

I'm helping to upstream some of the stuff in the ChromeOS tree, and this issue is currently blocking very interesting work from reaching mainline.

The past

In the vendor tree for Tegra this is addressed by creating virtual clocks that are child of the clock that wants to be influenced. Depending on the type of the virtual clock, setting its rate will influence the rate of its parent clock by setting a floor or ceiling value.

In Qualcomm's vendor tree for the Snapdragon family of SoCs, the concept of a voter clock is introduced. Drivers can vote on the rate of a given clock by "voting" through a child clock, so not that different to how Tegra does it.

Both approaches have the critical disadvantage of adding clk instances for things that aren't real clocks, thus making the API considerably more confusing for relatively little gain.

Both vendor trees have additional API for registering bandwidth needs: tegra_isomgr and msm_bus_scale. They bear quite some resemblance with each other and with pm_qos_interface, but both are tightly tied to specificities of their platforms.

The discussion was brought back to life a couple of months ago when a patch was posted for allowing the tegra-drm driver to set the frequency rate of the external memory controller based on the amount of bandwidth that was needed by the display controller for refreshing the display. Of course, that patch was rejected because there are other components that need to have a say in the frequency rate of the memory bus.

But in that discussion some kind of plan took form and I have been working on making something from it that can be merged upstream.

A possible future

There's so far two main additions to existing frameworks, with the rationale being explained further below:
  • Add per-user floor and ceiling constraints to the Common Clock Framework, so drivers can set maximum and minimum frequency rates that the clock should respect. Patchset here.
  • Add a PM_QOS_MEMORY_BANDWIDTH class to pm_qos, for drivers to register their expected bandwidth needs. Patchset here.
The idea is for the following agents to be able to influence the current frequency of the memory bus:
  • Thermal: a cooling device would call clk_set_ceiling_rate to cap the memory bus to a frequency based on the current temperature.
  • Power: a battery driver would set a ceiling in the same way, based on the remaining capacity.
  • Devfreq: a devfreq driver wrapping a power management unit such as the ACTMON on Tegra or the PPMU on Exynos would set a floor frequency based on the current load stats.
  • Cpufreq: a cpufreq driver would set a floor frequency based on the current CPU frequency.
  • Devices that can anticipate how much memory bandwidth will need (such as the display controller, the camera, multimedia codecs, an ISP, USB, etc) would register their requirements in the PM_QOS_MEMORY_BANDWIDTH class. The EMC driver would be listening for notifications and setting a floor frequency based on the aggregated bandwidth that is needed.
The impression so far is that this approach matches the needs of the Tegra and Exynos SoCs, and people working on Rockchip upstreaming are evaluating it. Others working on other SoCs are very welcome to look at it and comment, so the result is also useful to them and they can improve their power management in mainline without having to refactor things later.

by Tomeu Vizoso ( at August 13, 2014 03:36 PM

August 09, 2014

OLPC San Francisco blogs

In-person, online or both?

We are getting ready to set up the annual community summit (2014 will be the sixth such summit) and we've made a significant change to the way we organize it. This year, we will be running an online and an in-person event. The summit will be held October 17 to 19, 2014. You can either be here with us in-person, or be online and attend! Let us know what your thinking is at this time, so we can organize accordingly.

Take the poll and help us plan!

by sverma at August 09, 2014 10:33 PM

OLPC San Francisco Community Summit 2014

OLPC San Francisco Community Summit 2014

from October 17 to 19, 2014

in San Francisco, California, USA

and online worldwide!



Mark your calendar!

This will be a online-and-offline event with opportunities to attend and present both online from the comfort fo your home, or in person in San Francisco. More details coming soon.

by sverma at August 09, 2014 10:22 PM

August 01, 2014

Sugar Experiments of gp94

GSoC Update #8

This week was spent mostly on writing tests for Read. The major issue we were facing is that, we couldn’t open files in Read activity using the objectchooser. So, Gonzalo sent a novel way of doing the same use case. in a different way and it worked perfectly. Here is the link of the conversation on the mailing list.

I have successfully written tests for Read and also added some helper functions in of sugar-toolkit-gtk3 that are required for writing tests for the activities.

Here is the commit of the test of the Read activity and here is the merge request/codereview for the same.

Here is the commit of the helper functions for in sugar3 and here is merge request/codereview for the same.

Next week, my focus will be work on the writing tests for imageviewer using the same approach as used in Read activity. After, the same is done and time is left then I will also continue on the work where I left off for Browse activity.

August 01, 2014 06:32 PM

July 30, 2014

Rafael Enrique Ortiz Guerrero

Tastypie filtering

Tastypie is a django restful api

Here is a little recipe to show only the last resource of eache model exposed as WS:

class RequestResource (ModelResource):
    """ Request webservice
    class Meta:
        queryset1 = Request.objects.order_by('-id')
        queryset = queryset1.all()[:1]
        resource_name = 'requestresource'
        authorization = Authorization()

Another recipe to show also a foreing key in a given resource:

class EmployeeResource (ModelResource):
    """ Employee webservice
    user = fields.ForeignKey(UserResource,'user',full=True,null=False,blank=False)

    class Meta:
        queryset = Employee.objects.all()
        resource_name = 'employeeresource'
        authorization = Authorization()

by Dirakx ( at July 30, 2014 03:24 PM

Git for Sugar

One of the firsts walls or obstacles to enter Sugar development is learn our favourite control version system [git], although somewhat counter-intuitive at the beginning, git is a very powerful tool, I wish there could be another way to have a collaborative way of development for kids, but we are not yet there.(could be other ways?)

For starters you would have to go to our web-ui git instance called [gitorious],

you can clone

git clone git://

or make a personal clone of a project of your election on the web-ui.

keep your project up-to-date with

git pull

you can also make a patch and sent it ot the developer

git format-patch HEAD^

Note: is preferable that you generate your patch from the root directory of your project.

if you want more visibility or reviews you can also send your patch to sugar-dev mail list.

git format-patch -s -1
git send-email --to maintainer --cc mailing-list filename
For example:

git send-email 0001*.patch

as a maintainer you can apply patches, sent by others, in this case you have
a file called sugar_fixes.patch

git apply --stat sugar_fixes.patch
git apply --check sugar_fixes.patch
git apply --apply sugar_fixes.patch or git am --signoff

o make merge requests using gitorious ui.

Some commands may seem very hard, but it's a matter of practice, and the combination of command line interface and gitorious ui, could be very practical both for development in terms of code maintain and for coordinated and collaborative development between various people.


by Dirakx ( at July 30, 2014 03:23 PM

July 29, 2014

Fargo XO / Sugar Labs NDSU

Inspire Innovation Lab founder passionate about engaging children, community in STEM education | INFORUM

Inspire Innovation Lab founder passionate about engaging children, community in STEM education | INFORUM.

Sugar Labs supports a smarter (computing) culture.  I think we should see if the innovation lab wants / needs some XOs.  Or maybe we can build Rich Rice’s XO kiosk.

by kab13 at July 29, 2014 06:41 PM

July 22, 2014

Sugar Cordova

Working of sugar cordova


So its been some time after the previous post and we have made some serious progress after that :-)

The  work undertaken and done are as follows :

1. Improving upon on the codebase for cli
2. Making the basic layer for cordova for sugar to add plugins upon it
3. Making cli work on the windows platform
4. Completing accelerometer
5. Working on camera

So to discuss what we have got through this time ,I would like to take you through an example of a simple Hello World app , telling you how you can generate your own .xo from any web app and deploy it to your sugar environment.

To be precise, a web app signifies a bundle of files written in html,js and css and having some backend logic to perform a concrete task.Now the point concerning here is to get that web app to your sugar environment. The steps involved would be :

1. Setup your development environment - follow the instruction mentioned here
2. Issue  the following command to  to create a new cordova app :
cordova create <app_directory> <app_package_name> <app_name>
3. Now insert all your web app stuff to the www directory of the newly created project
4. To convert this web app to the .xo isa two step process : 
       (i) first add the sugar platform to your newly created cordova project by using command : 
cordova platform add sugar 
       (ii) Then you build the project after making changes to web app if you wish to make any; by the command: 
cordova build sugar
       (iii) Find your newly create .xo in app_directory/platforms/sugar/<wbr></wbr>cordova/<app_name>.xo
5. Now we can copy and paste the .xo in our sugar environment and issue the following command to install the xo :
sugar-install-bundle <name>.xo 


1.As an added feature we have provided a --noframe option to the users who already know about sugar web. In that case we shall add no sugar -web feature in the index.html, that means the app_directory/www/index.html must contains all the toolbar and sugar ui related stuff like the index.html in the sugar-web-template. If you give no option in the build command, it is by default assumed that you dont know about sugar web and your web page is added in an iframe in the final index.html along with the sugar ui which is added around it. So you gotto decidie whether to leave the option of adding the sugar ui to the cordova-cli or do it on own. For the former you dont need any option and its activated by default while the later can be acheived by issuing the --noiframe option along.

2.In the windows environment the zip command that is used to create the .xo by the cordova build command doesn't work. So we provide an alternative for that. All the windows users are expected to set an environment variable name ZIPCOMMAND to something similar to the "zip -r" for windows. That is, it should be able to create a zip file recursively, as an option , people can use 7zip which gives an excellent command line tool for creating zips. So install 7zip and issue the following command before issuing cordova build command on windows : 
set ZIPCOMMAND="c:\Program Files\7-Zip\7z.exe" a -r -tzip -aoa

Apart from this, we are currently working on providing you with various plugins for cordova which shall make the communication with the device capabilities easier. You can find the plugins here :<wbr></wbr>puneetgkaur/cordova-plugins , so in this repository we have two folders : one for the plugin and other a sample sugar cordova with the concerned plugin.

Have a look at the sample web app we used : 

Screenshot of the web app in the browser :

The web app as in the sugar shell :

Source of the sample web app :



<meta charset="utf-8" />

<meta name="format-detection" content="telephone=no" />

<!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See -->

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

<link rel="stylesheet" type="text/css" href="css/index.css" />

<meta name="msapplication-tap-highlight" content="no" />

<title>Hello World</title>



<div class="app">

<h1>Apache Cordova</h1>

<div id="deviceready" class="blink">

<p class="event listening">Connecting to Device</p>

<p class="event received">Device is Ready</p>



<script type="text/javascript" src="cordova.js"></script>

<script type="text/javascript" src="js/index.js"></script>

<script type="text/javascript">




We'll hope to be back with  a lot of cool developments on the plugin development front, so till then enjoy experimenting with sugary cordova ;-)

by Puneet Kaur ( at July 22, 2014 01:52 PM

July 18, 2014

Sugar Experiments of gp94

GSoC Update #7

Work done this week-
1. Read wasn’t opening correctly and gave an error in which was solved by gonzalo. I helped a little in debugging and testing the patch.
2. The files being displayed in objectchooser were incorrect. So, informed gonzalo and the patch for it was submitted by him. Pinched in for testing and debugging of the error.
3. Next problem was to access the path of the documents folder, which is not generic in sugar. So, again gonzalo pointed me the function of get_documents_path() in jarabe/activity/ That solved the document path issue.
4. While progressing on writing tests for Read, I stumbled across a GError while running the tests, after finding more about them, I found that Read were running on some Dbus settings X and as soon as the objectchooser is loaded, the dbus settings change to something else(They take the dbus settings of the journal). Leading, to the pyatspi(the main library used to testing) to infer that the read activity, process has hung up. I haven’t been able to find anything substantial that could solve the given problem.
6. Worked a little on documentation and the testing guide of the tests.

To Do—
1. Work on Browse and Chat
2. Complete the testing guide and documentation of individual activities.

Problems in writing tests for some activities
1. TurtleArt (Reason : ta is gtk2 and tests currently run on gtk3.So, the conflict lead to the unsuccessful attempt at writing the tests for them)
2. Read and Imageviewer (Reason : GError : timeout in dbind, leading the pyatspi to assume the activity to be hung) Only, the basic tests for them have been possible.

July 18, 2014 04:52 PM

July 04, 2014

Porting Sugar to Python3

Porting to Python3 Progress

In the last couple of weeks I worked on porting the following sugar modules and submodules to Python3, you can check out  my progress in my own repositories(they are not complete yet , so there might still be some errors):

1) Original repo:
    My repo:
    Changes: Changes in Python3 syntax ,string usage etc in and and different commands in the command folder and called virtualenv with Python3.
2) Original repo:
    My repo:
    Changes: These are the required changes that I made in the osbuild module:
3) Original repo:
    My repo:
    Changes: Some other basic Python3 syntax changes and some errors that i reported in my common porting errors wiki blog post.
4) Original repo:
    My repo:
    Changes: Just a couple of changes as the module name Queue was changed to queue in python3 and the name basestring has disappeared.
5) Original repo:
    My repo:
    Changes: This was a C module written for Python2 but there have been some changes in the C-api for Python3.
The new PEP standard for initialization of extension module:
Porting Extension modules to Python3:
So with the help of  the above links , I did the necessary changes in the sourcestamp module.

6) Original repo:
    My repo:
    Changes: Basic python3 changes using and iteration of 2to3 and they seem to be working for now.

In the following modules, I have done all the trivial Python3 syntax changes and currently working on removing the remaining bugs and errors.

7) Original repo:
    My repo:

8) Original repo:
    My repo:

9) Original repo:
    My repo:

10) Original repo:
    My repo:

So, currently I am working on building and integrating all the modules successfully together and sorting out the errors and bugs that come in my way.

by kunal arora ( at July 04, 2014 05:52 PM

June 23, 2014

OLE Nepal

Comparing Deployment Data with XOvis

It is hard to believe that six months have already passed since my arrival to Kathmandu. My volunteering time at OLE Nepal is up. At the end of May, I delivered a final presentation about XOvis, an XO usage visualization application our Data Quest Team has developed, and bid farewell to my Nepali colleagues. From [...]

by martasd at June 23, 2014 02:57 PM

June 17, 2014

Porting Sugar to Python3

Porting to Python3 Progress

Last week I tried to solve the telepathy issue. The telepathy issue is basically that the telepathy library used in sugar is deprecated and not compatible with Python3 so we had to do something about it.

On researching, I found out that telepathy-glib is the new library which has taken over for telepathy-python and we need to write the telepathy-glib code in gobject convention in order for it to be compatible with introspection and also telepathy-glib is compatible with Python3.

But i had no idea what all these were, so i started reading up on telepathy,telepathy-glib,gobject,introspection,dbus etc. So all this new stuff was a little overwhelming and was taking too much of my time so in friday's sugar meeting, Walter Bender suggested to leave telepathy for now and port other modules first and that is exactly what i am going to do this week and i'll try to port as much code as possible this week and try to increase the test coverage too and after that we'll take care of telepathy.

Also side by side I continued working on porting sugar-build. 

by kunal arora ( at June 17, 2014 04:14 PM

May 15, 2014

Walter Bender

Sugar Digest 2014-05-15

Sugar Digest

Happy 6th Birthday Sugar Labs

1. I just got back from Turtle Art Day in Kathmandu, Nepal. OLE Nepal helped organize a 2-day workshop with 70+ children from four schools. Many thanks to Martin Dluhos, Basanta Shrestha, Subir Pradhanang, Rabi Karmacharya, Bernie Innocenti, Nick Dorian, and Adam Holt, all of whom contributed to the event.

It was not a surprise that children in Nepal are like children everywhere else: they take to programming like ducks to water. We began by taking the children in small groups to learn some basics about controlling the turtle: one child plays the role of turtle, one holds the pen (a piece of chalk) and the rest, in a circle, instruct the “turtle” how to draw a square. They need to be very precise with their instructions: if they just say “forward” without saying how far forward, the turtle keeps walking. If they say “right”, without saying how far to turn, the turtle keeps spinning. After they draw a square, I ask them to draw a triangle then they are ready to start with Turtle Art. I’ve posted a few of the chalk drawings in the wiki: simple ones from my session to more elaborate from those working with another one of the mentors.

After working with chalk, we went to the computers. On a laptop connected to a projector, I introduced Turtle Blocks, and again ask for a square. I show them that they can snap together blocks, e.g., forward 100, right 90; showed them the repeat block; and then I show them how to use the start block to run their program with the rabbit or snail (fast or slow). Over time, I introduced the pen and let them explore colors for awhile. Next, I introduce action blocks: make an action for drawing a square and then call that action inside of a repeat block followed by right 45, and you get a pretty cool pattern. This was followed by more open-ended exploration. I introduced a few more ideas, such as using “set color to heading” (the color is determined by the direction the turtle is heading); “set color = color + 1″ to increment the color; and “set color = time” to make the color slowly change over time. I also introduced a few other blocks, such as show, speak, and random. Finally, I introduced boxes. For this, I use a physical box: I ask the children to put a number (written on paper) in the box; then I ask them what number is in the box. I ask them to take the number in the box and add 1 to it. Again I ask them what number is in the box. I repeat this until they get used to it; then I show them the same thing using Turtle. The example program I write with them is to go forward by the amount in the box, turn right, and add 10 to the number in the box. I asked them what they think will happen and then show them that it makes a spiral. When they run it with the “snail”, they can see the number in the box as the program runs. Another block I explicitly introduced was the “show” block. We programmed an animation with “show image”, “wait 1″, “show image”, “wait 1″, … They recorded dance steps using the Sugar Record activity and used those images in their Turtle projects. As often as possible, we tried to have a child show their work to the entire group. At the end of the second day, we had a table set up for an exhibition; we had to keep adding more tables as more and more children wanted to show off their projects.

We originally planned on break-out sessions on Day Two, but we had a technical glitch on Day One, that slowed things down quite a bit. The children were running Sugar 0.82 on XO-1 laptops, which is nearly six-years old. They had them connected to the mesh network, which cannot scale properly to 70+ machines. The result was a lot of frozen machines. It took most of the day to figure out what was wrong. Once we turned off the radios, everything worked great. I also had to spin a stripped down version of Turtle Art, since a number of dependencies I use, such as some Python 2.7 features, were unavailable on 0.82.

We did have one break-out session for robotics. I brought a Butia to Nepal and I wrote the typical program with the kids to have the Butia go forward until it got to the edge of the circle (everyone was sitting in a circle on the floor); whomever the Butia approached had to push a button so that the Butia would spin and then go in another direction. We then added a few embellishments: the Butia would say “ouch” or “that tickles” when the button was pushed; and we had it take a picture of the child who pushed the button. We saved the files so we could use them to make an animation in Turtle Art.

Of note: One child approached me to say he is teaching himself to program Python. I showed him how to export Python from his Turtle Art projects. I’ll be curious how he uses that feature. I am making a new set to Turtle Cards to demonstrate the steps we took in explaining Turtle to the children.

Photos: [1] [2] [3] [4]

2. While I was in Kathmandu, I had a chance to meet with the Nepali FOSS community, thanks to Shankar Pokharel, Ankur Sharma, and Subir Pradhanang. We had a nice talk about the challenges and opportunities facing FOSS in Nepal.

3. Just before my trip to Nepal, I was in Mexico DF attending Aldea Digital. The central plaza in Centro Historico is turned into the world’s largest free Internet cafe for two weeks. I gave a lecture about Sugar and ran an impromptu Turtle Art session. (We installed Sugar in a VM on twenty Windows 8 machines and ran a session.) I also had a chance to meet Ian, the 9-month old baby of Carla Gomez: a future Turtle Artist.

In the Community

4. Mike Dawson, formally of OLPC Afghanistan, wrote a nice commentary on the Keepod in which he mentions Sugar on a Stick.

5. Google Summer of Code begins on the 19th of May. We’ll be meeting every week in IRC on Fridays at 2PM EST.

6. There is still time to enter the Sugar Background Image Contest.

Tech Talk

7. Daniel Narvaez has been building F20 images for XO: The XO-1 image boots into Sugar (latest from git) and wifi works. He has also built XO-4 images.

8. Daniel also built tarballs for 0.101.5 (sugar-0.101.7.tar.xz and sugar-toolkit-gtk3-0.101.5.tar.xz). We are now in string, API and UI freeze.

9. Please help us with testing of Sugar 102.

Sugar Labs

10. Please visit our planet.

by Walter Bender at May 15, 2014 05:45 PM

May 08, 2014

Tomeu Vizoso

GNOME API reference at the DevX hackfest

Last week I spent a few days at the Developer Experience hackfest and got to have some fun again with the API reference generator in gobject-introspection.

Jon intended to hack on the XSLT stylesheets in yelp-tools/xsl, but after some trying he got discouraged by the amount of work that would take to get them to generate the HTML that we are interested in. We also discussed the benefits of using Mallard for generating the reference docs, and given that we want to generate a single output, we couldn't see much value in the level of indirection that Mallard adds.

Thus, we considered generating HTML directly from the GIR files, but shortly after Alberto Ruiz came by and offered to explore a client-side-only solution involving processing JSON files with JavaScript.

He very quickly got something relatively complete, which is very encouraging, but even more so is seeing how other projects are generating their API references that way, for example:!/api/Ext.Class

Aspects such as as-you-type search would bring the online documentation on par with the Devhelp experience. Plus they have some niceties such as a symbol browser and links to annotated source code.

I have hacked a (yet another) --write-json-files switch to g-ir-doc-tool that will output the content of the GIR file to JSON, but indexed and formatted as needed by the JS side of things. See this branch for the code.

That branch also adds support for Markdown rendering using python-markdown, but some more code needs to be written to implement the extensions to Markdown that the Gtk+ docs are using.

It was great to talk about all this and more with old and new friends in Berlin, so I'm very grateful to the GNOME Foundation for organizing it and sponsoring travel, and to Endocode for providing a venue. And special thanks to Chris Kühl for the great organization!

by Tomeu Vizoso ( at May 08, 2014 12:41 PM

May 02, 2014

OLPC Learning Club

Two D.C. area Scratch Day 2014 events coming up!

While we are no longer meeting as the OLPC Learning Club (I have a personal and club update nearly ready to post), there are two Scratch Day celebrations coming up in the D.C. area on Saturday May 17, 2014 that were jumpstarted by club members.

Jeff Elkner, who hosted many club meetings at the Arlington (Virginia) Career Center, has engaged with the staff of Hoffman-Boston Elementary School in Arlington to help them stage their first Scratch Day. They are calling it the All Star Computer Programming Party. I’ve enlisted Michael Badger, author of the new book Scratch 2.0: A Beginner’s Guide (Second Edition), to make a guest appearance. The school’s STEM team will showcase a number of other fun coding tools. Dell Computer and George Mason University are also sponsoring. For more information, visit this link:

Hoffman-Boston Elementary School All Star Computer Programming Party

In D.C., our amazing friend Leshell Hatley of Uplift, Inc., is doing her third Scratch Day, moving this year to Howard University’s Computer Learning & Design Center (CLDC). Kevin Cole, who has hosted many, many club meetings at Gallaudet University, helped Leshell get her first event going. Uplift, Inc. is a 501c3 nonprofit immersing students in STEAM and CS education. For more on Uplift’s Scratch Day, visit this link:

Uplift / Howard University Scratch Day

Both events are open to the public, but the Uplift / Howard University Scratch Day asks for an RSVP.

While Scratch 1.4 is still in wide use, many are adopting the new web-based version, Scratch 2.0, which has been completely rebuilt from “scratch” and substantially enhanced. Just in the last few weeks, support for the Lego WeDo robotics kit was added to Scratch 2.0 and a touch tablet version called ScratchJr. was announced. Exciting times lie ahead for Scratchers of all ages!

Mike (Twitter: @curiouslee, Instagram, Flickr, Facebook)

by Mike Lee at May 02, 2014 01:55 AM

April 25, 2014

Karma Project

Tinnitus miracle money back guarantee

Tinnitus creates discomfort to people suffering from it so they desperately search for ways to get rid of it. Thomas Coleman, the developer of is actually a sufferer of chronic disease. This actually means to say that he himself is knows how this cure works. Suffering from this ailment for over 14 years absolutely made him dedicated in finding the solution to his concern. Fortunate for those people who have the same condition Mr. Coleman decided to share his solution to everyone who wants to get rid of it for good. He did and he wants everyone who is suffering from it to be as healthy as he is now.

Tinnitus Miracle

Tinnitus Miracle

Tinnitus Miracle is a system developed by Thomas to be followed religiously in order to eliminate the buzzing, hissing and all those noise you hear on your ear. This is an entire system which guarantees effect within 7 days and if you are diligent enough to abide to each word written to change your lifestyle, you will not only say goodbye to your Tinnitus but to your unhealthy way of living for good. If you have this concern, you would know that whatever your doctor gives you is only something to temporary lessen the discomfort but the noise will come back and you are bound by the discomfort until you decide to change everything. The decision is yours to make. You are the only one who can decide whether you tolerate the discomfort or say goodbye to it, permanently.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" src="" width="560"></iframe>

by administrator at April 25, 2014 04:01 AM