User talk:MitchellNCharity/Old: Difference between revisions

From OLPC
Jump to navigation Jump to search
(access control test)
 
(89 intermediate revisions by 25 users not shown)
Line 1: Line 1:
== Feedback welcome ==
== Feedback welcome ==
Please tag your comments with the "four tildes".
Please tag your comments with the "four tildes". You can add things at bottom by pressing the "+" tab above.


== Random late-night brainstorming ==
== Random late-night brainstorming ==
Line 39: Line 39:
*can leverage the old medialab collaboration tracking/analysis stuff? conversation dominance, etc. enough computes for speaker identification? hmm, enough for single speaker high-training voice recognition? big brother downsides.
*can leverage the old medialab collaboration tracking/analysis stuff? conversation dominance, etc. enough computes for speaker identification? hmm, enough for single speaker high-training voice recognition? big brother downsides.


== bills & coins ==


Maybe the following links will be of your liking:
* [http://www.kokogiak.com/megapenny/default.asp The MegaPenny Project] (how big is a million? billion?)
* The argentine bills and coins you can find them in the [http://www.bcra.gov.ar Central Bank website] ... using the nagivation bar on the left go to "Billetes y Monedas" (''bills and coins'') and then "Emisiones Vigentes" (''current notes''). On the bill's section keep in mind that 'current' currency is on the right... the ones on the left are the old ones—we've had quite [http://www.bcra.gov.ar/bilmon/bm030000.asp some changes] ;) Cheers, --[[User:Xavi|Xavi]] 23:26, 30 April 2007 (EDT)
*:Nifty. I've added the ar links to the non-talk page. Though I had flash trouble with the site, and the bills. Feel free to comment/edit there. And the MegaPenny suggests and idea... Thanks! :) [[User:MitchellNCharity|MitchellNCharity]] 20:29, 1 May 2007 (EDT)


== Wow! moments ==
== Wow! moments ==
Line 53: Line 48:
: Thanks for the email. Do write up your thoughts on how to launch 'get sugar' and we can get more people thinking about/working on it. See also [[Talk:Library]] for a tar.gz ...
: Thanks for the email. Do write up your thoughts on how to launch 'get sugar' and we can get more people thinking about/working on it. See also [[Talk:Library]] for a tar.gz ...


== Vision test ==
We'd like to add a vision test on the first machine startup. Can you recommend a set of images we could use for this? Then we could develop an activity around it... [[User:Sj|Sj]] [[User talk:Sj|<font color="fc9"><small>talk</small></font>]] 15:58, 3 June 2007 (EDT)
:Do you mean like my brainstormed list in [[Talk:Educational content ideas]]? Very much not my field, so not really. But I'll try to look into it tomorrow. [[User:MitchellNCharity|MitchellNCharity]] 20:49, 3 June 2007 (EDT)
:*vision
:**visual acuity tests ([http://en.wikipedia.org/wiki/Snellen_chart Snellen chart], E chart, near-test card, gratings, etc).
:**visual field tests ([http://en.wikipedia.org/wiki/Amsler_grid Amsler grid], perimetry testing, tangent screen test, ...?)
:**color vision tests


== access control test ==


== Re: Truncating "vandalism" ==
[http://www.google.com]

Since you mention it in an editing comment, I thought I'd point out that [[OLPCWiki:Spam_patrol | Xavi has also noted]] various anonymous IPs that truncate a page at the first ampersand or remove all the plus signs. I'd guess these are either poorly coded spambots or poorly behaving web spiders. It could also be a niche web browser or web proxy that is mangling someone's legitimate edit, although I'd expect MediaWiki to have resolved any such problems. I don't know what people are doing about it besides reverting the edits. &mdash;[[User:Leejc|Joe]] 15:08, 5 June 2007 (EDT)

== Re: Content meetings in Cambridge ==

We used to have library/education meetings on Monday nights. I don't know if they're still on - should ask SJ. [[User:Mchua|Mchua]]



== Draft - Opportunities to grow the XO developer community ==

I would like to see more people developing software for the XO. Soon.

Fortunately, there are several low-hanging fruit opportunities to make that happen.

=== vision ===

:Hello python community!
:Are you on vacation? Or a few hours you can beg, borrow, or steal? Want to directly help change the world?
:In two months time, a thousand primary school children around the world, in ..., will have Beta-4 OLPC laptops. If the trials go well, production of the XO-1 will begin, and another million, yes, million, will have them by year end. When was the last time you had a chance to write software which would definitely be used by a thousand children? Potentially by a million? Never. That's the potential of this project. And the importance of the trials.
:And it's mostly written in python. And pygtk, cairo, and a lot of other basic infrustructure.
:The laptops have... can do... . We have working...
:It is now vastly easier to contribute. Just go to wiki.laptop.org/go/For_new_developers. You will create a user page, come by #olpc-dev, and get commit access to our common repository. We generate an Ubuntu live cd about once a week, set up to let you instantly start developing. We also have a very large tar file, to get you started if you run linux.

=== making it easy to get started ===

When a developer is potentially interested in helping, the path should be smooth as glass. Do wiki page, get development environment, get commit bit, go. Not, as now, the subject of "what should we do with this person" emails.

And it is not technically hard to do this. There are big low-hanging fruit which could feed a hundred. No hard problems have to be solved. It's simply a matter of doing it.

==== sugar-jhbuild ====

There are three barriers to using sugar-jhbuild. You can't download it (it is not infrequent that one of the several servers needed is down). Building is a pain. And it doesn't run on some platforms (eg, x86_64). The last is hard to address. The first two are _not_.
*There should be a cron job whose role in life is to collect the scattered sugar-jhbuild sources. It just runs sugar-jhbuild update. And tars or serves the result. Getting the sugar sources should be as easy as tar xf, not an iffy, potentially multi-day process. If sugar-jhbuild update works, great. But when it doesn't, all you have to do is X.
*I assume sugar-jhbuild actually builds on some platform, somewhere. Why isn't there a cron job snapshotting that, so at least people on that platform can get instant-on?
*All it would take is one working Ubuntu snapshot for the masses of Ubuntu developers to roll it into a live cd. So let's do it, and ask them.

==== repository access ====

Sending patch emails isn't a viable development model for anything where you don't intentionally want to slow and throttle changes. As with the core os. For Activity development, one needs widely spread commit bits.

Currently, we have projects on two repositories, partitioned down to individual projects, with an "email Joe" access story. "You want to help? Find a project and join it."

What is needed instead is "You want to help? Bang, here you go. Do not become distracted and wander off. Do not come back to it tomorrow. You can have your first getting feet wet commit in a few minutes.". Widely spread commit bits, and widely enough spread admin bits that 24 by 7, there's someone on #olpc or #olpc-dev who can email them.

Two possible approaches:
# Create a "common" project on d.l.o or olpc.coderanger, with the desired properties. This would get us going immediately.
# Create yet another repo, either self run on on one of the repo services. This has some advantages, but unless we found someone uncommitted to do it, calendar time will scroll by before it happens.
We need option 1.

==== development support machine ====

So why haven't simple things like cron'ed tinderboxes and tars been done? It's bottlenecked on easy access to the software, and access to a development support machine. The cron jobs should be on the repo. The development community should have enough people with box access that updating the copies running copies is never an issue. This should be ''easy''. There are lots of things, like irc bots which report commits, which would be easy for people to set up if there were lower barriers to entry.

You would think by now everyone would have their own boxes. So, if you want to run automated python documentation generation, they could do that on their own box. But they don't. And you still need the code in a common repo to permit collective incremental improvement. The odds of any one person having box, and time to get started, and time to maintain, and time to improve, approximates zero.

==== "how to get your software to kids" story ====

Currently, only Kuku has braved the informal process to be a non-core TRIAL-2 candidate. I, living here, have only the vague information gleaned from watching that, to shed any light on the process.
*Write down what people need to do for their software to be in CR1 or TRIAL-2 or whatever.
And send it to the game jam folks. Various of them have pleas for assistance on the wiki, but without specifics, of what needs to be accomplished by when in order to achieve what, it is vastly harder to actively recruit aid. You can't send mail to python list asking folks to help you make unspecified improvements in random code by an unspecified date in order that something fuzzily nice might happen.

And it makes it simply infeasible to solicit new projects.

==== wrapup ====

We need a much more wiki-like approach to our code development environment. At least for activity development.

And we need a getting started story which actually works.

==== TODO ====
*An editing pass to make tone uniformly positive and upbeat. Opportunity. It's all great opportunities.

== A draft recruitment email for EE lab tech ==
Target audience: 1st tier: Local MITERS+Make crowd. de, dv, etc. MIT alum. csail-related. media. 2nd: MIT grad list. ...

Since lots of folks will see it, include more general recruitment info. Which can be reused for post-emulation/sugar-gettable "goog python/gtk" sugar and trial-2 ticket hacking. Make clear this is a personal, non-official effort.

Target timescale: The EE job got pulled, so this never went out. Tentative plan is to show jg current draft, then pehaps clean it up as triage only note. Remove pre-T2isms. And capture the aggregate trac links somewhere.

EE lab tech needed - OLPC Boston for the next 2 weeks - Help change the world!
The One Laptop Per Child humanitarian education project could use the
immediate volunteer assistance of an EE Lab Tech, and someone to
triage field return laptops (both in Cambridge MA, Kendall Sq). Many
other opportunities exist to help the project remotely, but those two
are the focus of this email. Here is a brief description of OLPC, why
it matters, the two jobs, and a sketch of other opportunities.
The need is official, but this email, and especially the project
description, are strictly my own. Which no doubt introduces error,
but also means I can be blunt. The core OPLC team of ten or twenty is
way too busy to seek out assistance, so it falls to random volunteers
like me.
CHANGE THE WORLD?
There are a billion school-age children in the world. Many have a
chance to attend primary school, but the educational opportunities
there could be greatly improved. No doubt the tide of rising wealth
and improving technology will eventually have a broad impact. In 5,
10, 15 years. But look at the scale. Do something which takes a year
to get going, and that's order 100 million children missed. And
another order 100 million entering primary school, which for most,
will be their only schooling. Do something which takes a decade to
get going, and you've missed a billion kids. They are resource their
countries, and the world, can ill afford to lose like this.
One Laptop Per Child is the result of trying to find some way, any way,
to have a major impact on this problem/opportunity. The observation was
that with innovative hardware design, open source, and massive production,
you can afford to give children a laptop to serve as textbook and
collaboration tool, journal, library, camera, video, VOIP, musical
instrument, platform for hardware hacks, and computer. Not sitting in a
computer lab, but one the kids own and live with. Readable in sunlight.
Usable in rain. Designed to survive the five years of primary school.
Mesh networking. Usable off the net, and off the power grid.
And not merely a few thousand here, and a few thousand there. But
blanketing towns, regions, countries. Not local school systems deploying
to a few schools, but national ministries of education planning
deployments for states. With the laptop serving not only its primary (no
pun intended) mission, but also as a focal point for efforts in
education, health, infrastructure, and development.
Depending on which countries buy in, the very first production run will
be several million laptops. Something like 10% of world annual laptop
production. New hardware revs every year or so. Ramping up to order 100
million per year. 2008, 2009, 2010. Even with all this, we are going to
miss most of those billion children. There are limits to what even an
mass effort like this one can do. But as their brothers and sisters hit
primary school, some of those we can reach. Those we can give an opportunity
for education unmatched in their countries, singular in history.
There are other things one could do, instead or in addition. Create
school libraries in a box. Aim to create a million school libraries.
Construct and expand school buildings. Much lower impact than OLPC, both
on kids and country, but a fraction of the cost per child. If you could
get people to actually do it, rapidly, on the scale needed. I don't see
that happening. But OLPC looks on the cusp of being real.
Hundreds of children around the world have been using laptop hardware
prototypes. And the final pre-production Beta-4 machines are in, and
will go out to a thousand more for TRIAL-2 pilots in 10 odd countries.
For the countries' to see whether this has all become real enough to turn
their commitments into cash.
** NEEDED - EE lab tech - OLPC Boston for the next 2 weeks
Objective: measure power utilization of units on laptop main board.
Minimizing power consumption is a core part of OLPC. It uses an
extremely low power architecture - 0.1 Watt without backlight, and
0.2-1.0 Watt with. Mesh network runs with CPU off. Sub-second
suspends. Each mW spent reduces battery time, and off the grid, has
to be regenerated, sometimes by hand.
There is a board with testing infrastructure in place. People got
pulled over to EC coding. Getting power utilization measurements
right isn't easy. And is lots of pencil pushing.
Looking for a good person with experience soldering of surface mounts,
driving EE lab equipment, and who has programmed microcontrollers and
build hardware around them, including external interface logic.
There are other issues which could also be addressed.
http://tinyurl.com/22flpp
Contact: Mitchell Charity <mcharity_olpc vendian gro>
** NEEDED - Field return triage - OLPC Boston
When prototypes have a problem, and are returned from the field,
someone has to do an initial examination of what's wrong with them.
Need someone with a familiarity with the laptop hardware/software.
Background in linux, especially kernel. And some hardware background,
as much as possible.
Contact: Mitchell Charity <mcharity_olpc vendian gro>
OTHER OPPORTUNITIES TO HELP
The wiki http://wiki.laptop.org is a good first stop.
And IRC channel #olpc-content .
There is also a more formal http://laptop.org .
For TRIAL-2:
Good python/pgtk people are needed, especially over the next week or
so, to knock off trac tickets for the software to be shipped for
TRIAL-2. For the core UI ("sugar") http://tinyurl.com/yrlrrj , and
activities http://tinyurl.com/yp9e36 .
Linux kernel, X windows, and other hacking.
http://tinyurl.com/yurunb
Application testing is needed. But getting set up currently takes
some effort.
Translation opportunities (Spanish, Portuguese, Arabic, and others).
For software http://tinyurl.com/yrp8m7 , and http://wiki.laptop.org .
More generally:
The http://wiki.laptop.org , a wikipedia-like wiki, is always in need
of attention.
Once the mid-July TRIAL-2 deadline crunch is past, there are lots and
lots of opportunities for porting and creating software for Content
Release 2 (late Sept).
For educators, the project's software approach is constructionist
(sort of Montessori - learning though collaborative exploration and
creation). There are many opportunities to create and propose
content. The wiki, and #olpc-content , are good places to start,
though things are a bit messy at the moment.
Thanks for your attention.
Please feel free to forward this as you think helpful and appropriate.
Mitchell Charity


'''Outtakes'''

http://wiki.laptop.org/go/Hardware_specification
A dot-com-era equivalent x86 cpu. 256 MB memory and 1 GB of flash disk.
USB slots, and a mic port which doubles as DC input. There have been
assorted prototype hardware hacks, like a $1 lens set to turn the camera
into a microscope, robot control, etc.

Software development has been less far along than the hardware. It's a
stripped down linux. Custom UI, as office desktops aren't quite the
right thing for young children. Pervasive collaboration infrastructure.
Journal approach to filesystem UI. Lots of python. Recent efforts to
slim down Java may get it light enough to include. Smalltalk, Squeak,
and Scratch.

You might prefer language X, or desktop infrastructure Y to gtk. I do.
But the choices made have been plausible, the result works. The need now
is to flesh it out, and continue loading it up with creative software.

=== Mel's response ===

This is the /msg I sent you in IRC that we never found out what happened to.

* >mncharity< I just saw your posting for an ee lab tech.
* >mncharity< ironically, I was going to ask SJ if I could do a little ee lab tech work for a few weeks after the current content crunch is out.
* >mncharity< see http://mellory.blogspot.com/2007/04/why-i-wont-be-earning-money-this-summer.html
* >mncharity< and note that it's from... april.
* >mncharity< of course, it's quite possible that I *shouldn't* do this (and it's a good opportunity to get someone else involved)
* >mncharity< but I at least used to really want that job (and still, to a large extent, do.)

So, yeah - don't let me affect how you move forward with this (as in, keep looking for people, and grab one if you find one) but I'd love to talk with you about this the next time you're in the office, on irc, or otherwise. Also, I know a decent number of Olin kids who would love the chance to come and hack hardware here for a day a week, or so... that's another thought for where to reach out. [[User:Mchua|Mchua]] 20:21, 15 July 2007 (EDT)
:Perhaps talk with smithbone, and volunteer as a (at least part-time) minion? Re talk, sure, that would be great. Finding ways to pull in and integrating people resources seems a primary olpc challenge at present. Re blog, perhaps start collecting "successes"? Start a stream of goals, small, bite-sized, accessible goals (hard enough to trigger worry, but easy and straightforward enough to objectively have a high probability of success). Straightforward as in tasks having well defined success criteria, and being unlikely to mutate, so in the end it's clear whether you succeeded. Also diverse goals. Might ask variety of people to explicity give you diverse, unusual, hour-ish or something tasks? As you knock off stream items, hopefully you develop a feeling of being able to handle anything which comes up. Key thing might be to avoid week after week of work which leaves you "I'm not really sure if that was success or failure, kind of a mix, and I didn't really look squarely at the question", which leaves confidence unimproved. Perhaps? [[User:MitchellNCharity|MitchellNCharity]] 10:36, 16 July 2007 (EDT)
::Just wanted to note that I'm gradually moving into doing this more (hampered largely by my lack of access to equipment while interning in NYC, but I'm saving up). So life is happy. I'm still not a particularly excellent hacker, but... learning. Now if I can find a way to do this EE stuff full time... [[User:Mchua|Mchua]] 03:17, 10 February 2008 (EST)

== Dev community building ==

Mitchell, want to talk over lunch or dinner at the office (or elsewhere) sometime? I just read your talk page section on how hard it is to get involved as a developer, and since I'm trying to extend out from content & community building into development (in the lonnnng term), development community building is on my hit-list of Things To Do. In other words, I want to help build the bridges you're talking about, because without that the bottlenecks are sufficiently high to prevent us from forming a community... also because I'm one of those not-quite-1337-enough folks who is getting stymied at the current bottlenecks - which, come to think of it, is probably why I've been doing so much Content stuff - because I can ''do'' that.

Anyway. It's something I haven't had a substantial (read: more than 3 sentences) convo with someone about, and I'd really like to talk with you about it... possibly offer myself up in September when I go to Chicago as a test case for a n00b developer that needs bridges built (and is willing to learn how to widen bottlenecks as I hit them, if you'd possibly be willing to mentor me in that - you seem to be really good at it).

(This is part N-1 in the N-part series of "Mel tries to become a Real Hacker," btw.) [[User:Mchua|Mchua]] 21:54, 15 July 2007 (EDT)

== currency images ==

What happened to the currency image creation stuff? It seems to be slightly disappeared. --[[User:Nlee|Nikki]] 19:22, 16 July 2007 (EDT)

Never mind. I'm silly and went to the wrong place. --[[User:Nlee|Nikki]] 20:40, 16 July 2007 (EDT)

== firefox bookmarks that serve as wiki shortcuts ==

Thought you might appreciate. [[Firefox wiki bookmarks]] [[User:Mchua|Mchua]] 03:19, 17 July 2007 (EDT)

== A generic "come help olpc!" email. ==

One Laptop Per Child is a humanitarian education project to improve
primary school education world-wide. Rapidly and dramatically. Here is
a description of the project, and a sketch of opportunities to help out.
Your time and talent can reach 1 million children by early next year.
CHANGE THE WORLD?
There are a billion school-age children in the world. Most have a
chance to attend primary school, but the educational opportunities
there could be greatly improved. No doubt the tide of rising wealth
and improving technology will eventually have a broad impact. But
look at the scale. Do something which takes a year to get going, and
that's 100 million children missed. 300 thousand children a *day*.
One Laptop Per Child is the result of trying to find some way, any
way, to have a major impact on this problem/opportunity. The key
observation was that with innovative hardware design, open source
software, and massive economies of scale, countries can afford to give
children laptops to serve as textbook and collaboration tool, journal,
library, camera, video, VOIP, musical instrument, platform for
hardware hacks, and computer. Not sitting in a computer lab, but one
the kids own and live with. Readable in sunlight. Usable in rain.
Designed to survive the five years of primary school. Mesh
networking. Usable off the net, and off the power grid.
And not merely a few thousand here, and a few thousand there. But
blanketing towns, regions, countries. Not local school systems
deploying to a few schools, but national ministries of education
planning deployments for states. With the laptop serving not only its
primary mission, but also as a focal point for efforts in education,
health, infrastructure, and development.
The very first production run this fall will manufacture one million
laptops. By itself, a few percent of world annual laptop production.
New hardware revisions are planned every year or so. Production is
intended to ramp up to 100 million per year. We are still going to
miss a billion children. There are limits to what even an massive
effort like this one can do. But starting in late 2008, we might at
least keep pace with new students. And potentially give them an
opportunity for education unique in history.
There are other things one could do, instead of, or in addition to.
Create school libraries in a box. Aim to create a million school
libraries. Construct and expand school buildings. Much lower impact
than OLPC, both on kids and country, but a fraction of the cost per
child. If you could get people to actually do it, rapidly, on the
scale needed. I don't see that happening. But OLPC is.
Hundreds of children around the world have been using laptop hardware
prototypes. And the final pre-production Beta-4 machines are in, and
going out to a thousand more for TRIAL-2 pilots in 10 odd countries.
A million laptops are being manufactured this fall. Depending on how
the trials of the next few months go, and thus on which countries sign
up, perhaps millions more each month of 2008.
What else can you work on, helping with community, content, or
software, which will reach a million children in a few months?
OPPORTUNITIES TO HELP
Come visit the wiki, http://wiki.laptop.org .
Like Wikipedia, you can browse and contribute immediately and anonymously.
And create your own User page to tell others about your interests.
There is an IRC chat channel #olpc-content for help and discussion.
There is also a more formal website, http://laptop.org .
The best way to get started is to read and contribute to the wiki.
Share ideas, make suggestions, encourage projects; gather and create
art and music and text and other content; help clean up and improve
the wiki; contribute to content, education, and software projects.
The process for helping potential volunteers get oriented is still
rather rough. So a key contribution you can make is to note and tell
of the problems you encounter. And to suggest, or write, improvements.
The content we create and gather is free, enriching the world wide
public domain. There are opportunities to create, gather, and curate
media in all forms. There are mentoring and internship opportunities
with the Summer of Content 2007. Neat things are being done.
The educational approach is constructionist (sort of Montessori),
learning though collaborative exploration and creation. There are
many opportunities to create and propose educational content. Also
software. And you can see field reports starting to trickle in,
though they are mostly still from TRIAL-1.
The breadth of software possibilities is limited mostly by finding
people to pursue them. Software needs to be adapted to the laptop:
to be usable, unassisted, by primary school children; to support
real-time collaboration; and to fit space and hardware constraints
(think dot-com era desktop). But the well defined, featureful
hardware, with every single student having one, creates novel
opportunities. Here are just a very few examples, to give a flavor.
Handwriting recognition on the tablet. Using that to drive a shared
"algebra white-board". Track a waving hand with the camera. Use that
to conduct music. Stitch together panoramic photos, leveraging the
built-in screen pivot. Annotate web pages and share them. And on,
and on, and on. Free and open source software already exists out
there to do all this. Though sometimes a last push is necessary to
make it work well. Then it needs to be pulled in, and crafted into
something a million children can start using.
The laptop software is mostly written in python. While no language is
everyones' favorite, even if you have a different language background,
you should still find python accessible enough to contribute. And for
reaching a million kids, it's worth the effort. There is pygame, and
gtk. And the pervasive collaboration infrastructure. And C and Squeak.
You can develop directly on your own machine, or in emulated images of
the laptop. There is also a great need for documentation writing. And
there are existing applications ("Activities") looking for help with
coding and testing.
There are also opportunities for hardware hackery. People are
creating ~$1 lens sets to use the camera as a microscope, driving
robots, etc.
Software development and testing is currently (late July) focused on
the TRIAL-2 release. We are approaching code freeze, addressing Trial-2
blocker and high priority items, and doing testing.
Python/pgtk work on the core UI ("sugar") http://tinyurl.com/yrlrrj ,
and activities http://tinyurl.com/yp9e36 .
Linux kernel, X windows, and other hacking.
http://tinyurl.com/yurunb
Translation opportunities (Spanish, Portuguese, Arabic, and others).
For software http://tinyurl.com/yrp8m7 , and http://wiki.laptop.org .
Thanks for your attention.
Please feel free to forward this as you think helpful and appropriate.
Mitchell Charity

== getting people started ==

Since you seem interested in this, here are a few ideas:

* Have a *.tar.gz file that contains a filesystem image, and a script that uses '''chroot''' and '''mount --bind''' to place the user there. One would just run the script as root, specifying a few critical things like the desired user ID. They'd get a pair of xterms (to represent console 1 and console 2) and a nested X server with Sugar.

* Have a well-documented low-level '''Hello, world!''' example. By low-level I mean plain C, raw Xlib, and a simple Makefile. Have another example showing how to make the raw D-BUS calls to share over the mesh, ask Bitfrost for a file, and every other thing that might be needed. It would be nice to also include examples with SDL and GTK, but the low-level stuff is most critical because it can work with everything.

[[User:AlbertCahalan|AlbertCahalan]] 00:36, 8 August 2007 (EDT)

== simulate_display.py ==

Well it doesn't work.

$ ./simulate_display.py 0 /tmp/Zone_plate_boys.png /tmp/munged.png
Traceback (most recent call last):
File "./simulate_display.py", line 116, in ?
main(sys.argv)
File "./simulate_display.py", line 112, in main
i1 = simulate_display(i0,contribution_of_reflected_light)
File "./simulate_display.py", line 54, in simulate_display
p1[x,y] = p0[x,y]
TypeError: unsubscriptable object

Could you run it on the [[:Image:Zone_plate_boys.png|zone plate boys]] test image? I'd like to see what you get. BTW, your assumption about the color of the top left pixel is correct.

My emulation attempt is [http://upload.wikimedia.org/wikipedia/commons/b/b5/Swizzle8.png here]. I assume the backlight is in use; the other case is far less interesting. I think my emulation is perfect for dim objects and decent for other objects.

Note that the OLPC web browser will scale images, which screws up the test for non-web stuff.

[[User:AlbertCahalan|AlbertCahalan]] 02:25, 10 August 2007 (EDT)

== Activity-ruler icon with 3.5px stroke-weight ==

Hi Mitchell, was looking at your activity-ruler svg icon, and saw that the stroke-width size was 4.0 px, when the HIG guidelines say it should be 3.5 px (it actually says 3.5 pts, but that's a different thing, a bug in inkscape or illustrator ). Anyway,I changed the icon for you, and uploaded it, also renaming it to the new name, so you can allways re-upload a newer version of it. The new thickness makes the icon a bit nicer, less blockier:

[[Image:Activity-ruler.svg‎]]



== Test collaboration ==

Yeah, I'd love to test out collaboration. I've added your XO as a friend, and maybe we'll meet on XO-land :) I was also thinking of making screencasts of the Sugar desktop (using recordmydesktop) and so we could record some collaboration features.

I haven't had the courage to come out to the street with the XO, I'm shy and also bit afraid I can get it stolen! But I hope to, one day :) [[User:HoboPrimate|HoboPrimate]] 17:48, 26 September 2007 (EDT)

==Emulation==
VirtualBox on Windows XP does not change to 1200x900 when all olpc's xconf files specify that screen resolution. The screen settles on 1024x768, getting this from vesafb according to the boot scroll. I have no idea how to alter that. Altering the conf files isn't impossible. Keying Alt-= gets the developer console, selecting the Terminal tab gets the command line. The commands cd /, cd etc, cd X11, su, ls (shows 4 confs: dcon-xorg.conf geode-xorg.conf qemu-xorg.conf xorg.conf), vi qemu-xorg.conf, i, Modes "1200x900" (in the Display SubSection of Screen), Esc, wq! changes the file; but the OS still boots 1024x768. It would have been easier for a vi novice to do this if help files for vi had been included in olpc developer build 557. Maybe you know someone who knows what files to change. [[User:207.229.150.96|207.229.150.96]] 14:30, 11 October 2007 (EDT)
:http://wiki.laptop.org/go/Talk:Emulating_the_XO#VirtualBox_and_1200x900 - the file to change is grub.conf. [[User:12.202.127.204|12.202.127.204]] 09:05, 23 November 2007 (EST)

== Your QEMU-running GUI? ==

I seem to be missing the link to your GUI for running Qemu with auto-selection and downloading of OLPC images. Can you refresh my link-memory?

--[[User:Mcfletch|Mcfletch]] 11:16, 20 December 2007 (EST)

:It's linked from [[Improving_emulation]]. I suggest at least one person other than myself needs to try it before it is given a higher profile. This is only revision 2 of major rewrite. Half of the command-line args were broken in rev 1. Testing needed. [[User:MitchellNCharity|MitchellNCharity]] 18:58, 20 December 2007 (EST)

== Emulating the XO Page ==

Hello Mr. Charity,

I'm Mitra, a student from the Illinois Math and Science Academy and I am currently doing an Intersession with Mel, as you may already know. As part of this Intersession I took the opportunity to improve OLPC's tutorial page on how to emulate the software on their own computer. I hope that you can take the time to look at it, and perhaps leave some comments. Thank You: http://wiki.laptop.org/go/Emulating_the_XO/Quick_Start.

:Thank you for the comments on the new revision of the page, I will continue to work on it over the next few days and try and include much of what you pointed out. Also, as you said I think we should look into creating a simple installer for qemu and kqemu, and the launcher script and I will look into finding a way to create one. --[[User:Vmitra|Mitra]] 17:04, 12 January 2008 (EDT)


== Cambridge science festival ==

I'd be willing to at least ping the ACM folks you mentioned... might be able to pull something together on super-short notice, or at least see if it's possible for next year. [[User:Mchua|Mchua]] 13:45, 1 February 2008 (EST)
:Forwarded most recent contact. [[User:MitchellNCharity|MitchellNCharity]] 13:01, 2 February 2008 (EST)
:: Aaand you already know this, I think, but we are indeed having a [[Community Jam]]. You should come. [[User:Mchua|Mchua]] 03:17, 10 February 2008 (EST)

== Sugar localization help.. ==

Do you know about the POTFILES.in file and its required encoding scheme? I hear various stories that it is required and horrible problems can occur without it. On the other hand, I hear setup.py now ignores it and picks a UTF-8 encoding anyway. Do you the answers or know where I should go? I just updated [[Python_i18n]] to go with POTFILES.in [[User:CharlesMerriam|CharlesMerriam]] 05:35, 27 February 2008 (EST)


==design gang proposal==
I've posted a proposal for image upload file structure and categorization. [[OLPC:Design_gang/proposed_file_structure]] [[User:AuntiMame|AuntiMame]] 14:40, 14 September 2008 (UTC)

== Github ==

:What you say doesn't preclude a wiki, as you well know. It's clear that organization of Activity teams needs to be much improved to encourage development. It doesn't help that we break the api every few months :S. Christoph's Activity Handbook is a good step in the right direction, but not nearly enough.

:What would you specifically like to see? What do you think works best to organize activity development? I would love to see the VIG implement it. Send this to the VIG mailing list [[User:Sethwoodworth|Seth]] 00:43, 21 September 2008 (UTC)

Latest revision as of 15:31, 20 December 2009

Feedback welcome

Please tag your comments with the "four tildes". You can add things at bottom by pressing the "+" tab above.

Random late-night brainstorming

  • Angle measurement (as mentioned elsewhere). Converging lines to eye at edge of screen. Surveying demo. Some simple reduction software. Couple of kids could survey room, field, get size info, build 3D model, etc, very quickly. todo: see if i can get hands-on a laptop for a couple of minutes to get a feel. Oooo, camera as high precision angle measurement tool? have textures ready for 3d then too.
  • Timer. Beep a second, 10 sec different one, etc. Measure velocity, etc.
  • Order of magnitude feel for numbers. 200 dpi means lots of dots. 100 distinct dpi? Slider, exponential, 1 to say 100,000.
    • Fractions. Big square. 1. down to 1/100000.
    • Combined range. 1 is 1in or 1/2in.
    • Circle graph. Colaborative slicing, each kids controls a slice, excess region for leftover. Or break apart/reasemble?
What infrastruct exists for distributed dynamic ui?
  • Mouse runs from machine to machine. Hiding, appearing. Fur can be painted. Whose machine is it on? Carry messages?
In general, what infrastruct for graphical agents moving between machines? Animals, numbers, etc.
  • Painting with sound effects is apparently very popular. Paint activity have sound? Stamps, etc. Add? Sharing custom stamps as community activity. Saving also key. Art gallery app?
  • How much parallax is needed to do cloud height measurement? Velocity.
  • "Appropriate tech" build-it receipies? barometer (thread), humidity, ...?
    • water droplet magnifying glass
  • big picture
    • ephemeris. orient laptop by sun. hold laptop in orthogonal positions (up, down, left, right, etc) - see through earth, solar sys, etc.
enough computes for simple 3d astro syms? ss, local stars, galaxy. at least pretty rotating anims of each.
angle measurement + solar system model + sky observation + model solar system school yard
    • see through earth could be a neat demo. can use camera as horizon sensor?
  • what is the state of doing fermi questions with <5th graders?
  • camera edge detection (w+w/o multiple machines) -> good model formation? (3d, velocity, position, etc). anything cheap enough? just how much computes do we have?
  • nonmesh communication protocols. sound, light. interesting collaborative hackability?
  • can kids create their own versions of the icons?
otherwise personalize the on-screen space?
  • can information about users be encoded in the XO icons? activity level, battery state, activity-specific info (instruments, etc).
can kids program? might be worth some effort to have such a high profile part of the environment be at least a little kid programmmable.
XO "skins"? another tradeable item.
"Or keep it intentionally crude, and make it easy for kids to create them. High res permits nice icons, and much lower effort creation (getting a few large pixels to look good is hard, gimp pull-down menu 3d effects much less so). Perhaps the option of "stencils" or something to "play within a theme", distort/art-ify existing icons?"
  • cross and parallel eye stereograph software. 3d drawing infrastruct in general. squeak have 3d env, or all just 2d?
  • keep reminding yourself - very high resolution.
  • 3d/2.5d drawing effects.
  • shading, things crawling under screen background. eg, numbers wandering around, adding themselves. letters face shifting.
  • kids are in tight sync with their own pc. allows pervasive customization. need backups or one's world, product of "years" of work, getting lost would be traumatic.
  • is abiword being set up as a collaborative editor? what model?
  • can leverage the old medialab collaboration tracking/analysis stuff? conversation dominance, etc. enough computes for speaker identification? hmm, enough for single speaker high-training voice recognition? big brother downsides.


Wow! moments

this is a great idea for a project. Something to build out. MegaPenny and various Cockeyed projects are also a great source for inspiration. Sj talk 13:36, 22 May 2007 (EDT)

Images for Emulation

I'd like to promote a 'get sugar' campaign to get lots of people emulating the OS. Making it easier to figure out how to do it, and how to make it fast, is an important step... Sj talk 17:57, 29 May 2007 (EDT)

Thanks for the email. Do write up your thoughts on how to launch 'get sugar' and we can get more people thinking about/working on it. See also Talk:Library for a tar.gz ...


Re: Truncating "vandalism"

Since you mention it in an editing comment, I thought I'd point out that Xavi has also noted various anonymous IPs that truncate a page at the first ampersand or remove all the plus signs. I'd guess these are either poorly coded spambots or poorly behaving web spiders. It could also be a niche web browser or web proxy that is mangling someone's legitimate edit, although I'd expect MediaWiki to have resolved any such problems. I don't know what people are doing about it besides reverting the edits. —Joe 15:08, 5 June 2007 (EDT)

Re: Content meetings in Cambridge

We used to have library/education meetings on Monday nights. I don't know if they're still on - should ask SJ. Mchua


Draft - Opportunities to grow the XO developer community

I would like to see more people developing software for the XO. Soon.

Fortunately, there are several low-hanging fruit opportunities to make that happen.

vision

Hello python community!
Are you on vacation? Or a few hours you can beg, borrow, or steal? Want to directly help change the world?
In two months time, a thousand primary school children around the world, in ..., will have Beta-4 OLPC laptops. If the trials go well, production of the XO-1 will begin, and another million, yes, million, will have them by year end. When was the last time you had a chance to write software which would definitely be used by a thousand children? Potentially by a million? Never. That's the potential of this project. And the importance of the trials.
And it's mostly written in python. And pygtk, cairo, and a lot of other basic infrustructure.
The laptops have... can do... . We have working...
It is now vastly easier to contribute. Just go to wiki.laptop.org/go/For_new_developers. You will create a user page, come by #olpc-dev, and get commit access to our common repository. We generate an Ubuntu live cd about once a week, set up to let you instantly start developing. We also have a very large tar file, to get you started if you run linux.

making it easy to get started

When a developer is potentially interested in helping, the path should be smooth as glass. Do wiki page, get development environment, get commit bit, go. Not, as now, the subject of "what should we do with this person" emails.

And it is not technically hard to do this. There are big low-hanging fruit which could feed a hundred. No hard problems have to be solved. It's simply a matter of doing it.

sugar-jhbuild

There are three barriers to using sugar-jhbuild. You can't download it (it is not infrequent that one of the several servers needed is down). Building is a pain. And it doesn't run on some platforms (eg, x86_64). The last is hard to address. The first two are _not_.

  • There should be a cron job whose role in life is to collect the scattered sugar-jhbuild sources. It just runs sugar-jhbuild update. And tars or serves the result. Getting the sugar sources should be as easy as tar xf, not an iffy, potentially multi-day process. If sugar-jhbuild update works, great. But when it doesn't, all you have to do is X.
  • I assume sugar-jhbuild actually builds on some platform, somewhere. Why isn't there a cron job snapshotting that, so at least people on that platform can get instant-on?
  • All it would take is one working Ubuntu snapshot for the masses of Ubuntu developers to roll it into a live cd. So let's do it, and ask them.

repository access

Sending patch emails isn't a viable development model for anything where you don't intentionally want to slow and throttle changes. As with the core os. For Activity development, one needs widely spread commit bits.

Currently, we have projects on two repositories, partitioned down to individual projects, with an "email Joe" access story. "You want to help? Find a project and join it."

What is needed instead is "You want to help? Bang, here you go. Do not become distracted and wander off. Do not come back to it tomorrow. You can have your first getting feet wet commit in a few minutes.". Widely spread commit bits, and widely enough spread admin bits that 24 by 7, there's someone on #olpc or #olpc-dev who can email them.

Two possible approaches:

  1. Create a "common" project on d.l.o or olpc.coderanger, with the desired properties. This would get us going immediately.
  2. Create yet another repo, either self run on on one of the repo services. This has some advantages, but unless we found someone uncommitted to do it, calendar time will scroll by before it happens.

We need option 1.

development support machine

So why haven't simple things like cron'ed tinderboxes and tars been done? It's bottlenecked on easy access to the software, and access to a development support machine. The cron jobs should be on the repo. The development community should have enough people with box access that updating the copies running copies is never an issue. This should be easy. There are lots of things, like irc bots which report commits, which would be easy for people to set up if there were lower barriers to entry.

You would think by now everyone would have their own boxes. So, if you want to run automated python documentation generation, they could do that on their own box. But they don't. And you still need the code in a common repo to permit collective incremental improvement. The odds of any one person having box, and time to get started, and time to maintain, and time to improve, approximates zero.

"how to get your software to kids" story

Currently, only Kuku has braved the informal process to be a non-core TRIAL-2 candidate. I, living here, have only the vague information gleaned from watching that, to shed any light on the process.

  • Write down what people need to do for their software to be in CR1 or TRIAL-2 or whatever.

And send it to the game jam folks. Various of them have pleas for assistance on the wiki, but without specifics, of what needs to be accomplished by when in order to achieve what, it is vastly harder to actively recruit aid. You can't send mail to python list asking folks to help you make unspecified improvements in random code by an unspecified date in order that something fuzzily nice might happen.

And it makes it simply infeasible to solicit new projects.

wrapup

We need a much more wiki-like approach to our code development environment. At least for activity development.

And we need a getting started story which actually works.

TODO

  • An editing pass to make tone uniformly positive and upbeat. Opportunity. It's all great opportunities.

A draft recruitment email for EE lab tech

Target audience: 1st tier: Local MITERS+Make crowd. de, dv, etc. MIT alum. csail-related. media. 2nd: MIT grad list. ...

Since lots of folks will see it, include more general recruitment info. Which can be reused for post-emulation/sugar-gettable "goog python/gtk" sugar and trial-2 ticket hacking. Make clear this is a personal, non-official effort.

Target timescale: The EE job got pulled, so this never went out. Tentative plan is to show jg current draft, then pehaps clean it up as triage only note. Remove pre-T2isms. And capture the aggregate trac links somewhere.

EE lab tech needed - OLPC Boston for the next 2 weeks - Help change the world!

The One Laptop Per Child humanitarian education project could use the
immediate volunteer assistance of an EE Lab Tech, and someone to
triage field return laptops (both in Cambridge MA, Kendall Sq).  Many
other opportunities exist to help the project remotely, but those two
are the focus of this email.  Here is a brief description of OLPC, why
it matters, the two jobs, and a sketch of other opportunities.

The need is official, but this email, and especially the project
description, are strictly my own.  Which no doubt introduces error,
but also means I can be blunt.  The core OPLC team of ten or twenty is
way too busy to seek out assistance, so it falls to random volunteers
like me.

CHANGE THE WORLD?

There are a billion school-age children in the world.  Many have a
chance to attend primary school, but the educational opportunities
there could be greatly improved.  No doubt the tide of rising wealth
and improving technology will eventually have a broad impact.  In 5,
10, 15 years.  But look at the scale.  Do something which takes a year
to get going, and that's order 100 million children missed.  And
another order 100 million entering primary school, which for most,
will be their only schooling.  Do something which takes a decade to
get going, and you've missed a billion kids.  They are resource their
countries, and the world, can ill afford to lose like this.

One Laptop Per Child is the result of trying to find some way, any way,
to have a major impact on this problem/opportunity.  The observation was
that with innovative hardware design, open source, and massive production,
you can afford to give children a laptop to serve as textbook and
collaboration tool, journal, library, camera, video, VOIP, musical
instrument, platform for hardware hacks, and computer.  Not sitting in a
computer lab, but one the kids own and live with.  Readable in sunlight.
Usable in rain.  Designed to survive the five years of primary school.
Mesh networking.  Usable off the net, and off the power grid.

And not merely a few thousand here, and a few thousand there.  But
blanketing towns, regions, countries.  Not local school systems deploying
to a few schools, but national ministries of education planning
deployments for states.  With the laptop serving not only its primary (no
pun intended) mission, but also as a focal point for efforts in
education, health, infrastructure, and development.

Depending on which countries buy in, the very first production run will
be several million laptops.  Something like 10% of world annual laptop
production.  New hardware revs every year or so.  Ramping up to order 100
million per year.  2008, 2009, 2010.  Even with all this, we are going to
miss most of those billion children.  There are limits to what even an
mass effort like this one can do.  But as their brothers and sisters hit
primary school, some of those we can reach.  Those we can give an opportunity
for education unmatched in their countries, singular in history.

There are other things one could do, instead or in addition.  Create
school libraries in a box.  Aim to create a million school libraries.
Construct and expand school buildings.  Much lower impact than OLPC, both
on kids and country, but a fraction of the cost per child.  If you could
get people to actually do it, rapidly, on the scale needed.  I don't see
that happening.  But OLPC looks on the cusp of being real.

Hundreds of children around the world have been using laptop hardware
prototypes.  And the final pre-production Beta-4 machines are in, and
will go out to a thousand more for TRIAL-2 pilots in 10 odd countries.
For the countries' to see whether this has all become real enough to turn
their commitments into cash.


** NEEDED - EE lab tech - OLPC Boston for the next 2 weeks

Objective: measure power utilization of units on laptop main board.

Minimizing power consumption is a core part of OLPC.  It uses an
extremely low power architecture - 0.1 Watt without backlight, and
0.2-1.0 Watt with.  Mesh network runs with CPU off.  Sub-second
suspends.  Each mW spent reduces battery time, and off the grid, has
to be regenerated, sometimes by hand.

There is a board with testing infrastructure in place.  People got
pulled over to EC coding.  Getting power utilization measurements
right isn't easy.  And is lots of pencil pushing.

Looking for a good person with experience soldering of surface mounts,
driving EE lab equipment, and who has programmed microcontrollers and
build hardware around them, including external interface logic.

There are other issues which could also be addressed.
http://tinyurl.com/22flpp

Contact: Mitchell Charity <mcharity_olpc vendian gro>


** NEEDED - Field return triage - OLPC Boston

When prototypes have a problem, and are returned from the field,
someone has to do an initial examination of what's wrong with them.

Need someone with a familiarity with the laptop hardware/software.
Background in linux, especially kernel.  And some hardware background,
as much as possible.

Contact: Mitchell Charity <mcharity_olpc vendian gro>


OTHER OPPORTUNITIES TO HELP

The wiki http://wiki.laptop.org is a good first stop.
And IRC channel #olpc-content .
There is also a more formal http://laptop.org .

For TRIAL-2:

Good python/pgtk people are needed, especially over the next week or
so, to knock off trac tickets for the software to be shipped for
TRIAL-2.  For the core UI ("sugar") http://tinyurl.com/yrlrrj , and
activities http://tinyurl.com/yp9e36 .

Linux kernel, X windows, and other hacking.
http://tinyurl.com/yurunb

Application testing is needed.  But getting set up currently takes
some effort.

Translation opportunities (Spanish, Portuguese, Arabic, and others).
For software http://tinyurl.com/yrp8m7 , and http://wiki.laptop.org .

More generally:

The http://wiki.laptop.org , a wikipedia-like wiki, is always in need
of attention.

Once the mid-July TRIAL-2 deadline crunch is past, there are lots and
lots of opportunities for porting and creating software for Content
Release 2 (late Sept).

For educators, the project's software approach is constructionist
(sort of Montessori - learning though collaborative exploration and
creation).  There are many opportunities to create and propose
content.  The wiki, and #olpc-content , are good places to start,
though things are a bit messy at the moment.


Thanks for your attention.
Please feel free to forward this as you think helpful and appropriate.

Mitchell Charity


Outtakes

http://wiki.laptop.org/go/Hardware_specification A dot-com-era equivalent x86 cpu. 256 MB memory and 1 GB of flash disk. USB slots, and a mic port which doubles as DC input. There have been assorted prototype hardware hacks, like a $1 lens set to turn the camera into a microscope, robot control, etc.

Software development has been less far along than the hardware. It's a stripped down linux. Custom UI, as office desktops aren't quite the right thing for young children. Pervasive collaboration infrastructure. Journal approach to filesystem UI. Lots of python. Recent efforts to slim down Java may get it light enough to include. Smalltalk, Squeak, and Scratch.

You might prefer language X, or desktop infrastructure Y to gtk. I do. But the choices made have been plausible, the result works. The need now is to flesh it out, and continue loading it up with creative software.

Mel's response

This is the /msg I sent you in IRC that we never found out what happened to.

  • >mncharity< I just saw your posting for an ee lab tech.
  • >mncharity< ironically, I was going to ask SJ if I could do a little ee lab tech work for a few weeks after the current content crunch is out.
  • >mncharity< see http://mellory.blogspot.com/2007/04/why-i-wont-be-earning-money-this-summer.html
  • >mncharity< and note that it's from... april.
  • >mncharity< of course, it's quite possible that I *shouldn't* do this (and it's a good opportunity to get someone else involved)
  • >mncharity< but I at least used to really want that job (and still, to a large extent, do.)

So, yeah - don't let me affect how you move forward with this (as in, keep looking for people, and grab one if you find one) but I'd love to talk with you about this the next time you're in the office, on irc, or otherwise. Also, I know a decent number of Olin kids who would love the chance to come and hack hardware here for a day a week, or so... that's another thought for where to reach out. Mchua 20:21, 15 July 2007 (EDT)

Perhaps talk with smithbone, and volunteer as a (at least part-time) minion? Re talk, sure, that would be great. Finding ways to pull in and integrating people resources seems a primary olpc challenge at present. Re blog, perhaps start collecting "successes"? Start a stream of goals, small, bite-sized, accessible goals (hard enough to trigger worry, but easy and straightforward enough to objectively have a high probability of success). Straightforward as in tasks having well defined success criteria, and being unlikely to mutate, so in the end it's clear whether you succeeded. Also diverse goals. Might ask variety of people to explicity give you diverse, unusual, hour-ish or something tasks? As you knock off stream items, hopefully you develop a feeling of being able to handle anything which comes up. Key thing might be to avoid week after week of work which leaves you "I'm not really sure if that was success or failure, kind of a mix, and I didn't really look squarely at the question", which leaves confidence unimproved. Perhaps? MitchellNCharity 10:36, 16 July 2007 (EDT)
Just wanted to note that I'm gradually moving into doing this more (hampered largely by my lack of access to equipment while interning in NYC, but I'm saving up). So life is happy. I'm still not a particularly excellent hacker, but... learning. Now if I can find a way to do this EE stuff full time... Mchua 03:17, 10 February 2008 (EST)

Dev community building

Mitchell, want to talk over lunch or dinner at the office (or elsewhere) sometime? I just read your talk page section on how hard it is to get involved as a developer, and since I'm trying to extend out from content & community building into development (in the lonnnng term), development community building is on my hit-list of Things To Do. In other words, I want to help build the bridges you're talking about, because without that the bottlenecks are sufficiently high to prevent us from forming a community... also because I'm one of those not-quite-1337-enough folks who is getting stymied at the current bottlenecks - which, come to think of it, is probably why I've been doing so much Content stuff - because I can do that.

Anyway. It's something I haven't had a substantial (read: more than 3 sentences) convo with someone about, and I'd really like to talk with you about it... possibly offer myself up in September when I go to Chicago as a test case for a n00b developer that needs bridges built (and is willing to learn how to widen bottlenecks as I hit them, if you'd possibly be willing to mentor me in that - you seem to be really good at it).

(This is part N-1 in the N-part series of "Mel tries to become a Real Hacker," btw.) Mchua 21:54, 15 July 2007 (EDT)

currency images

What happened to the currency image creation stuff? It seems to be slightly disappeared. --Nikki 19:22, 16 July 2007 (EDT)

Never mind. I'm silly and went to the wrong place. --Nikki 20:40, 16 July 2007 (EDT)

firefox bookmarks that serve as wiki shortcuts

Thought you might appreciate. Firefox wiki bookmarks Mchua 03:19, 17 July 2007 (EDT)

A generic "come help olpc!" email.

One Laptop Per Child is a humanitarian education project to improve
primary school education world-wide.  Rapidly and dramatically.  Here is
a description of the project, and a sketch of opportunities to help out.

Your time and talent can reach 1 million children by early next year.

CHANGE THE WORLD?

There are a billion school-age children in the world.  Most have a
chance to attend primary school, but the educational opportunities
there could be greatly improved.  No doubt the tide of rising wealth
and improving technology will eventually have a broad impact.  But
look at the scale.  Do something which takes a year to get going, and
that's 100 million children missed.  300 thousand children a *day*.

One Laptop Per Child is the result of trying to find some way, any
way, to have a major impact on this problem/opportunity.  The key
observation was that with innovative hardware design, open source
software, and massive economies of scale, countries can afford to give
children laptops to serve as textbook and collaboration tool, journal,
library, camera, video, VOIP, musical instrument, platform for
hardware hacks, and computer. Not sitting in a computer lab, but one
the kids own and live with. Readable in sunlight.  Usable in rain.
Designed to survive the five years of primary school.  Mesh
networking.  Usable off the net, and off the power grid.

And not merely a few thousand here, and a few thousand there.  But
blanketing towns, regions, countries.  Not local school systems
deploying to a few schools, but national ministries of education
planning deployments for states.  With the laptop serving not only its
primary mission, but also as a focal point for efforts in education,
health, infrastructure, and development.

The very first production run this fall will manufacture one million
laptops.  By itself, a few percent of world annual laptop production.
New hardware revisions are planned every year or so.  Production is
intended to ramp up to 100 million per year.  We are still going to
miss a billion children.  There are limits to what even an massive
effort like this one can do.  But starting in late 2008, we might at
least keep pace with new students.  And potentially give them an
opportunity for education unique in history.

There are other things one could do, instead of, or in addition to.
Create school libraries in a box.  Aim to create a million school
libraries.  Construct and expand school buildings.  Much lower impact
than OLPC, both on kids and country, but a fraction of the cost per
child.  If you could get people to actually do it, rapidly, on the
scale needed.  I don't see that happening.  But OLPC is.

Hundreds of children around the world have been using laptop hardware
prototypes.  And the final pre-production Beta-4 machines are in, and
going out to a thousand more for TRIAL-2 pilots in 10 odd countries.
A million laptops are being manufactured this fall.  Depending on how
the trials of the next few months go, and thus on which countries sign
up, perhaps millions more each month of 2008.

What else can you work on, helping with community, content, or
software, which will reach a million children in a few months?

OPPORTUNITIES TO HELP

Come visit the wiki, http://wiki.laptop.org .
Like Wikipedia, you can browse and contribute immediately and anonymously.
And create your own User page to tell others about your interests.

There is an IRC chat channel #olpc-content for help and discussion.

There is also a more formal website, http://laptop.org .

The best way to get started is to read and contribute to the wiki.
Share ideas, make suggestions, encourage projects; gather and create
art and music and text and other content; help clean up and improve
the wiki; contribute to content, education, and software projects.

The process for helping potential volunteers get oriented is still
rather rough. So a key contribution you can make is to note and tell
of the problems you encounter.  And to suggest, or write, improvements.

The content we create and gather is free, enriching the world wide
public domain.  There are opportunities to create, gather, and curate
media in all forms.  There are mentoring and internship opportunities
with the Summer of Content 2007.  Neat things are being done.

The educational approach is constructionist (sort of Montessori),
learning though collaborative exploration and creation.  There are
many opportunities to create and propose educational content.  Also
software.  And you can see field reports starting to trickle in,
though they are mostly still from TRIAL-1.

The breadth of software possibilities is limited mostly by finding
people to pursue them.  Software needs to be adapted to the laptop:
to be usable, unassisted, by primary school children; to support
real-time collaboration; and to fit space and hardware constraints
(think dot-com era desktop).  But the well defined, featureful
hardware, with every single student having one, creates novel
opportunities.  Here are just a very few examples, to give a flavor.
Handwriting recognition on the tablet.  Using that to drive a shared
"algebra white-board".  Track a waving hand with the camera.  Use that
to conduct music.  Stitch together panoramic photos, leveraging the
built-in screen pivot.  Annotate web pages and share them.  And on,
and on, and on.  Free and open source software already exists out
there to do all this.  Though sometimes a last push is necessary to
make it work well.  Then it needs to be pulled in, and crafted into
something a million children can start using.

The laptop software is mostly written in python.  While no language is
everyones' favorite, even if you have a different language background,
you should still find python accessible enough to contribute.  And for
reaching a million kids, it's worth the effort.  There is pygame, and
gtk.  And the pervasive collaboration infrastructure.  And C and Squeak.
You can develop directly on your own machine, or in emulated images of
the laptop.  There is also a great need for documentation writing.  And
there are existing applications ("Activities") looking for help with
coding and testing.

There are also opportunities for hardware hackery.  People are
creating ~$1 lens sets to use the camera as a microscope, driving
robots, etc.

Software development and testing is currently (late July) focused on
the TRIAL-2 release.  We are approaching code freeze, addressing Trial-2
blocker and high priority items, and doing testing.

 Python/pgtk work on the core UI ("sugar") http://tinyurl.com/yrlrrj ,
 and activities http://tinyurl.com/yp9e36 .

 Linux kernel, X windows, and other hacking.
 http://tinyurl.com/yurunb

 Translation opportunities (Spanish, Portuguese, Arabic, and others).
 For software http://tinyurl.com/yrp8m7 , and http://wiki.laptop.org .

Thanks for your attention.
Please feel free to forward this as you think helpful and appropriate.

Mitchell Charity

getting people started

Since you seem interested in this, here are a few ideas:

  • Have a *.tar.gz file that contains a filesystem image, and a script that uses chroot and mount --bind to place the user there. One would just run the script as root, specifying a few critical things like the desired user ID. They'd get a pair of xterms (to represent console 1 and console 2) and a nested X server with Sugar.
  • Have a well-documented low-level Hello, world! example. By low-level I mean plain C, raw Xlib, and a simple Makefile. Have another example showing how to make the raw D-BUS calls to share over the mesh, ask Bitfrost for a file, and every other thing that might be needed. It would be nice to also include examples with SDL and GTK, but the low-level stuff is most critical because it can work with everything.

AlbertCahalan 00:36, 8 August 2007 (EDT)

simulate_display.py

Well it doesn't work.

$ ./simulate_display.py 0 /tmp/Zone_plate_boys.png /tmp/munged.png
Traceback (most recent call last):
  File "./simulate_display.py", line 116, in ?
    main(sys.argv)
  File "./simulate_display.py", line 112, in main
    i1 = simulate_display(i0,contribution_of_reflected_light)
  File "./simulate_display.py", line 54, in simulate_display
    p1[x,y] = p0[x,y]
TypeError: unsubscriptable object

Could you run it on the zone plate boys test image? I'd like to see what you get. BTW, your assumption about the color of the top left pixel is correct.

My emulation attempt is here. I assume the backlight is in use; the other case is far less interesting. I think my emulation is perfect for dim objects and decent for other objects.

Note that the OLPC web browser will scale images, which screws up the test for non-web stuff.

AlbertCahalan 02:25, 10 August 2007 (EDT)

Activity-ruler icon with 3.5px stroke-weight

Hi Mitchell, was looking at your activity-ruler svg icon, and saw that the stroke-width size was 4.0 px, when the HIG guidelines say it should be 3.5 px (it actually says 3.5 pts, but that's a different thing, a bug in inkscape or illustrator ). Anyway,I changed the icon for you, and uploaded it, also renaming it to the new name, so you can allways re-upload a newer version of it. The new thickness makes the icon a bit nicer, less blockier:

Activity-ruler.svg


Test collaboration

Yeah, I'd love to test out collaboration. I've added your XO as a friend, and maybe we'll meet on XO-land :) I was also thinking of making screencasts of the Sugar desktop (using recordmydesktop) and so we could record some collaboration features.

I haven't had the courage to come out to the street with the XO, I'm shy and also bit afraid I can get it stolen! But I hope to, one day :) HoboPrimate 17:48, 26 September 2007 (EDT)

Emulation

VirtualBox on Windows XP does not change to 1200x900 when all olpc's xconf files specify that screen resolution. The screen settles on 1024x768, getting this from vesafb according to the boot scroll. I have no idea how to alter that. Altering the conf files isn't impossible. Keying Alt-= gets the developer console, selecting the Terminal tab gets the command line. The commands cd /, cd etc, cd X11, su, ls (shows 4 confs: dcon-xorg.conf geode-xorg.conf qemu-xorg.conf xorg.conf), vi qemu-xorg.conf, i, Modes "1200x900" (in the Display SubSection of Screen), Esc, wq! changes the file; but the OS still boots 1024x768. It would have been easier for a vi novice to do this if help files for vi had been included in olpc developer build 557. Maybe you know someone who knows what files to change. 207.229.150.96 14:30, 11 October 2007 (EDT)

http://wiki.laptop.org/go/Talk:Emulating_the_XO#VirtualBox_and_1200x900 - the file to change is grub.conf. 12.202.127.204 09:05, 23 November 2007 (EST)

Your QEMU-running GUI?

I seem to be missing the link to your GUI for running Qemu with auto-selection and downloading of OLPC images. Can you refresh my link-memory?

--Mcfletch 11:16, 20 December 2007 (EST)

It's linked from Improving_emulation. I suggest at least one person other than myself needs to try it before it is given a higher profile. This is only revision 2 of major rewrite. Half of the command-line args were broken in rev 1. Testing needed. MitchellNCharity 18:58, 20 December 2007 (EST)

Emulating the XO Page

Hello Mr. Charity,

I'm Mitra, a student from the Illinois Math and Science Academy and I am currently doing an Intersession with Mel, as you may already know. As part of this Intersession I took the opportunity to improve OLPC's tutorial page on how to emulate the software on their own computer. I hope that you can take the time to look at it, and perhaps leave some comments. Thank You: http://wiki.laptop.org/go/Emulating_the_XO/Quick_Start.

Thank you for the comments on the new revision of the page, I will continue to work on it over the next few days and try and include much of what you pointed out. Also, as you said I think we should look into creating a simple installer for qemu and kqemu, and the launcher script and I will look into finding a way to create one. --Mitra 17:04, 12 January 2008 (EDT)


Cambridge science festival

I'd be willing to at least ping the ACM folks you mentioned... might be able to pull something together on super-short notice, or at least see if it's possible for next year. Mchua 13:45, 1 February 2008 (EST)

Forwarded most recent contact. MitchellNCharity 13:01, 2 February 2008 (EST)
Aaand you already know this, I think, but we are indeed having a Community Jam. You should come. Mchua 03:17, 10 February 2008 (EST)

Sugar localization help..

Do you know about the POTFILES.in file and its required encoding scheme? I hear various stories that it is required and horrible problems can occur without it. On the other hand, I hear setup.py now ignores it and picks a UTF-8 encoding anyway. Do you the answers or know where I should go? I just updated Python_i18n to go with POTFILES.in CharlesMerriam 05:35, 27 February 2008 (EST)


design gang proposal

I've posted a proposal for image upload file structure and categorization. OLPC:Design_gang/proposed_file_structure AuntiMame 14:40, 14 September 2008 (UTC)

Github

What you say doesn't preclude a wiki, as you well know. It's clear that organization of Activity teams needs to be much improved to encourage development. It doesn't help that we break the api every few months :S. Christoph's Activity Handbook is a good step in the right direction, but not nearly enough.
What would you specifically like to see? What do you think works best to organize activity development? I would love to see the VIG implement it. Send this to the VIG mailing list Seth 00:43, 21 September 2008 (UTC)