Our software: Difference between revisions
Line 100: | Line 100: | ||
=== What instruction set does the processor in the laptops have? === |
=== What instruction set does the processor in the laptops have? === |
||
The Geode processor that is currently used in the laptops supports the full Athlon instruction set (including MMX and 3DNow!), plus Geode-specific instructions. |
The Geode processor that is currently used in the laptops supports the full Athlon instruction set (including MMX and 3DNow!), plus Geode-specific instructions. |
||
=== Random generator entropy === |
|||
Hi, we came up with this issue at the 23c3 in a lecture about the /dev/(u)random generator in Linux. The algortihm gets most of its entropy from the harddisk. Because the OLPC lacks a hdd, this could be an issue, when you need a random number for cryptography at boot time. Of course the algorithm is still strong and sufficient enough for most applications (or at least i think so), but not as good as some people maybe think. (Other entropies: camera, microphone,...) (DustyDingo) |
|||
:Your question is confusing, as I'm not versed in random number generators based on hard disk... Isn't the built in Flashdrive good enough? It acts like a conventional hard drive, but it's all memory. --[[User:Jcfrench|Jeff]] |
|||
::No, the flash is not good at all. Hard drives have unpredictable timing, and thus the kernel uses them to supply /dev/random data. The DCON chip really should be modified to include a random number generator that works based on electrical noise such as the thermal stuff in a semiconductor junction. (note: NOT a pseudorandom number generator) [[User:24.110.145.57|24.110.145.57]] 19:40, 27 February 2007 (EST) |
|||
:::Hmm... Chaos Communication Congress... OK! So you are looking for a way to seed a random number generator from an on board OLPC component (mostly for cryptography a boot time). OLPC doesn't seem to prioritize encryption as a core value (it seems to go against the BitFrost mantra of transparency). That said, you've got a pair of WiFi like transmitters, a monitor, keyboard, touchpad, battery, etc. Does hard drive access time really provide an evenly distributed random number? I find that hard to believe. Also, is this topic really critical to the goals of OLPC as a project? --[[User:Jcfrench|Jeff]] |
|||
::::The very first thing an OLPC XO does is generate a long-term public/private key pair. All the over-the-air stuff is at least cryptographically signed. If a kid publishes a Sugar XO bundle, it gets signed with his key. Hard drives are decent; the fast-moving air inside the drive provides randomness. The WiFi may be a tolerable choice; it's both public and subject to lack of input though. The monitor is no good. The keyboard and touchpad are OK, though very slow. The battery is unlikely to help. The digital camera may be the best choice. The microphone is tolerable. Use of many of these devices will require lots of power and/or background daemons. It's just way easier to do as Intel did with their motherboard chipsets. VIA put a random number generator right in the CPU. [[User:AlbertCahalan|AlbertCahalan]] 22:14, 28 February 2007 (EST) |
|||
:::::This is a serious issue. There's a paper on the quality of the linux kernel RNG, and how it has relied on obscurity. When people wanted to find out how it works, they got no help from the developers; after analyzing it, they found serious weaknesses, and published. |
|||
:::::http://www.pinkas.net/PAPERS/gpr06.pdf |
|||
:::::In a nutshell: |
|||
:::::# Linux RNG is overly complicated, and could be made much simpler at no loss of quality if a random source is available. |
|||
:::::# Linux RNG is predictable with no random source |
|||
:::::# A "must" for diskless systems is to save the RNG state across shutdown/bootup. At the very least, each laptop should ship with a 512 byte file fetched from random.org (or similar) so that they can initialize to an unknown state on first boot. |
|||
:::::# Instead of using the linux RNG, perhaps consider a better one. Apple claims that its RNG -- "Yarrow" -- is better than Linux's, however it warns that a lack of random input will degrade it without warning (versus linux's estimate of entropy remaining in the main pool). |
|||
:::::I do **REALLY** hope that this is fixed before any "for end user" machines are shipped. --[[User:Keybounce|Keybounce]] 21:36, 31 March 2007 (EDT) |
|||
::::::It is a serious issue, but that stuff about Yarrow being better is wrong. People get recognition by publishing alarmist "research" about supposed defects in important software. The Linux developers have little time to help clueless people who won't study the history behind the Linux /dev/random and /dev/urandom devices. Yarrow has one feature of dubious value: it recovers quickly from an attacker who somehow exposes the content of the pool. If an attacker can do that, you have bigger issues to worry about because the attacker is reading your kernel memory! Yarrow does have two weaknesses. First, it assumes that there will not be a successful attack against the cryptographic operations it uses. The Linux /dev/random and /dev/urandom instead assume that such attacks will be somewhat successful, and thus does not depend greatly on the cryptographic operations being unbreakable forever. Second, Yarrow fails to track entropy. Even if no data goes into the pool, you can pull infinite data out. This makes Yarrow a pseudo-random number generator. Linux makes a conservative estimate of the amount of true randomness available in the pool and will cause /dev/random to block (stall) if there is not enough available. [[User:24.110.145.57|24.110.145.57]] 00:26, 1 April 2007 (EDT) |
|||
The AMD Geode LX processor includes a hardware random number generator. Linux's /dev/{u,}random uses it to seed the entropy pool. Also, keyboard and trackpad input are used to add to the entropy. There should be few issues with the quality of the random numbers. |
|||
::Look at the [[Measure]] activity - it reads unbiased voltage data from the audio in port. I don't know how sensitive the a/d on that is, but if it's sensitive enough to get some random noise when there's no mic attached, this would be an excellent, constant source of random data (I saw an article once arguing that a noisy a/d is either brownian motion - which has quantum input from molecular vibration modes - or direct quantum tunelling of electrons in the chip. Quantum random = gold standard.). I don't know if there are Bitfrost/Raibow issues with accessing this port - I think that's only for the physical mic, not the port. --[[User:Homunq|Homunq]] 11:06, 24 September 2007 (EDT) |
|||
===RSS=== |
===RSS=== |
Revision as of 16:19, 19 October 2007
For more information see the Software Page.
What software will be used with the $100 laptop?
The one-laptop-per-child computer (OLPC) is delivered with some general purpose software: web browser; word processer; basic tools for personal expression; etc. There are also high-quality educational examples of OLPC use. A more complete list is found here.
OLPC is working with Red Hat on a Linux kernel for the machine, but we are opening up the design; it is inevitable that there will be several variants of Linux to choose from, as well as some version of Windows, and perhaps an OS X offering.
We made a decision to base the OLPC laptop on open-source software in order to provide countries (as well as the teachers and the children) with the freedom to decide for themselves what to place on the machines, and to share and localize examples of best practice generated domestically and taken from abroad.
Open-source software gives children the opportunity to “own” the machine in every sense. While we don't expect every child to become a programmer, we don't want any ceiling imposed on those children who choose to reach towards complexity. We are using open document formats for much the same reason: transparency is empowering. The children—and their teachers—will have the freedom to reshape, reinvent, and reapply their software, hardware, and content.
Usability and User Testing
There is very little public information about requirements gathering, usability and user testing. In other words, how do you know whether the OLPC (i) will meet your users' needs and (ii) is easy enough for them to use? Have the target user groups been characterized? What ongoing plans do you have for this? I`d Like test the OLPC in Argentina, Please contct with me to know how. Thanks.
- As far as I know, there are two local groups in Argentina with test boards (don't know if anybody has the 2B1/XO prototypes though). They are Ututo and Tuquito. I know Ututo had some explicit arrangements to let other people use/test the boards. If anybody knows about other groups (or about any local XOs) please let me know (or post in the OLPC Argentina pages. --Xavi 07:23, 6 December 2006 (EST)
- There is more to life and education than requirements gathering. Usability and testing are of course important, and on-going. Research is often just trial, error, and adjustment. If you want, you can participate by setting up an emulator and seeing how the software works now. The research is going on now, and you can participate. Exciting, don't you think? -Jeff 21:47, 9 March 2007 (EST)
What about usability testing for children? A recent article quoted the OLPC chairman as saying: "Granted, I'm not a child. I don't know if it's going to be intuitive to children." Was there research?
Wouldn't having a choice of operating systems mess with the idea of having mesh networking, educational software and external mass data storage?
We anticipate that the choice of operating systems will be made at either a very coarse level of granularity, e.g., regionally, or by individuals. In the former case, it would have to be done in concert with some sort of "school-server" strategy. In the latter case, presumably the child making the choice has a reason for it.
Will the mesh networking be an effective replacement for Internet access?
We don't anticipate the mesh network will replace the Internet, but rather it will complement the Internet. The mesh is for local communication. An uplink at the school will be the gateway out. Providing local telecommunications is in and of itself of benefit to the children and their communities. There may be local regulatory issues that need to be addressed.
Will the display be able to rotate orientation?
The OLPC laptop runs the X Window System, which has resize and rotate extensions.
How much is reserved for Content?
The operating system and “mandatory applications” occupy 200MB. This provides 800MB for the user.
Is the OLPC laptop a PC?
Yes.
Is the OLPC laptop a PC in the sense of being an IBM-compatible PC rather than just a “personal computer”?
The OLPC is clearly NOT an IBM compatible (or MS-DOS compatible, for that matter) PC even though it does currently use an x86 CPU. The OLPC laptop has many features that take it beyond a basic PC. And the designers reserve the right to change to a non-x86 CPU in the future if it makes sense. As one of the team said recently, AMD will have to earn our business. The goal is not to make another IBM compatible but to make a portable personal computer that a child can use as a core tool for their elementary education.
No other PC has a screen that can switch to a low-power, high-res monochrome mode. No other PC has such a low-power, extended-range wifi with its own CPU that can keep sending while the main CPU sleeps. No other PC is intended to be, first and foremost, a tool for educating children.
Contribution towards Programming
Hello,
I am really interested in contributing towards the programming efforts in linux kernel and python. Please let me know how shall I proceed and start contributing towards it?
Suresh, Bangalore, India.
- Suresh, check this page "Getting involved in OLPC" and this page"OLPC Python Environment" -Jeff
Science curriculum
I do not see any content related sections for the sciences (physics, chemistry, biology) and math. Can you please point me to that section or include this in your curriculum?
- Every page has a search section in the column on the left. If you don't see something in the table of contents then use the search capabilities to find it. If you still can't find something which you think should be on the wiki, then start a new page and write an outline of what you think we should have. Others will fill in that outline for you. If you return in a week or two, you will have your answer. --Memracom 05:23, 13 January 2007 (EST)
Adaptation of Musical Editor for local music systems
Hello, While browsing through the software that will be put on the B2 release, I remarked the screenshot of the Musical Editor, and I saw that it was based on the western notes system (do, re, mi, fa, sol, la, si, do). These notes have more or less fixed frequencies ('la' has 440 Hz, and going from one note to another happens by stepping of halve tones where the frequencies need to be multiplicated or divided by 1.059, the twelfth root of 2).
The OLPC project is ment for children in third world countries, like for instance India and China and other countries, where different music systems are used. Therefore I propose to foresee these adaptations within the Musical Editor (after all, it can't be the intention of forcing children to abandon their own musical culture :-?).
In case OLPC people are interested, I am willing to do some investigation in order to figure out which are the mostly used music systems with corresponding frequencies in order to facilitate the work. I can be reached via my e-mail address under my OLPC subscription account 'scampsd'.
- The OLPC includes csound software which can be adapted to work with any type of musical system. If you want to document these systems and any csound software that works with them, feel free to start a new page on this wiki. --Memracom 05:30, 13 January 2007 (EST)
Best regards and good luck with the project Dominique
- Hey "scampsd" i couldnt work out how to contact you about this, I am interested in alternative scales, mail me, simon att simon chadwick dt net
---from another contributor---
yes - i can see nepal, peru, thailand and india on the pilot project map that will be using different scalings 'naturally' without the fixing of the western scale to their use of the software. from the wikipedia.org page on microtonal music: "By this definition, the following systems are not microtonal: a diatonic scale in any meantone tuning; much Indonesian gamelan music; and Thai, Burmese, and African music which use 7 approximately equally spaced tones in each (approximate) octave." - there should be a module in csound for microtonal music: the most sensible option would be to have a special settings page to configure a preset choice of tunings for different regions to fit with preferred choice of tuning for the region. to eliminate locally tuned music would be an ethical crime, and is a big risk with a music program dictating that users have a 'western scale' for their music. i would not like OLPC to be responsible for the destruction of some of the most musically interesting and unique styles of music simply because there was no option for local tunings in the easily available and (relatively) powerful sequencing capabilities of freely available computers. it looks like Csound’s value converters for microtonal programming are functions "ampdb" and "cpspch". documentation on csound available at www.csounds.com/chapter1/index.html
Where can software developers get laptops with which to work?
The vast majority of early software developers can work on ordinary Linux laptops or desktops. The machine will run Linux, X, and Gnome. Write your applications to use minimal RAM and minimal file system space, and to not depend on having a color screen. A release of the Fedora software for the OLPC is available (See Installing Fedora Core. If you want to simulate small memory, you can boot linux with the "mem=256m" parameter.) Some developers who need laptops, e.g. to work on device drivers, will receive prototype boards from OLPC. Here are Notes_on_using_the_OLPC_developer_boards.
What instruction set does the processor in the laptops have?
The Geode processor that is currently used in the laptops supports the full Athlon instruction set (including MMX and 3DNow!), plus Geode-specific instructions.
Random generator entropy
Hi, we came up with this issue at the 23c3 in a lecture about the /dev/(u)random generator in Linux. The algortihm gets most of its entropy from the harddisk. Because the OLPC lacks a hdd, this could be an issue, when you need a random number for cryptography at boot time. Of course the algorithm is still strong and sufficient enough for most applications (or at least i think so), but not as good as some people maybe think. (Other entropies: camera, microphone,...) (DustyDingo)
- Your question is confusing, as I'm not versed in random number generators based on hard disk... Isn't the built in Flashdrive good enough? It acts like a conventional hard drive, but it's all memory. --Jeff
- No, the flash is not good at all. Hard drives have unpredictable timing, and thus the kernel uses them to supply /dev/random data. The DCON chip really should be modified to include a random number generator that works based on electrical noise such as the thermal stuff in a semiconductor junction. (note: NOT a pseudorandom number generator) 24.110.145.57 19:40, 27 February 2007 (EST)
- Hmm... Chaos Communication Congress... OK! So you are looking for a way to seed a random number generator from an on board OLPC component (mostly for cryptography a boot time). OLPC doesn't seem to prioritize encryption as a core value (it seems to go against the BitFrost mantra of transparency). That said, you've got a pair of WiFi like transmitters, a monitor, keyboard, touchpad, battery, etc. Does hard drive access time really provide an evenly distributed random number? I find that hard to believe. Also, is this topic really critical to the goals of OLPC as a project? --Jeff
- The very first thing an OLPC XO does is generate a long-term public/private key pair. All the over-the-air stuff is at least cryptographically signed. If a kid publishes a Sugar XO bundle, it gets signed with his key. Hard drives are decent; the fast-moving air inside the drive provides randomness. The WiFi may be a tolerable choice; it's both public and subject to lack of input though. The monitor is no good. The keyboard and touchpad are OK, though very slow. The battery is unlikely to help. The digital camera may be the best choice. The microphone is tolerable. Use of many of these devices will require lots of power and/or background daemons. It's just way easier to do as Intel did with their motherboard chipsets. VIA put a random number generator right in the CPU. AlbertCahalan 22:14, 28 February 2007 (EST)
- This is a serious issue. There's a paper on the quality of the linux kernel RNG, and how it has relied on obscurity. When people wanted to find out how it works, they got no help from the developers; after analyzing it, they found serious weaknesses, and published.
- In a nutshell:
- Linux RNG is overly complicated, and could be made much simpler at no loss of quality if a random source is available.
- Linux RNG is predictable with no random source
- A "must" for diskless systems is to save the RNG state across shutdown/bootup. At the very least, each laptop should ship with a 512 byte file fetched from random.org (or similar) so that they can initialize to an unknown state on first boot.
- Instead of using the linux RNG, perhaps consider a better one. Apple claims that its RNG -- "Yarrow" -- is better than Linux's, however it warns that a lack of random input will degrade it without warning (versus linux's estimate of entropy remaining in the main pool).
- In a nutshell:
- I do **REALLY** hope that this is fixed before any "for end user" machines are shipped. --Keybounce 21:36, 31 March 2007 (EDT)
- It is a serious issue, but that stuff about Yarrow being better is wrong. People get recognition by publishing alarmist "research" about supposed defects in important software. The Linux developers have little time to help clueless people who won't study the history behind the Linux /dev/random and /dev/urandom devices. Yarrow has one feature of dubious value: it recovers quickly from an attacker who somehow exposes the content of the pool. If an attacker can do that, you have bigger issues to worry about because the attacker is reading your kernel memory! Yarrow does have two weaknesses. First, it assumes that there will not be a successful attack against the cryptographic operations it uses. The Linux /dev/random and /dev/urandom instead assume that such attacks will be somewhat successful, and thus does not depend greatly on the cryptographic operations being unbreakable forever. Second, Yarrow fails to track entropy. Even if no data goes into the pool, you can pull infinite data out. This makes Yarrow a pseudo-random number generator. Linux makes a conservative estimate of the amount of true randomness available in the pool and will cause /dev/random to block (stall) if there is not enough available. 24.110.145.57 00:26, 1 April 2007 (EDT)
The AMD Geode LX processor includes a hardware random number generator. Linux's /dev/{u,}random uses it to seed the entropy pool. Also, keyboard and trackpad input are used to add to the entropy. There should be few issues with the quality of the random numbers.
- Look at the Measure activity - it reads unbiased voltage data from the audio in port. I don't know how sensitive the a/d on that is, but if it's sensitive enough to get some random noise when there's no mic attached, this would be an excellent, constant source of random data (I saw an article once arguing that a noisy a/d is either brownian motion - which has quantum input from molecular vibration modes - or direct quantum tunelling of electrons in the chip. Quantum random = gold standard.). I don't know if there are Bitfrost/Raibow issues with accessing this port - I think that's only for the physical mic, not the port. --Homunq 11:06, 24 September 2007 (EDT)
RSS
Would it be possible to give LAPTOP NEWS RSS feed capability? I use a NewsGator RSS reader, and I like it very much. It saves me a lot of time, and the releases in each feed are always the most current when I log on. I try to check my feeds at least every 2 or 3 days. Thanks!
- PenguinTV is one of the activities already running on the laptop; you can run an emulator and download the latest image of the OLPC environment to try it out for yourself. Sj talk
Accessibility
What mechanism olpc is going to adopt to make it accessable for child with physical disabilities? Will there be seperate keyboards for blind with braile? Will there be alternate input methods for child with dysfunctioning hands?
--Ankur Sharma, olpc Nepal
- As far as I know, OLPC keybords are standardized for each country's language/s, but not braille. The OLPC has 3 USB ports to which external (braille) keyboards may be connected (quick search and sample result or alternative method). In order to better gauge the dimension of the issue, the World Health Organization (WHO) has some statistics on the incidence of blindness.
- I have posted some observations about Dasher as an alternative input method, not only for physical disabilities but general use too. --Xavi 09:45, 21 December 2006 (EST)
Further to the question above, does the OLPC initiative include distributing laptops to children who are currently going through patient care in a hospital setting? And if so do you have links to devices that can allow a child to utilize a laptop from a hospital bed (i.e., wall mounted mechanical laptop ARM)? This is a great initiative!!!
Regards CReid
- Technically, it's the governments buying the laptop that will distribute them (not the OLPC), and while I see no difference between a child in a hospital bed or a cabin in the mountains (from a distribution PoV), my guess is that hospitals in these countries have other priorities to allocate their budgets instead of fancy trays (as cool as they might be ;) --Xavi 08:05, 23 January 2007 (EST)
As a representative of an NGO type organization I just recently commented to a UN officer about a similar subject. “Fancy Trays”' are not always at the request of the country or donor agency in general. Part of what makes these items or services that may not at first glance seem functional is the vision of the donor. Just like the water go round in Africa sponsored by Ex US president Bill Clinton and the water see saw in another nation that promotes the washing of your hands. It is not always up to the receiver in what it is they are to receive . There are also many sites that go in-depth about theses issues and the how and why's of the matters. If you are interested in finding out more you can direct searches about: third world programs, world aid and I am sure you can find more information as to why a fancy tray may have been purchased or donated as well as many other interesting things.