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.
One Laptop Per Child continues to expand its educational program in Africa. Thanks to a generous donation from the Nommontu Foundation, OLPC provided 27 OLPC Laptops to Centre de Chirurgie Orthopedique et de Rehabilitation Sainte Marie de Rilima, the top health care facility in Rwanda for children with health issues. The Center cares for approximately 70 children for three or more months while they receive treatment. With this donation, these children have access to education and technology during their stay in the Center. OLPC provides ongoing training and guidance to facilitators and children. The OLPC team continues to work closely with the staff in the Center, as we strive to guide the process of technology integration into the lives of these children who otherwise would have no opportunity to receive a formal education or learn to use technology while they receive care at the Center. The children are delighted with this opportunity to learn and use technology to create and experiment. These children are truly a model of hope for their parents, community, nation and the world.
Here’s a better version of the video I played near the beginning of my talk:
I should start by pointing out that OLPC is by no means a niche or minor project. XO laptops are in the hands of 8000 children in Australia, across 130 remote communities. Around the world, over 2.5 million children, across nearly 50 countries, have an XO.
Investment in our Children’s Future
The key point of my talk is that OLPC Australia have a comprehensive education programme that highly values teacher empowerment and community engagement.
For low socio-economic status schools, the cost is only $80 AUD per child. Sponsorships, primarily from corporates, allow us to subsidise most of the expense (you too can donate to make a difference). Also keep in mind that this is a total cost of ownership, covering the essentials like teacher training, support and spare parts, as well as the XO and charging rack.
While our principal focus is on remote, low socio-economic status schools, our programme is available to any school in Australia. Yes, that means schools in the cities as well. The investment for non-subsidised schools to join the same programme is only $380 AUD per child.
Comprehensive Education Programme
We have a responsibility to invest in our children’s education — it is not just another market. As a not-for-profit, we have the freedom and the desire to make this happen. We have no interest in vendor lock-in; building sustainability is an essential part of our mission. We have no incentive to build a dependency on us, and every incentive to ensure that schools and communities can help themselves and each other.
We only provide XOs to teachers who have been sufficiently enabled. Their training prepares them to constructively use XOs in their lessons, and is formally recognised as part of their professional development. Beyond the minimum 15-hour XO-certified course, a teacher may choose to undergo a further 5-10 hours to earn XO-expert status. This prepares them to be able to train other teachers, using OLPC Australia resources. Again, we are reducing dependency on us.
Training is conducted online, after the teacher signs up to our programme and they receive their XO. This scales well to let us effectively train many teachers spread across the country. Participants in our programme are encouraged to participate in our online community to share resources and assist one another.
We also want to recognise and encourage children who have shown enthusiasm and aptitude, with our XO-champion and XO-mechanic certifications. Not only does this promote sustainability in the school and give invaluable skills to the child, it reinforces our core principle of Child Ownership. Teacher aides, parents, elders and other non-teacher adults have the XO-basics (formerly known as XO-local) course designed for them. We want the child’s learning experience to extend to the home environment and beyond, and not be constrained by the walls of the classroom.
There’s a reason why I’m wearing a t-shirt that says “No, I won’t fix your computer.” We’re on a mission to develop a programme that is self-sustaining. We’ve set high goals for ourselves, and we are determined to meet them. We won’t get there overnight, but we’re well on our way. Sustainability is about respect. We are taking the time to show them the ropes, helping them to own it, and developing our technology to make it easy. We fundamentally disagree with the attitude that ordinary people are not capable enough to take control of their own futures. Vendor lock-in is completely contradictory to our mission. Our schools are not just consumers; they are producers too.
As explained by Jonathan Nalder (a highly recommended read!), there are two primary notions guiding our programme. The first is that the nominal $80 investment per child is just enough for a school to take the programme seriously and make them a stakeholder, greatly improving the chances for success. The second is that this is a schools-centric programme, driven from grassroots demand rather than being a regime imposed from above. Schools that participate genuinely want the programme to succeed.
Technology as an Enabler
Enabling this educational programme is the clever development and use of technology. That’s where I (as Engineering Manager at OLPC Australia) come in. For technology to be truly intrinsic to education, there must be no specialist expertise required. Teachers aren’t IT professionals, and nor should they be expected to be. In short, we are using computers to teach, not teaching computers.
The key principles of the Engineering Department are:
Technology is an integral and seamless part of the learning experience – the pen and paper of the 21st century.
To eliminate dependence on technical expertise, through the development and deployment of sustainable technologies.
Empowering children to be content producers and collaborators, not just content consumers.
Open platform to allow learning from mistakes… and easy recovery.
OLPC have done a marvellous job in their design of the XO laptop, giving us a fantastic platform to build upon. I think that our engineering projects in Australia have been quite innovative in helping to cover the ‘last mile’ to the school. One thing I’m especially proud of is our instance on openness. We turn traditional systems administration practice on its head to completely empower the end-user. Technology that is deployed in corporate or educational settings is typically locked down to make administration and support easier. This takes control completely away from the end-user. They are severely limited on what they can do, and if something doesn’t work as they expect then they are totally at the mercy of the admins to fix it.
In an educational setting this is disastrous — it severely limits what our children can learn. We learn most from our mistakes, so let’s provide an environment in which children are able to safely make mistakes and recover from them. The software is quite resistant to failure, both at the technical level (being based on Fedora Linux) and at the user interface level (Sugar). If all goes wrong, reinstalling the operating system and restoring a journal (Sugar user files) backup is a trivial endeavour. The XO hardware is also renowned for its ruggedness and repairability. Less well-known are the amazing diagnostics tools, providing quick and easy indication that a component should be repaired/replaced. We provide a completely unlocked environment, with full access to the root user and the firmware. Some may call that dangerous, but I call that empowerment. If a child starts hacking on an XO, we want to hire that kid
My talk features the case study of Doomadgee State School, in far-north Queensland. Doomadgee have very enthusiastically taken on board the OLPC Australia programme. Every one of the 350 children aged 4-14 have been issued with an XO, as part of a comprehensive professional development and support programme. Since commencing in late 2010, the percentage of Year 3 pupils at or above national minimum standards in numeracy has leapt from 31% in 2010 to 95% in 2011. Other scores have also increased. Think what you may about NAPLAN, but nevertheless that is a staggering improvement.
Most importantly of all, quite simply, One Laptop per Child Australia delivers results in learning from the 5,000 students already engaged, showing impressive improvements in closing the gap generally and lifting access and participation rates in particular.
We are also engaged in longitudinal research, working closely with respected researchers to have a comprehensive evaluation of our programme. We will release more information on this as the evaluation process matures.
Join our mission
Schools can register their interest in our programme on our Education site.
Australia poses some of its own challenges. As a country that is 90% urbanised, the remaining 10% are scattered across vast distances. The circumstances of these communities often share both developed and developing world characteristics. We developed the One Education programme to accommodate this.
These lessons have been developed further into Unleash Kids, an initiative that we are currently working on to support the community of volunteers worldwide and take to the movement to the next level.
Tundikhel, an only vast open space in between the city, is now filled with families who lost their homes in the recent earthquake. As we drive, walk or ride pass through the lanes alongside Tundikhel, we can see numerous tents – some donated by China and some made locally by the sufferers. When OLE Nepal team visited the ‘refugee camp like place’ it was heart wrenching to see people in need of necessities required for survival. Many organizations from various backgrounds provided immediate relief effort, such as food, water, shelter, sanitation, etc.
Amidst all the chaos, OLE Nepal are particularly concerned about the welfare of thousands of children who have been affected in more ways than one – distressed, displaced and completely traumatized by the scenes of devastations all around them. As we try to rehabilitate communities, it is utterly important to pay special attention to the emotional and physical well-being of these children. Along with their physical safety, their psychological security needed to be duly addressed as well.
With so many schools destroyed, and communities displaced, many children are deprived of education and will be for months, if not years. In this critical time, it is important to give children the space where they can enjoy their time in quality learning and exploring.
In Kirtipur, Khokana and Bungamati, OLE Nepal is now providing relief to the children at Tundikhel. Following are the photos taken during the first day of our relief effort.
Supporting Program Schools in Baitadi About the program Three months ago, OLE Nepal launched it’s first ever Teaching with Technology Residency Program to support 15 primary schools that have started using digital learning materials in their classrooms. This year-long program engages 2 qualified and motivated young graduates to assist teachers to maximize the benefits from the wide range of digital resources made available at the schools. The Residents spent an entire month training at OLE…
This month, the **new** OLPC XO-NL3 Laptop is going to Ethiopia. Come and see the new device at work. We'll have a discussion with the project lead Andreas Gros of Facebook and project computer expert Sameer Verma of SFSU. Discussion will be moderated by Alex Kleider.
We will have Ethiopian coffee and light snacks.
- Meet and greet
- Ethiopia and the new OLPC XO-NL3 Laptop
- Project updates - Project working time
Our meetings are held on the second Saturday of every month. Everyone is welcome to join us for our monthly meeting! We'll be discussing the latest in OLPC events and give updates on our local (and global) projects. There will be plenty of XO laptops with the latest builds to play around with, too.
Acheter Du Vrai Escitalopram Générique Lexapro Meilleur Pharmacie Passer La Commande Lexapro Escitalopram Prix Le Moins Cher. Lexapro (escitalopram) est un médicament antipsychotique appartenant à la classe des inhibiteurs sélectifs du recaptage de la sérotonine (ISRS) Il est utilisé pour traiter la dépression et le trouble d’anxiété généralisée (TAG). Il peut également être utilisé pour traiter d’autres états, comme déterminé par votre médecin. Lexapro peut également commercialisé en tant que: Cipralex, Escitalopram, Esertia, Lexaprin, Seroplex.…
Yesterday I gave a short talk about the Chamelium board from the ChromeOS team, and thought that the slides could be useful for others as this board gets used more and more outside of Google.
If you are interested in how this board can help you automate the testing of your display (and not only!) code and hardware, a new mailing list has been created to discuss its uses. We at Collabora will be happy to help you integrate this board in your CI lab as well.
Thanks go to Intel for sponsoring the preparation of these slides and for allowing me to share them under an open license.
And of course, thanks to Google's ChromeOS team for releasing the hardware design with an open hardware license along with the code they are running on it and with it.
Believe it or not, Sugar has documentation.
But what if we could have more documentation? Maybe we could use a Recurrent
Neural Network to learn form the docs that we already wrote, to write new docs?
We'll, you can't say no if you don't try!
Let's do it!
We are going to use a library called Torch RNN, which
basically does everything for us:
docker pull crisbal/torch-rnn:base
mkdir -p $HOME/torch-rnn/sugar-data/
sudo chcon -Rt svirt_sandbox_file_t $HOME/torch-rnn/sugar-data/
sudo docker run --rm --tty=true --interactive=true --volume $HOME/torch-rnn/sugar-data:/data crisbal/torch-rnn:base bash
# Now we are running inside the pre-setup docker container
Great, not quit the docker container, we'll come back to that later. We first
need to extract the data from the help activity into a single text file to
train our network:
If you open the input.txt file, you will see that it is a pile of help
documentation text. This will be used to train our network. Go back into
the docker container (docker run ... from above) and now we can
train the network:
# python scripts/preprocess.py --input_txt /data/input.txt --output_h5 data/input.h5 --output_json data/input.json
Total vocabulary size: 117
Total tokens in file: 361025
Training size: 288821
Val size: 36102
Test size: 36102
Using dtype <type 'numpy.uint8'>
# th train.lua -input_h5 data/input.h5 -input_json data/input.json -gpu -1
Epoch 1.01 / 50, i = 1 / 5750, loss = 4.752145
Epoch 1.02 / 50, i = 2 / 5750, loss = 4.644123
Epoch 1.03 / 50, i = 3 / 5750, loss = 4.498253
Epoch 4.13 / 50, i = 360 / 5750, loss = 2.037364
Epoch 5.16 / 50, i = 478 / 5750, loss = 1.796518
Epoch 5.81 / 50, i = 553 / 5750, loss = 1.690430
While you're waiting, now is the right time to check out Presenter Club.
With Presenter Club, you can make great presentations, faster - even faster
than training this network! Presenter Club is the only speech first
presentation app. Best of all, it is free as in price and free as in AGPLv3.
Sign up for free while you wait!
So training the model is really slow. How slow? It took a good hour or
longer on my laptop. Fun fact - if you thought your laptop was slow because
it took long to compile WebKit, your laptop is not the best for machine
I trained it up to checkpoint 5750 (all the way until the training script
stopped!). Then I generated a few examples from the following seeds:
Browse is vilute signeds, bloptering whith to view. When are button then to eatch
Activity to make Ewigh 200, the community name a but work tiving the encrients and Vinuse losize rewill retund for bech are group,, and the serect stops you to chapsenars a
nd page can sugar for collenterax
In this other haptions
, mith to which it Protcusing by mavight, your nout moring on Called on) wating the ficas.
Oper bouttate. The seter indrograge can the improscay in the from Journal studebadatch
.. image :: ../images/Wirseding.rst-:
Sugar iswith in the re internal displayeetters Activity
senized and unternet we the coper's your cauleting what your find more sets and some sure messources.
.. image :: ../image`.png
1 and instrresples, wor this for icon, sugar Activite prosect more http:/,
This iesson locace anyill—boud, there ease conterster (1. 4 ancelser network can button: View is 22) and indease, the Ibacus alongmance is the Support Acking work phover. The tollows as mear 2005 ``impage.
Grame it worblest by choition
Scaning number used you can drog the friger with a felling files usife number on the plassiona selected inture is it.
Activity is desp.
- B loc. Anallably icon culd teen, have by while port of your projectles. Be seic-ter tcop peroce voractions:
4 Neyboard.ust” Chould entre turnerts type Finlest tito Actitition
Using, where to and copy you can timelabla
activity View make roing inswer main abovem.8. In starting: you are Sames Toold (Cactigins
* Actio domgs, it secosk done instateds, playboud
.. image:: ../imake': . Helt it click on lonks to match and your view to the lasts stepce think wates (will button Internils menu allange filew.
Using sterb reported ove Activity. Hele and searn you will finls of sansticed, that you ovelotalinent) (is invideat with open on a properting mane.
Tuble hill you wart the chilicking the access
So this is just random text for the most part. But it is important to appreciate
what the network has been able to learn even with our tiny dataset:
The rst .. image:: syntax
The normal length of paragraphs and words
Full stops are followed by capital letters
Bullet points are a thing
So, this technology is probably not yet ready to replace our actual documentation,
or even the contribitions of some GCI students! But this just highlights how
exciting machine learning is. Problems that traditional programmers
thought of as "hard" - like image clasification or translation - are now
just as easy as collecting a training dataset. If you want a function
approximated, then machine learning is your friend.
VC firms have said that mobile is eating the world, wearables are the future,
IoT will change everything, and VR will eat the world. Not every claim
has panned out for them. But I'm going to place my bets that machine learning
is not only the future, but the past and present. We live in very exciting
With the growing trend of internet and the proliferation of internet users, the business with e-commerce has been expanding. All the handy gadgets like mobile and tablets have further escalated the realm of e-commerce. Another major factor that has increased the pace of global online trading is the effective payment system. This helps the clients in getting the refined ways to pay for what they have ordered. With the use of state of the art tools and techniques available on the sites of global e-commerce, it has become easy for the customers to buy products which are not available in their local markets. But launching such website is not a piece of cake. There are many parameters that need to be analyzed before launching any global E-commerce site. It is imperative to delve into the detail of those five steps that helps to build an E-commerce site.
Assessing demand and supply
Before building an E-commerce site it is incumbent to analyze the demand and supply ratios for the products that are going to be launched by the site. For instance, it was observed that in China only a hand full of segments are available online. This presents that there is a lot of room available to build site of other much needed online retail segments by the clients. All such perspectives will enable the e-commerce operations to be successful not only in the local market but also the international market. Hence it is better to analyze and then select the products offered by the global E-commerce site under construction.
Product to be localized:
It is incumbent that the product should be made localized. This means that the product should make popular before launching it on the site. For instance, Mattel which is a toy making company launched Barbie doll in China. It was a complete failure because for Chinese girls this doll wasn’t attractive as this wasn’t as per the taste of the local people.
Site to be localized:
This means that the site should be localized in terms of language, style, and many shopping habits. It can be made clearer with the fact that if the site is unable to give a description of the products as per the language of the local people where most people would not understand English. This will eventually lead to failure of the site. So it is advised to hire a team for this purpose.
Accordingly, set the prices:
It is one the indispensable step. The site should manifest the price of the products as per the local currency. In order to enter the new market, it is important to launch the local prices for the successful business.
Privacy and data of the customer , to be focused :
As we all know that cyber safety has become a menace to the digital world. All the overseas customers want their personal data to be protected. So while building a global E-commerce site make sure to put privacy center messaging across the whole site and to hire a team to resolve privacy-related concerns.
This is a world of technology and every person has access to the internet, so business owners also consider it an authentic and effective platform for advertising their products. There is so much competition around as everyone is offering a quality product, effective strategies, and every such service which is the requirement of a customer. Most of the aspects of a business depend on the success of its marketing position and the goal of a successful business is to improve this position.
Internet marketing is basically an online marketing strategy that promotes a brand, services or products through the websites. It involves many aspects of the website such as designing, advertising, sales, and development.
Need of a Good Writer
Writing is a better expression of ideas and this could grasp the entire world in a fist. It needs depth knowledge and greater skills to be on the top of the best writers. Writers, particularly of nonfiction subjects, have gained a lot from marketing as they know the best way to put all the pieces together. They are the crux of a successful business because of the following major aspects:
Inspire and Incite Action
Storytelling is a creative way to entice the customer for a particular product. The effective writers create the content in a contagious way that could grasp the readers and make them the regular customer of a particular product. They write each piece of a content using the inspirational, emotive, personal, and suspenseful stories. Such writers ignite the fire so strongly that the customers are compelled to stick to the company for a long lasting period.
Plan before they write
A good writer never merges the scattered pieces instead; he makes a contextual framework about a particular project before putting it on paper. The social media and the entire internet marketing always highlight the importance of quality writing, so the content writers are always under pressure to create a good and quality content for a company. An effective writer has always a properly documented strategy and they follow it accordingly to trap the customer through an appropriate and more effective route. They analyze the writing again and again to ensure the objective of writing. Moreover, they also look at the competitors to give a unique angle to the writing and make the product most popular among the competitors.
Fulfill the Company goals
The entire marketing world highlighted the importance of an effective writer. Such writers not only provide a share and same metrics but also enhance the page views and assess how long a customer stay on the company page. The effective writers actually make the way for attaining a large number of company goals, as the writing strategy is very much aligned with objectives of a company. Such strategy could help the business flourish, grow, gain customers, make money and also retain loyalty.
Hence, a good writer creates such emotive content that could inspire the customers or the readers to start following the company.
Almost all of Collabora's customers use the Linux kernel on their products. Often they will use the exact code as delivered by the SBC vendors and we'll work with them in other pars of their software stack. But it's becoming increasingly common for our customers to adapt the kernel sources to the specific needs of their particular products.
A very big problem most of them have is that the kernel version they based on isn't getting security updates any more because it's already several years old. And the reason why companies are shipping kernels so old is that they have been so heavily modified compared to the upstream versions, that rebasing their trees on top of newer mainline releases is so expensive that is very hard to budget and plan for it.
To avoid that, we always recommend our customers to stay close to their upstreams, which implies rebasing often on top of new releases (typically LTS releases, with long term support). For the budgeting of that work to become possible, the size of the delta between mainline and downstream sources needs to be manageable, which is why we recommend contributing back any changes that aren't strictly specific to their products.
But even for those few companies that already have processes in place for upstreaming their changes and are rebasing regularly on top of new LTS releases, keeping up with mainline can be a substantial disruption of their production schedules. This is in part because new bugs will be in the new mainline release, and new bugs will be in the downstream changes as they get applied to the new version.
Those companies that are already keeping close to their upstreams typically have advanced QA infrastructure that will detect those bugs long before production, but a long stabilization phase after every rebase can significantly slow product development.
To improve this situation and encourage more companies to keep their efforts close to upstream we at Collabora have been working for a few years already in continuous integration of FOSS components across a diverse array of hardware. The initial work was sponsored by Bosch for one of their automotive projects, and since the start of 2016 Google has been sponsoring work on continuous integration of the mainline kernel.
One of the major efforts to continuously integrate the mainline Linux kernel codebase is kernelci.org, which builds several configurations of different trees and submits boot jobs to several labs around the world, collating the results. This is being of great help already in detecting at a very early stage any changes that either break the builds, or prevent a specific piece of hardware from completing the boot stage.
Though kernelci.org can easily detect when an update to a source code repository has introduced a bug, such updates can have several dozens of new commits, and without knowing which specific commit introduced the bug, we cannot identify culprits to notify of the problem. This means that either someone needs to monitor the dashboard for problems, or email notifications are sent to the owners of the repositories who then have to manually look for suspicious commits before getting in contact with their author.
To address this limitation, Google has asked us to look into improving the existing code for automatic bisection so it can be used right away when a regression is detected, so the possible culprits are notified right away without any manual intervention.
Another area in which kernelci.org is currently lacking is in the coverage of the testing. Build and boot regressions are very annoying for developers because they impact negatively everybody who work in the affected configurations and hardware, but the consequences of regressions in peripheral support or other subsystems that aren't involved critically during boot can still make rebases much costlier.
At Collabora we have had a strong interest in having the DRM subsystem under continuous integration and some time ago started a R&D project for making the test suite in IGT generically useful for all the DRM drivers. IGT started out being i915-specific, but as most of the tests exercise the generic DRM ABI, they could as well test other drivers with a moderate amount of effort. Early in 2016 Google started sponsoring this work and as of today submitters of new drivers are using it to validate their code.
Another related effort has been the addition to DRM of a generic ABI for retrieving CRCs of frames from different components in the graphics pipeline, so two frames can be compared when we know that they should match. And another one is adding support to IGT for the Chamelium board, which can simulate several display connections and hotplug events.
A side-effect of having continuous integration of changes in mainline is that when downstreams are sending back changes to reduce their delta, the risk of introducing regressions is much smaller and their contributions can be accepted faster and with less effort.
We believe that improved QA of FOSS components will expand the base of companies that can benefit from involvement in development upstream and are very excited by the changes that this will bring to the industry. If you are an engineer who cares about QA and FOSS, and would like to work with us on projects such as kernelci.org, LAVA, IGT and Chamelium, get in touch!
We are once again pleased to share that San Francisco Mayor Edwin M. Lee has declared November 5, 2016 as One Laptop per Child Day in San Francisco! The Proclamation was presented to Sameer Verma, Professor at San Francisco State University, and Founder OLPC SF by Carol Ruth Silver, a long time city official, social activist and author.
Just a quick thought. I'm running gtk3-3.22.0-2.fc25.x86_64. I just run
Sugar, a heavy user of the Gtk+ theming system. Usually, now is when I
submit a patch to port over some of the changes to the themes.
This cycle, the Gtk+ contributers had been saying that the theme api was
made stable in gtk 3.20. And hell yeah - they are right. I was thinking of
putting some pictures to show you just how it is exactly the same - they
got perfect compatibility! But showing pictures would be a waste of bandwidth!
So just to recap - Gtk+ 3.22 is a great toolkit. Beautiful api. Wayland, X,
a JSX/Gtk+ example) and of course Vala. Best of all you can just use CSS to
change how everything looks.
This is just an idea I had last night for improving the welcome screen UX, if it’s too much work or Dave and Yash don’t like it I understand. However, I may try to code it myself for fun if Yash doesn’t have time. :-)
My fear is that when users start the Edit Fonts activity for the first time they will be be lost and not understand what to do. Some users might not even have a basic understand of what vector drawing is or how a font is made. This welcome screen will at least give the users a basic idea about how to use the activity. Most importantly, this makes the first screen visualy interesting, interactive and fun. Many users may not continue with the activity if the first page is dull and boring.
I’m proposing that the welcome screen have 4 options, represented by icons and text, plus an editable .glyph that reads “Edit Fonts” in the Geo typeface. The Edit-Fonts logotype will be one .glyph file that is only loaded and never saved. see below:
I have added a Geo-Regular.ufo file to the gh-pages repo with a special “editfonts.glyph” logotype:
There are two neat things about this approach. First, it uses components we already have, the only work will be laying out the page, which Dave or I can attempt if Yash is too busy. Second, if the user never realizes that the edit fonts logotype is editable, it still functions as a logotype. A similar UX design pattern was used for the start screen of the game Super Mario 64, see below:
Last Saturday (July 9th) Eli and I met up to review the codebase, and the main issue I identified was that Travis was not set up with flake8 to test the codebase was conforming to the pep8 guidelines.
I’d filed Issue #17 for this, back at the start of the project on May 19.
Yash had started to develop the [.travis.yml](https://github.com/sugarlabs/edit-fonts-activity/blob/gh-pages/.travis.yml) file to build a .xo bundle but hadn’t complete this just yet, so I commended out most of the code and what remained is very simple:
# this makes travis run a fast Docker container systemsudo:false# we use python 2.7language:pythonpython:-"2.7"# we need to install flake8 to use itbefore_install:-"pipinstallflake8"# we check the codebasescript:-"flake8--statistics--ignore=E402--exclude=defcon,extractor,fontTools,fontmake,robofab,ufo2ft,ufoLib,snippets."
You can see there’s a few arguments passed that are pretty simple.
Stastics prints the number of occurences of each error, so you can fix the most common issues across the codebase first.
E402 is about the order of imports, but since we need to import gi to version later imports, we can’t adhere to that rule, so we ignore it.
We also exclude all the third party libraries, and our snippets.
Eli and I worked together on this and I finished it up on Sunday in Pull Request #65
Last week I spent some time working on WikipediaHI activity for Sugar Desktop Environment. I must say it is one of the awesome activities I have come across. The best part is that it can serve you with data in offline mode. That is even if don't have internet connection which is otherwise required to access Wikipedia online, then also your WikipediaHI activity will serve your purpose.
There are lot many developers and contributors who are working in collaborative form on such awesome stuff who continuously inspire you to take up new things and create something that can be used by others in the world. Sugar developers and contributors are epitome of such group.
I came across few of such developers, Anish Mangal and Gonzalo Odiard, two of them whose contributions are significant for Sugar. I took up the task of creating WikipediaHI using Wikipedia dump for Hindi available for free. I followed the steps specified on this page[ hosted by Gonzalo] for creating Wikipedia activity in your own language.
I will quickly explain the steps I took to create WikipediaHI:
2) Created "hi" directory for HINDI under WikipediaBase directory and moved the downloaded dump to this folder.
3) Extracted contents of this file using: bzip2 -d hiwiki-20121225-pages-articles.xml.bz2
4) Processed the dump using page parser: ../tools2/pages_parser.py The result of this operation will generate these files: hiwiki-20121225-pages-articles.xml.links hiwiki-20121225-pages-articles.xml.page_templates hiwiki-20121225-pages-articles.redirects hiwiki-20121225-pages-articles.templates
5) Then you can include selective articles or all articles from this dump to your activity by using this command: ../tools2/make_selection.py * Make sure you have favorites.txt and blacklist.txt filled with appropriate keywords. Now if you want to include all articles use this command: ../tools2/make_selection.py --all 6) Then proceed to create the index for these articles: ../tools2/create_index.py
7) In order to test the index created in previous step you can use this command: ../tools2/test_index.py 8) Next step is to expand the templates of articles : cd .. ./tools2/expandtemplates.py hi
9) Go back to hi directory and re-create the index : cd hi mv hiwiki-20121225-pages-articles.xml.processed_expanded hiwiki-20121225-pages-articles.xml.processed ../tools2/create_index.py --delete_all
10) Download the images for the articles you selected: cd hi ../tools2/download_images.py if you want to download the images for pages you selected in previous step: ../tools2/download_images.py --all
11) Create files specific to language: (a)activity/activity.info.lang : activity info file for you language activity (b)activity/activity-wikipedia-lang.svg : activity icon for your language (c)activity_lang.py : activity file for your language (d)static/about_lang.html : about page for wikipedia in your language. (e)static/index_lang.html : index page for wikipedia in your language. This is the page displayed when activity is launched. So its important for you to know the articles included in the search.db ( generated when index is created) for you to create the index page.
12) Create the XO file for wikipedia in your language: ./setup_new_wiki.py hi/hiwiki-20121225-pages-articles.xml
I went through the search.db file to identify the articles present in it and create the index page accordingly. This gave me an idea to write some script that can generate index page(part or whole) to be used as home page for activity using search.db[ Stay tuned for next blog on this idea] Here you go.. you can see WikipediaHI
On launching this, you can see the index page listing the articles you can view offline using WikipediaHI
I must thank Gonzalo for his amazing help and guidance in getting this done. I have to mention here that Wikipedia changed its XML format in their dumps which resulted in error when I was creating the index. I took Gonzalo's help to get it resolved. Thanks to Anish, who motivated me to pick this up and guided me to complete it. Thanks guys !! :D
1. Google Summer of Code 2015 is wrapping up. The students have been writing their final blog reports, submitting last-minute patches, and uploading their code to Google. I want to take this opportunity to thank all of our students and their mentors for all their hard work this summer. (Also, thanks once more to Google for supporting this program.) Great strides along many fronts were made. Specifically,
Michaël Ohayon worked on Web versions of some core activities for the Sugarizer project: Calculate, Paint (with collaboration, Record, and Memorize. He also submitted patches to Turtle Blocks to make it compatible with Sugarizer. Michaël’s blog and git repo are worth visiting. (Mentor: Lionel Laske)
Yash Khandelwal worked on Music Blocks AKA Mouse Music. This is a powerful, playful model for music in a block language. Yash’s blogand gitrepo are also worth visiting. (Mentors: Devin Ulibarri and Marnen Laibow-Koser)
Vibhor Sehgal and Utkarsh Dhawan, although not officially GSoC students, worked with Tony and Richa on a parallel project, Web Confusion, a series of programming challenges in the spirit of Turtle Confusion to encourage students. (Mentor: Tony Anderson)
In the Community
2. We will be holding an election for the Sugar Labs oversight board (SLOB) at the end of the calendar year. If you are interested (or know someone who is interested) in running for a board seat (all seven seats will be open), please add an entry in the wiki. Also, whereas ballots are only available to “members”, please officially join Sugar Labs.
3. Mariah Noelle Villarreal has submitted a panel proposal, “Building Free and Open Education Communities”, to the South by Southwest Conference (SXSW). The panelpicker voting period is now open until September 4th. If you have time, please vote and share with any appropriate channels as well as a video that was created for the proposal .
4. Sweet: Sugar contributors Mariah Noelle Villarreal and Ruben Rodriguez got married this summer!!!
Going from Bits to Atoms: Programming in Turtle Blocks JS and Personal Fabrication in Youth Maker Projects, Josh Burker
Visualizing Learning in Open-Ended Problem Solving in the Arts, Walter Bender and Claudia Urrea
Sensores Tortuga 2.0: Cómo el hardware y software abiertos pueden empoderar a las comunidades de aprendizaje (Turtle Sensors 2.0: How open hardware and software empower learning communities) by Guzmán Trinidad, Andrés Aguirre, Alan Aguiar, Tony Forster, Walter Bender, Facundo Benavides, and Federico Andrade
6. The Sugar/OLPC program in Caacupe is expanding!!!
7. Peter Robinson announce quite some time ago that the Sugar on a Stick 21 Beta is now out as part of Fedora 21 Beta (Details), but I think I neglected to ever pass on the information to the Sugar community.
8. Also worth mentioning again: Ruben Rodriguez released Trisquel 7.0 released. TOAST (Trisquel with Sugar) is an official edition.
PODS picking up where Sugar Labs @ NDSU left off, except:
a. they seem to be charging for classes
b. they want to reach as many kids as possible but probably aren’t focusing on under-represented populations
c. they want to “enhance creativity;” we were trying to focus on computational thinking. Ironic.