HaitiOS: Difference between revisions
(comma in url by adam broke link, and it should not be to wiki.sugarlabs.org anyway, use people.sugarlabs.org instead) |
|||
(56 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
==Download== |
==Download== |
||
For now an XO-1 laptop is required. Update: [http:// |
For now an OLPC XO-1 laptop is required. Update: analogous instructions work for [http://download.unleashkids.org/HaitiOS/HaitiOS-1.75-0.7.8.g5fd970f.zip HaitiOS 0.7.8 for XO-1.75s] was installed Jan 27th 2014 at an [http://www.samaritanspurse.org/what-we-do/greta-home/ orphanage in Leogane, Haiti], on their [http://wiki.laptop.org/go/Manufacturing_Data#XO-1.75 SKU212 laptops], replacing 2012's [http://dev.laptop.org/~reuben/azerty/ Release 11.3.1 customized for AZERTY keyboards]. |
||
Download and install January 2014's HaitiOS 0.7 |
Download and install January 2014's HaitiOS 0.7 release: |
||
# Your XO-1 laptop must be unlocked. See [[Activation_and_developer_keys#How_to_tell_if_your_laptop_is_secured|how to check]] if it is locked, [[Activation_and_developer_keys#Getting_a_developer_key|how to get]] a developer key, [[Activation_and_developer_keys#Using_a_developer_key|how to use]] a developer key, and [[Activation_and_developer_keys#Disabling_the_security_system|how to unlock]] permanently. For groups of laptops, use the [[collection stick]] then an [[collection stick# |
# Your XO-1 laptop must be unlocked. See [[Activation_and_developer_keys#How_to_tell_if_your_laptop_is_secured|how to check]] if it is locked, [[Activation_and_developer_keys#Getting_a_developer_key|how to get]] a developer key, [[Activation_and_developer_keys#Using_a_developer_key|how to use]] a developer key, and [[Activation_and_developer_keys#Disabling_the_security_system|how to unlock]] permanently. For groups of laptops, use the [[collection stick]] then an [[collection stick#Unlock stick|unlock stick]]. |
||
# [[Reuse_checklist|Refurbish thoroughly]] if time. |
# [[Reuse_checklist|Refurbish thoroughly]] if time. |
||
# Download the latest HaitiOS 0.7 from http:// |
# Download the latest HaitiOS 0.7 from http://download.unleashkids.org/HaitiOS (typically HaitiOS-XO1-0.7.x.xxxxxxxx.zip is over 70MB, 0.7.1 being the latest stable release for XO-1s in mid-2014). Unzip it to some convenient place on a hard drive, EG using http://7-zip.org. The contents (created by the unzip process) should be copied to a freshly-formatted FAT32 USB memory stick (trying different brands of USB sticks is sometimes necessary).<!-- note: some USB drives are incompatible with very old firmware on XO-1, sometimes in a specific port, the drive can be tested by attempting an upgrade from Q2D07, use another drive if this happens --> |
||
# Download [http://download.laptop.org/xo-1/os/official/12.1.0-21/21021o0.img |
# Download [http://download.laptop.org/xo-1/os/official/12.1.0-21/21021o0.img 21021o0.img] (656MB) to the USB stick. Also download [http://activities.sugarlabs.org/en-US/sugar/downloads/file/28521/wikipediafr-36.xo wikipediafr-36.xo] (121MB) placing this one in the "bundles" folder on the USB stick.'' |
||
# Optionally customize which Sugar activities you want, in the "bundles" folder on your USB stick, considering [[#Mods_for_Intl_Version|intl recommendations below]]. |
# Optionally customize which Sugar activities you want, in the "bundles" folder on your USB stick, considering [[#Mods_for_Intl_Version|intl recommendations below]]. |
||
# Plug in the XO-1 and verify its white battery is charged, shown by a green battery indicator. BOTH live charger and full battery are required to proceed! |
# Plug in the XO-1 and verify its white battery is charged, shown by a green battery indicator. BOTH live charger and full battery are required to proceed! |
||
# Insert the USB memory stick into the XO-1. ''Optional sub-steps, can help rescue older hardware:'' |
# Insert the USB memory stick into the XO-1. ''Optional sub-steps, can help rescue older hardware:'' |
||
#* Power up the XO-1 while holding down its [[Cheat codes|'x' game key]], to preemptively upgrade the firmware to [[OLPC_Firmware_q2f19|q2f19]]. Visually confirm this firmware upgrade completes (takes ~2 minutes, a 2nd attempt holding down the 'x' game key may be required on reboot). Double-check by pushing |
#* Power up the XO-1 while holding down its [[Cheat codes|'x' game key]], to preemptively upgrade the firmware to [[OLPC_Firmware_q2f19|q2f19]]. Visually confirm this firmware upgrade completes (takes ~2 minutes, a 2nd attempt holding down the 'x' game key may be required on reboot). Double-check by pushing the ''Escape'' key (keyboard's top-left key)<!--key appears differently on different XO keyboards, rounded-visual "X" was getting users lost--> [[Ok|repeatedly]] upon turning on the XO-1, to verify firmware is q2f19. |
||
#* Check the date and time shown at the [[Ok]] |
#* Check the date and time shown at the [[Ok|'ok' prompt]] by typing ".clock", and if it is wrong [[Fix Clock#If_the_screen_turns_on_but_you_cannot_enter_Linux|fix it]]. |
||
#* Later, if date was badly off, leave the XO plugged in overnight after typing "watch-battery" at the [[Ok|'ok' prompt]] <!-- oh great, yet another solution, to add to the confusion, but watch-battery is not necessary, the ok prompt is enough, and besides the easiest method is already on the section of the page that covers this issue, see Fix_Clock#Charge_the_clock_battery and the four game key method --> -- to help [[Fix_Clock#Charge_the_clock_battery|recharge the motherboard's clock battery]], per Richard Smith.<!-- if the clock is severely stale, the boot animation never stops, affects 12.1.0 only, see #12621 --> |
|||
# Do a classic Clean Install, holding down [[Cheat codes|all 4 game |
# Do a classic Clean Install, holding down [[Cheat codes|all 4 game buttons/keys]] immediately after powering on. (USB stick must remain inserted in the XO-1) |
||
# About 15 min later, after intermediary reboots and many install details proceeding on screen, the install should stop, completed. Press "Enter" when prompted, to power off. When the XO is off, remove your USB memory stick, Done! |
# About 15 min later, after intermediary reboots and many install details proceeding on screen, the install should stop, completed. Press "Enter" when prompted, to power off. When the XO is off, remove your USB memory stick, Done! |
||
# Recommended: apply the [[12757#Solution|#12757 kernel wifi fix]]. Need to fix offline XO-1s? Unpack [http://download.unleashkids.org/HaitiOS/TC-libertas-patch2.zip TC-libertas-patch2.zip] (17MB, also includes backup-to-server fix) onto a separate USB memory stick, inserting this into your XO-1, boot it up. (Otherwise wireless problems can be severe for any XO laptop, as the number of XO-1 laptops in a room increases, or the number of hidden networks increases.) |
|||
# In Haiti we typically customize the language to French or Creole, as well as setting the time zone to "America/New_York", by clicking on [[Sugar Control Panel#Access_the_interface|My Settings]] in the center of the [http://laptop.org/start/homeview.shtml Home View]. |
# In Haiti we typically customize the language to French or Creole, as well as setting the time zone to "America/New_York", by clicking on [[Sugar Control Panel#Access_the_interface|My Settings]] in the center of the [http://laptop.org/start/homeview.shtml Home View]. |
||
''NOTE: if installation ends prematurely with rapid errors shooting down the screen soon after intermediary boot, hit "Enter" and then enter "date 0101000014" and finally enter "reboot", all while keeping the USB stick inserted --- regrettably you may need to try this final recovery/rebooting sequence several times if the clock battery is severely discharged and keeps forgetting its date. It is better to have [[Fix_Clock#Check_the_clock_is_set_after_removing_power|checked]] and [[Fix_Clock#Charge_the_clock_battery|charged]] the clock battery first.'' |
''NOTE: if installation ends prematurely with rapid errors shooting down the screen soon after intermediary boot, hit "Enter" and then enter "date 0101000014" (normally followed by "hwclock --systohc", but not available here) and finally enter "reboot", all while keeping the USB stick inserted --- regrettably you may need to try this final recovery/rebooting sequence several times if the clock battery is severely discharged and keeps forgetting its date. It is better to have [[Fix_Clock#Check_the_clock_is_set_after_removing_power|checked]] and [[Fix_Clock#Charge_the_clock_battery|charged]] the clock battery first.'' |
||
==Mods for Intl Version== |
==Mods for Intl Version== |
||
Line 33: | Line 35: | ||
''Add These:'' [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4267#version-5 geoquiz-5.xo], [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4041#version-46 pippy-46.xo], [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4411#version-36 wikipediaen-36.xo] OR [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4547 Wikipedia Simple] (CAREFUL with all version numbers, Wikipedia Simple 37.1 and prior do not run on HaitiOS!) |
''Add These:'' [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4267#version-5 geoquiz-5.xo], [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4041#version-46 pippy-46.xo], [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4411#version-36 wikipediaen-36.xo] OR [http://activities.sugarlabs.org/en-US/sugar/addons/versions/4547 Wikipedia Simple] (CAREFUL with all version numbers, Wikipedia Simple 37.1 and prior do not run on HaitiOS!) |
||
In the end, your USB stick's resulting "bundles" folder of add-on activities (beyond 12.1.0) should like this 157MB collection of 29 Sugar activities: http://sugarlabs.org/ |
In the end, your USB stick's resulting "bundles" folder of add-on activities (beyond 12.1.0) should like this 157MB collection of 29 Sugar activities: http://people.sugarlabs.org/holt/HaitiOS-0.6-INTL-EN-addon-bundles/ |
||
==Course Guide== |
==Course Guide== |
||
[[Haiti Course Guide]] provides outlines 3 months of lesson plans to make the best use of this software, guiding kids' exploration to achieve both breadth and depth. It has been distributed to 8 schools in Haiti and many have already started classes using these plans or will start soon. |
[[Haiti Course Guide]] provides outlines 3 months of lesson plans to make the best use of this software, guiding kids' exploration to achieve both breadth and depth. It has been distributed to 8 schools in Haiti and many have already started classes using these plans or will start soon. |
||
We welcome feedback and suggestions around [[Haitian Creole Resources]] and [[XS_Community_Edition#Our_Ecosystem|offline digital libraries]] especially. |
|||
==Brief Evolution== |
==Brief Evolution== |
||
Line 49: | Line 53: | ||
Specifically, beyond the design doc below, here is the more final list of Sugar Activities HaitiOS 0.6 should contain: |
Specifically, beyond the design doc below, here is the more final list of Sugar Activities HaitiOS 0.6 should contain: |
||
* http:// |
* http://download.unleashkids.org/HaitiOS/bundles/ layered on top of... |
||
* http://wiki.laptop.org/go/Activities/G1G1/12.1 (5 of which we're removed, to save 27MB: HelloWorld, Moon, TamTamSynthLab, Welcome, WorldDigitalLibrary; easily restored under My Settings -> Software update) |
* http://wiki.laptop.org/go/Activities/G1G1/12.1 (5 of which we're removed, to save 27MB: HelloWorld, Moon, TamTamSynthLab, Welcome, WorldDigitalLibrary; easily restored under My Settings -> Software update) |
||
* Which is the full list beyond 12.1.0's base activities: http://download.laptop.org/xo-1/os/official/12.1.0-21/21021o0.activities.txt |
* Which is the full list beyond 12.1.0's base activities: http://download.laptop.org/xo-1/os/official/12.1.0-21/21021o0.activities.txt |
||
In summary, HaitiOS 0.6+ ([https://docs.google.com/spreadsheet/ccc?key=0AugVXkFnPouIdFNac2ZEUVFQdHpZaC1NNHlmanpFTmc design doc]) greatly expand on 0.5.1. For lesson plans, it's sometime useful to classify these Sugar activities into 4 categories: [https://docs.google.com/spreadsheet/ccc?key=0AugVXkFnPouIdGFFUkJ6UnhvOXNwbFJuQ1pWLUhXYmc Base, Easy, Intermediate, Advanced]. |
In summary, HaitiOS 0.6+ ([https://docs.google.com/spreadsheet/ccc?key=0AugVXkFnPouIdFNac2ZEUVFQdHpZaC1NNHlmanpFTmc design doc]) greatly expand on 0.5.1. For [[#Course_Guide|lesson plans]], it's sometime useful to classify these Sugar activities into 4 categories: [https://docs.google.com/spreadsheet/ccc?key=0AugVXkFnPouIdGFFUkJ6UnhvOXNwbFJuQ1pWLUhXYmc Base, Easy, Intermediate, Advanced]. |
||
While quality, colorful [[Haitian Creole Resources]] are always sought, both for HaitiOS and for the [[XS Community Edition|school server]] we install in most schools! |
While quality, colorful [[Haitian Creole Resources]] are always sought, both for HaitiOS and for the [[XS Community Edition|school server]] we install in many if not most schools! |
||
Finally, an Intl version of HaitiOS 0.7 is being installed on [[Contributors Program]] XO-1 laptops shipping around the world starting early 2014, including [[#Mods_for_Intl_Version|Intl Activities enumerated |
Finally, an Intl version of HaitiOS 0.7 is being installed on [[Contributors Program]] XO-1 laptops shipping around the world starting early 2014, including [[#Mods_for_Intl_Version|Intl Activities enumerated above]]. |
||
==History== |
==History== |
||
Line 63: | Line 67: | ||
Based on the work of [http://mapmeld.com Nick Doiron], [http://www.waveplace.org/about/people/bio.jsp?id=6 Bill Stelzer], [http://projectrive.wordpress.com Sora Edwards-Thro], [http://www.newyyz.com/ntgsite/about/management/ Tim Moody], [http://au.linkedin.com/pub/james-cameron/13/92b/aa3 James Cameron] and invaluable OLPC volunteers in Haiti, HaitiOS brings a richer set of [http://activities.sugarlabs.org Sugar Activities] to encourage quick-off-the-mark independent exploration, and deeper "guided discovery" where possible. It continues to be based on [[12.1.0|OLPC Release 12.1.0]], which most agree remains the fastest and most reliable overall operating system for our kids' and teachers' XO-1 laptops. |
Based on the work of [http://mapmeld.com Nick Doiron], [http://www.waveplace.org/about/people/bio.jsp?id=6 Bill Stelzer], [http://projectrive.wordpress.com Sora Edwards-Thro], [http://www.newyyz.com/ntgsite/about/management/ Tim Moody], [http://au.linkedin.com/pub/james-cameron/13/92b/aa3 James Cameron] and invaluable OLPC volunteers in Haiti, HaitiOS brings a richer set of [http://activities.sugarlabs.org Sugar Activities] to encourage quick-off-the-mark independent exploration, and deeper "guided discovery" where possible. It continues to be based on [[12.1.0|OLPC Release 12.1.0]], which most agree remains the fastest and most reliable overall operating system for our kids' and teachers' XO-1 laptops. |
||
We're thrilled to have motivated James Cameron's [[12757|fix for the XO's longstanding WiFi bug]] bringing renewed hope across deployments worldwide, after 6 years of [[Mesh Network Details|mesh]] networking frustrations :) This unexpected breakthrough arose after we carefully compiled the problems in one Haiti school/orphanage after another in January 2014. Thanks to [http://villagetelco.org/2011/04/small-enterprise-campus-network-secn/ Terry Gillett] from the [http://villagetelco.org Village Telco] project for working so closely with us -- his methodical research pushed many others to keep poking in the right directions! |
|||
⚫ | |||
⚫ | |||
==Inspiration== |
==Inspiration== |
Latest revision as of 23:00, 4 January 2016
Fun learning activities & projects for OLPC laptops in Haiti and beyond! Please consider this 12-week learning guide and take seriously coming to Haiti to help.
Download
For now an OLPC XO-1 laptop is required. Update: analogous instructions work for HaitiOS 0.7.8 for XO-1.75s was installed Jan 27th 2014 at an orphanage in Leogane, Haiti, on their SKU212 laptops, replacing 2012's Release 11.3.1 customized for AZERTY keyboards.
Download and install January 2014's HaitiOS 0.7 release:
- Your XO-1 laptop must be unlocked. See how to check if it is locked, how to get a developer key, how to use a developer key, and how to unlock permanently. For groups of laptops, use the collection stick then an unlock stick.
- Refurbish thoroughly if time.
- Download the latest HaitiOS 0.7 from http://download.unleashkids.org/HaitiOS (typically HaitiOS-XO1-0.7.x.xxxxxxxx.zip is over 70MB, 0.7.1 being the latest stable release for XO-1s in mid-2014). Unzip it to some convenient place on a hard drive, EG using http://7-zip.org. The contents (created by the unzip process) should be copied to a freshly-formatted FAT32 USB memory stick (trying different brands of USB sticks is sometimes necessary).
- Download 21021o0.img (656MB) to the USB stick. Also download wikipediafr-36.xo (121MB) placing this one in the "bundles" folder on the USB stick.
- Optionally customize which Sugar activities you want, in the "bundles" folder on your USB stick, considering intl recommendations below.
- Plug in the XO-1 and verify its white battery is charged, shown by a green battery indicator. BOTH live charger and full battery are required to proceed!
- Insert the USB memory stick into the XO-1. Optional sub-steps, can help rescue older hardware:
- Power up the XO-1 while holding down its 'x' game key, to preemptively upgrade the firmware to q2f19. Visually confirm this firmware upgrade completes (takes ~2 minutes, a 2nd attempt holding down the 'x' game key may be required on reboot). Double-check by pushing the Escape key (keyboard's top-left key) repeatedly upon turning on the XO-1, to verify firmware is q2f19.
- Check the date and time shown at the 'ok' prompt by typing ".clock", and if it is wrong fix it.
- Later, if date was badly off, leave the XO plugged in overnight after typing "watch-battery" at the 'ok' prompt -- to help recharge the motherboard's clock battery, per Richard Smith.
- Do a classic Clean Install, holding down all 4 game buttons/keys immediately after powering on. (USB stick must remain inserted in the XO-1)
- About 15 min later, after intermediary reboots and many install details proceeding on screen, the install should stop, completed. Press "Enter" when prompted, to power off. When the XO is off, remove your USB memory stick, Done!
- Recommended: apply the #12757 kernel wifi fix. Need to fix offline XO-1s? Unpack TC-libertas-patch2.zip (17MB, also includes backup-to-server fix) onto a separate USB memory stick, inserting this into your XO-1, boot it up. (Otherwise wireless problems can be severe for any XO laptop, as the number of XO-1 laptops in a room increases, or the number of hidden networks increases.)
- In Haiti we typically customize the language to French or Creole, as well as setting the time zone to "America/New_York", by clicking on My Settings in the center of the Home View.
NOTE: if installation ends prematurely with rapid errors shooting down the screen soon after intermediary boot, hit "Enter" and then enter "date 0101000014" (normally followed by "hwclock --systohc", but not available here) and finally enter "reboot", all while keeping the USB stick inserted --- regrettably you may need to try this final recovery/rebooting sequence several times if the clock battery is severely discharged and keeps forgetting its date. It is better to have checked and charged the clock battery first.
Mods for Intl Version
HaitiOS's choice of quick-to-learn Activities is being redistributed outside Haiti too, in countries with less Creole/Kreyòl and French, with the following (suggested) modifications to the installer USB memory stick's "bundles" folder.
Remove These: GeoQuiz-5HT.xo, HaitiDictionary-4.xo, livreshaiti.xol, pippy-fr.xo, Prompt-7.xo, wikipediafr-36.xo
Optionally Remove: i_know_america-9.xo if South/North American geography game ain't interesting to your country :)
Add These: geoquiz-5.xo, pippy-46.xo, wikipediaen-36.xo OR Wikipedia Simple (CAREFUL with all version numbers, Wikipedia Simple 37.1 and prior do not run on HaitiOS!)
In the end, your USB stick's resulting "bundles" folder of add-on activities (beyond 12.1.0) should like this 157MB collection of 29 Sugar activities: http://people.sugarlabs.org/holt/HaitiOS-0.6-INTL-EN-addon-bundles/
Course Guide
Haiti Course Guide provides outlines 3 months of lesson plans to make the best use of this software, guiding kids' exploration to achieve both breadth and depth. It has been distributed to 8 schools in Haiti and many have already started classes using these plans or will start soon.
We welcome feedback and suggestions around Haitian Creole Resources and offline digital libraries especially.
Brief Evolution
Starting Sept 2013, HaitiOS 0.5.1 like its successors require unsecured OLPC XO-1 laptops. These are built from OLPC Release 12.1.0 with Fedora 17 and Sugar 0.96.2. We use the Tiny Core Linux installation method, instead of OS Builder for now. HaitiOS 0.6+ contains about 50 Sugar Activities gathered together from experiences across these sources:
- http://sugarlabs.org/~holt/haiti-shalom-activities-2011-2012/
- http://wiki.laptop.org/images/c/c8/GeoQuiz-5HT.xo by Nick Doiron & All -- works on 12.1.0, but mysteriously shows wrong data (Africa & South America data) until you (1) reboot (2) uninstall GeoQuiz-5HT (3) reinstall GeoQuiz-5HT. At this point the geographic quiz of Haiti's 10 departments finally loads properly!
- http://olpc-france.org/download/tuxmath-3.xo packaged by Lionel Laske -- Just Works with 12.1.0!!
- COMPARE to OLPC France's 2013 Madagascar Build https://docs.google.com/spreadsheet/ccc?key=0ApkC1NVMZoZodEJyNlprMFI3QUFvbE1Wd1pyWUUxcEE
- Bridge activity is desired!
Specifically, beyond the design doc below, here is the more final list of Sugar Activities HaitiOS 0.6 should contain:
- http://download.unleashkids.org/HaitiOS/bundles/ layered on top of...
- http://wiki.laptop.org/go/Activities/G1G1/12.1 (5 of which we're removed, to save 27MB: HelloWorld, Moon, TamTamSynthLab, Welcome, WorldDigitalLibrary; easily restored under My Settings -> Software update)
- Which is the full list beyond 12.1.0's base activities: http://download.laptop.org/xo-1/os/official/12.1.0-21/21021o0.activities.txt
In summary, HaitiOS 0.6+ (design doc) greatly expand on 0.5.1. For lesson plans, it's sometime useful to classify these Sugar activities into 4 categories: Base, Easy, Intermediate, Advanced.
While quality, colorful Haitian Creole Resources are always sought, both for HaitiOS and for the school server we install in many if not most schools!
Finally, an Intl version of HaitiOS 0.7 is being installed on Contributors Program XO-1 laptops shipping around the world starting early 2014, including Intl Activities enumerated above.
History
Based on the work of Nick Doiron, Bill Stelzer, Sora Edwards-Thro, Tim Moody, James Cameron and invaluable OLPC volunteers in Haiti, HaitiOS brings a richer set of Sugar Activities to encourage quick-off-the-mark independent exploration, and deeper "guided discovery" where possible. It continues to be based on OLPC Release 12.1.0, which most agree remains the fastest and most reliable overall operating system for our kids' and teachers' XO-1 laptops.
We're thrilled to have motivated James Cameron's fix for the XO's longstanding WiFi bug bringing renewed hope across deployments worldwide, after 6 years of mesh networking frustrations :) This unexpected breakthrough arose after we carefully compiled the problems in one Haiti school/orphanage after another in January 2014. Thanks to Terry Gillett from the Village Telco project for working so closely with us -- his methodical research pushed many others to keep poking in the right directions!
See blogs http://blog.unleashkids.org, http://haitidreams.org, http://projectrive.wordpress.com and http://ferrierschool.org/blog for extensive backstory from 2011, 2012, 2013 and onwards.
Inspiration
Truly great work has gone into Nepal's NEXO software for ~4000 XO-1 laptops, OLPC France's 2013 Madagascar Build and Australia's XO-1 Training Pack, etc! In the free/open tradition, we hope this exchange among all of us only grows in coming years.
Regrettably, we have found Release 13.2.0, Sugar 0.100 and Dextrose 4 are not yet fast enough for XO-1 laptops. In future we hope this changes -- or as the case may be, that a standards-compliant Browse activity can evolve alongside Release OLPC 12.x.x year-by-year!
Source Code
Source code can be viewed at http://github.com/georgejhunt/HaitiOS and https://github.com/quozl/HaitiOS/
Contact
George Hunt and Adam Holt (holt @ laptop.org)