User talk:MitchellNCharity/Old
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 ...
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... Sj talk 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. MitchellNCharity 20:49, 3 June 2007 (EDT)
- vision
- visual acuity tests (Snellen chart, E chart, near-test card, gratings, etc).
- visual field tests (Amsler grid, perimetry testing, tangent screen test, ...?)
- color vision tests
- vision
Yes, just like that list. Noah is also talking to some people interested in basic health, one of whom might want to own such a project. We should get a vision doc and someone who works with novice health workers involved to make sth that's an easy & foolproof diagnostic tool... Sj talk
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:
- 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. 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)
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)