Monthly Archives: November 2007

xo-laptop xo-education: The War Against Ignorance

I believe that:


The events we call “wars” are among the battles in the only true war, the universal struggle that is The War Against Ignorance.

Education is key to reducing the duration, frequency, and intensity of these battles.

I made mention of one such battle over a year ago, in the post Thomas Friedman Islam and the Pope, in which I reported on the words of a friend:

Yet I just learned that a nun had been slaughtered in some African country. She had spent several decades living in that country and educating its children.

She was murdered a few days ago, by fanatics who had taken offense at the words of her Pope.

He was talking about Sister Leonella, who was killed in Somalia shortly after the Pope made comments that were considered offensive by some radical Muslims, as reported in The International Herald Tribune, Murdered nun asked forgiveness for killers as she lay dying, colleagues say.

Earlier today I saw the following:

Friday, November 30th 2007,

New York Daily News: In violent protests, Sudanese call for teddy bear teacher’s death

The British teacher jailed in Sudan for letting students name a teddy bear “Muhammad” was whisked to a secret location Friday after armed mobs demanded her execution.

Protesters brandishing clubs and knives streamed out of mosques and rallied outside the presidential palace in the capital, Khartoum.

“No tolerance, execution,” they shouted. “Kill her, kill her by firing squad.”

The teacher, Gillian Gibbons, who is serving a 15-day sentence for insulting Islam, was moved from the women’s prison near Khartoum for her safety.

Amid the disturbing demonstrations, a delegation from Britain left for Khartoum Friday in an effort to secure her early release.

Her son, John Gibbons, told The Associated Press he spoke to his mother by telephone and she is mostly worried her case will inflame tensions.

“One of the things my mum said today was that ‘I don’t want any resentment towards Muslim people,'” he said. “She’s holding up quite well.”

Gibbons, 54, left her job in Liverpool and went to travel and teach in Africa after her marriage collapsed last Christmas.

In her position at Unity High School, she borrowed a technique used in British classrooms: introducing a teddy bear and asking the children to write about it.

When her 7-year-old pupils decided to name the bear Muhammad, a school staffer complained — and Gibbons was arrested Sunday.

Convicted at trial of insulting the religion, she escaped the punishment of 40 lashes, but will be deported when she’s done serving her time.

In summary:

A 54-year-old woman teacher from Great Britain tries to find a new life after her marriage collapses.

In an act of courage and selflessness, she decides to emigrate to Sudan and use her skills to work with young children. She uses a technique she learned back home to encourage writing, by introducing a teddy bear and asking the children to write about it.

The seven-year-old pupils — not the teacher — decided to name the teddy bear Muhammad. This is a common name in the Muslim world, just as Jesus is commonly used in the Catholic countries of South America, for example.

A staffer objects to this. The woman is then tried and convicted. She is sentenced to 40 lashes. That is put aside, but it still supposed to serve time in jail, and then to be deported.

Now, the mullahs have piled on. For example, a Muslim cleric is quoted as saying, “This is an arrogant woman who came to our country, cashing her salary in dollars, teaching our children hatred of our Prophet Muhammad.”

Here are the equations:

Teddy-Bear + Newcomer-to-culture => cultural-slip

cultural-slip => lashing (suggested)

cultural-slip => imprisonment + deportation (legal decision by Sudanese government)

cultural-slip => execution (proposed solution by religious leader)

I have a B.S. in Mathematics, and a Ph.D in Computer Science. I have taken courses in mathemt=atics, computer science, mathematical logic, and so forth.

Yet, I am unable to balance these equations.

Can you?

OpenDS: On Being Bitten By The Hand That Once Fed You

[Note: My next post on this topic can be found here]

I first learned, courtesy of a link from Redmonk’s James Governor, about the latest brouhaha from Sun in matters open-source. James’s comment was that this was “incendiary stuff”. Scenting the whiff of a firestorm in the making, I then sped off to read the post of interest, An Open Letter to the OpenDS Community and to Sun Microsystems.

On reading it, I learned of the poor fate of Neil Wilson, a now ex-Sun employee who dared to dip his toes into open-source waters, only to recently be bitten by the hand that once fed him.

I hadn’t thought of writing a post on this sad affair, for I have written many posts about Sun and its so-called efforts in open-source, especially when it comes to Java. See, for example, in the order written:

  1. Thanks Steve O’Grady. Thanks Redmonk.
  2. Open-Source: Music to my ears
  3. Announcing Open-source Java: What if?
  4. What if? What Not?
  5. “The Game” 2006: Yale 34, Harvard 13. Je-Sux! Harvard Sucks
  6. The Sky is Falling
  7. DUDley Snideley on Software – shutdown shot down
  8. Leigh Anne Tuohy – “God gives people money to see how you’re going to handle it”
  9. Make or buy? Home, sweet home — on the web
  10. What if? What not? On the importance of community
  11. A short course in open-source and corporate communications
  12. The Wayward Word Press Brother, can you spare a dime?
  13. What if? What not? Testing … testing … testing
  14. Open-source has grown up. Shouldn’t we?
  15. We license your departure — The TWIT License
  16. We license your departure — If Nancy departed early, what gave here that license? What were the conclusions that Nancy drew?
  17. Installing and using jUploadr to upload photos on Ubuntu Linux
  18. How to install a specific version of Java on Ubuntu
  19. On installing and configuring Sun’s Open-Source Java implementation on Ubuntu Linux
  20. On Three Letter Acronyms (TLA’s) and IBM-Speak
  21. Larry Magid: The Next Leap for Linux
  22. Having a bash bashing Microsoft, continued
  23. Linux Journal Lost South Of Calais
  24. On Taking License With Language: Using Links To Explain Jokes, Licenses, and Pun Fun
  25. Using the del.icio.us tag for:shame
  26. Eben Moglen: Copyleft Capitalism, GPLv3 and the Future of Software Innovation
  27. The Sun / Red Hat Java announcement: 2002 or 2007?
  28. December 1999: Three Predictions
  29. xo-laptop: On the Open-Sourcing of Business

Goodness gracious, 29 posts about Sun, and I probably missed a few. [1]

I had forgotten how much grist Sun has provided to “Blogger Dave’s” mill. (There’s even more grist at hand, as you shall learn below.)

Here is Mr. Wilson’s post, emphasis added,with my comments in italic:


My name is Neil Wilson, and until recently I held the Owner and Committer roles in the open source OpenDS project. I helped found OpenDS, served as the project architect, and have contributed more code than anyone else. However, I must now regrettably inform you that I have been compelled to end all involvement with OpenDS. I have resigned all roles that I held in the project and have rescinded my Sun Contributor Agreement. I will no longer contribute code, documentation, bug reports, suggestions for improvement, or advice of any kind.

Bad news. I expect Mr. Wilson’s presence as an active committer will be missed.

I joined Sun Microsystems in October of 2001, where I was directly involved with its proprietary directory products in addition to my later work with OpenDS. I wrote and analyzed code to provide new features, fix bugs, and improve performance, and I developed a number of tools to help improve the Directory Server experience. I had excellent working relationships with a number of customers, and I was instrumental in closing several deals worth many millions of dollars. I consistently received the top rating in annual performance reviews, and I worked with a number of other groups within Sun, as well as with Sun partners, to help ensure that the Directory Server products worked as well as possible with other Sun technologies, including Solaris, Java, and a number of other software products, as well as many different kinds of hardware.

Neil, I hope you got a nice fat bonus check for helping to bring in all that business.

On September 27, 2007, I was notified that Directory Server engineering, including OpenDS, was being consolidated in Grenoble, France, and that US-based positions were being eliminated. Some individuals were reassigned to work on other software products, but among those laid off were the four OpenDS project owners (myself, Stephen Shoaff, Don Bowen, and David Ely), as well as the OpenDS community manager (Trey Drake). We would technically remain Sun employees for the next two months, but were not able to access any Sun-internal resources and were not required to work in any way and were encouraged to use that time to seek employment elsewhere.

Neil, sorry to learn you had to seek new work. But if you have good open-source skills then a job shouldn’t be hard to find.

This was certainly a very surprising move, but the shock wore off and within a few days the OpenDS owners and community manager got together and decided that even if we were no longer working for Sun that we would like to continue our involvement with OpenDS and wished to ensure that the project was in the best possible position moving forward. To that end, we had face-to-face meetings, conference calls, and e-mail discussions with Sun employees still involved in the project to provide advice and knowledge transfers. I also continued participation on the project mailing lists, committed code changes, and updated the project issue tracker and documentation wiki.

Neil, thanks for continuing to work on the project even though you were no longer paid to so. Welcome to the world of volunteerism I write this blog as a volunteer effort, on my own time and my own dime; however, I do have the advantage of a day-job that puts the food on our family’s table.

The project owners also decided that as an act of good faith (and without any prompting from Sun) that we should elect a fifth owner who was a Sun employee, since Sun had certainly made a significant contribution to the project. We appointed Ludovic Poitou to this position, as he had served as the architect for Sun’s proprietary Directory Server product for several years, and further suggested that we should amend the project governance to ensure that Sun Microsystems was granted a permanent seat in the project ownership. On November 13, 2007, the OpenDS project owners (including Ludovic) met via conference call with the intention of discussing this governance change. However, during that meeting Ludovic informed us that Sun’s intention was to change the OpenDS governance policy so that the project was controlled entirely by a Sun-selected committee. This was a surprise to us, and we indicated that while we were willing to discuss this further to better understand what was involved, we were concerned that this was not necessarily in the best interests of the OpenDS project or its associated open source community. We noted that the current OpenDS governance policy stated that governance changes could only be made by a consensus of the project owners, and therefore we would be required to approve any potential change.

Neil, when I started up IBM’s first open-source project, Jikes (a plug-compatible but much faster version of Sun’s own javac), I made it my first order of business to have the majority of the Core Team members not be IBM employees. I wanted to insure IBM could not control the project.

On November 14, 2007, a member of executive management within Sun’s software division contacted one of the recently-laid-off OpenDS project owners and demanded that the owners approve a governance change that would grant Sun full control of the OpenDS project. During this call, we were threatened that if we did not make this change we could face immediate termination and loss of all severance benefits. The four former-Sun owners discussed this and decided that we could not in good conscience approve the requested change as we did not believe that it would be in the best interests of the project, but we were also not willing to risk the considerable financial loss that could result if Sun decided to make good on that threat. After first trying to resolve the issue through more amicable avenues, we were ultimately compelled to resign our ownership and end our association with the project on November 19, 2007.

Sigh, the more things change, the more they stay the same. Sun still doesn’t “get it” when it comes to open-source.

This was a very disappointing and hurtful turn of events. I believe that we acted only in good faith and in the best interests of the community, and we had clearly taken action to protect Sun’s position in the project even after our own jobs had been eliminated. OpenDS was founded as a community-focused “doacracy”, and no one has done more than I have to help ensure its success, or to ensure Sun’s success through OpenDS. However, Sun management has shown that at least in this case they are willing to resort to rather hostile tactics to preserve absolute control. This is most certainly not in the spirit of open source and open development that we tried to foster or that Sun claims to embody.

Neil, as we say in New York, “Good faith and a subway token will get you a ride on the subway. (You just need the token.)

Please note that I don’t feel that this action was representative of Sun’s true open source strategy, but was a relatively isolated incident brought on by middle management acting of their own accord. I believe and certainly hope that the public statements made by individuals like CEO Jonathan Schwartz and Chief Open Source Officer Simon Phipps are honest and that Sun truly does want to be a genuine community-focused open source company, and I have no reason to believe that they were aware of or involved with any of what happened with OpenDS. Similarly, I sympathize with the remaining Sun-employed OpenDS engineers who may have been unwittingly drawn into this turmoil, and am disappointed that we will no longer be able to work together, but it was not my choice. Unfortunately, if Sun is unable to ensure that their middle management is on the same page as the senior management setting the open source strategy and the engineers making it happen, then it won’t take too many more incidents like this (or the Project Indiana / OpenSolaris Developer Preview naming fiasco) for people to start to question Sun’s true intentions.

Neil, intentions don’t count here. Actions speak louder than words. As for “too many more incidents,” yours is but the latest in a long series.

In order to avoid potential retaliation from Sun, I have remained silent on this matter through the duration of the two-month period following the layoff notification during which I was still technically a Sun employee. Now that this time has elapsed, I am no longer at risk of losing severance benefits and I believe that it is important to clear the air. I have no desire to pursue this matter any further through legal or other channels, but simply wish to explain why I am no longer able to be involved with the OpenDS project.

Neil, there is hope. Read on to read the “Yogi Yarns.”

I am passionate about the technology and hope to continue working in this area in the future, but I am not yet prepared to discuss where I’m going from here. You may watch my new blog at http://directorymanager.wordpress.com/ for more information in the future.

Neil, welcome to the blogosphere. It’s fun.

Neil Wilson


I wasn’t familiar with Neil’s project, OpenDS. I’m surprised I hadn’t come across it, if only because the first two letters of its name are my own initials, Dave Shields. Hoping the project might be named in my honor, for after all I write this blog about promoting the use of open-source and other technologies to help educators and librarians in their vital mission, I headed right on over to the OpenDS website.

It turns out that, according to this site, “OpenDS is an open source community project building a free and comprehensive next generation directory service.” This would be a nice project to have, so it’s good news that folks have been working on it for some time.

I saw that OpenDS is an “open source community project.” I then put on my Thinking Cap, replacing “XO” with “Open-Source Strategy.

I then checked out the license, to see if OpenDS was really “open-source.” (I was hoping it might be using my own License Dave Shields, but I knew that was unlikely since it hasn’t yet been approved by the Open Source Initiative.) Since Neil once worked for Sun the most likely suspect seemed Sun’s own “cuddly” license, COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL).

This opens up a whole new world of possibilities. To explore them fully I need here cite some of the additional grist from Blogger Dave’s mill: the “Yogi Yarns”:

  1. Yogi Yarns – On forking
  2. Yogi Yarns – On the definition of open-source fork
  3. Yogi Yarns – Inbound and Outbound Licenses
  4. Yogi Yarns – Forks aren’t good or bad, they are just … forks
  5. Yogi Yarns – Yogi hits it out of the park on Wall Street
  6. Yogi Yarns – IBM throws in the towel
  7. Yogi Yarns – On being lucky. First is not always best
  8. Yogi Yarns — On forking and plenipotentiaries
  9. Yogi Yarns — If you come to a fork in the road, pick it up

(By the way, I had a lot of fun writing those posts. It took nine posts, but I was finally able to add a new variant to Yogi-lore, “If you come to a fork in the road, pick it up,” extending his own, “If you come to a fork in road, take it.”)

The reason I dug up all the grist from Blogger Dave’s mill is that it can be ground up and then used to a make a large pie, a large Humble Pie.

For you see, the folks at Sun who thought they were “plenipotentiaries” and so could control the OpenDS project, forgot the full consequences of putting out code out under an approved open-source license. Code placed outside the firewall under an open-source license can’t be taken back. It is there for the taking by anyone willing to respect the terms of the license.

Neil and his colleagues thus have an option:

Fork the OpenDSproject.

To do so you just need to fork your currently running shell, connect to the the OpenDS website, and suck the latest tarball to your machine. Then use that tarball to start up your own project.

You would, however, have to pick a new name for the project. Though my permission is not required, let me remind you that my full initials are LDS (Lynwood David Shields), and you could make them part of the name of your new project:

OpenLDS: Open Liberated DS

Sun has claimed great expertise in open-source issues. For example, I have lost track of the number of times Sun has claimed to have donated more open source than any other company.

Indeed, I would venture they think they are sly old dogs when it comes to open-source.

However, this is a case where you can teach an old dog a new trick:

taking some bytes out of the hands of the company that once fed you

Notes:

1. I originally used “ul” to display this an unordered list. Wondering how many entries there were in the list, I started to count them. Then I realized a quicker way, so I changed the “ul” (unordered list) tags at the start and end of the list to “ol” (ordered list) tags, and then let the browser compute the number of posts, 29.

links for 2007-11-30

XO-Laptop Hardware Summary

I will make mention of some of the hardware features of the XO Laptop in forthcoming posts. I have previously cited Wikipedia’s XO description. However, I just came across a description at the OLPC site that is more authoritative, so I am taking the liberty of summarizing some of the key information from the XO Hardware specification here.

Physical dimensions

* Approximate dimensions: 242mm × 228mm × 32mm (see drawing to the right for detailed dimensions)
* Approximate weight:
o XO laptop with LiFeP battery: 1.45KG (~3.20lbs);
o XO laptop with NiMH battery: 1.58KG (~3.48lbs);
* Configuration: Convertible laptop with pivoting, reversible display; dirt- and moisture-resistant system enclosure; no fan.

Core electronics

* CPU: x86-compatible processor with 64KB each L1 I and D cache; at least 128KB L2 cache;
o AMD Geode LX-700@0.8W (datasheet)
* CPU clock speed: 433 Mhz;
* ISA compatibility: Support for both the MMX and 3DNow! x86 instruction-set extensions;
o Athlon instruction set (including MMX and 3DNow! Enhanced) with additional Geode-specific instructions
* Companion chips: PCI and memory interface integrated with CPU;
o North Bridge: PCI and Memory Interface integrated with Geode CPU (info)
o South Bridge: AMD CS5536 (datasheet)
* Graphics controller: Integrated with CPU; unified memory architecture;
* Embedded controller: ENE KB3700 or ENE KB3700B;
o Embedded Controller: ENE KB3700
* DRAM memory: 256 MiB dynamic RAM; data rate: dual-DDR333-166Mhz;
* BIOS: 1024KiB SPI-interface flash ROM;
* Open Firmware used to load the operating system;
* Mass storage: 1024 MiB SLC NAND flash, high-speed flash controller;
* Drives: No rotating media.
* CAFE ASIC (camera- and flash-enabler chip provides high-performance camera, NAND FLASH and SD interfaces); Marvell 88ALP01: CAFE Specification

Display

* Liquid-crystal display: 7.5” dual-mode TFT display;
* Viewing area: 152.4 mm × 114.3 mm;
* Two modes: (1) grayscale (B&W) reflective mode (for outdoor use—sunlight-readable); and (2) color backlight Mode (for indoor use);
o reflective mode: high-resolution (200 DPI), 1200(H) × 900(V) grayscale pixels, power consumption 0.1–0.2Watts;
o backlight mode: built in sub-pixel sampling of the high-resolution display results in approximately 800(H) × 600(V) color pixels, power consumption 0.2–1.0Watts;
* The display-controller chip (DCON) with memory that enables the display to remain live with the processor suspended. The DCON also formats data for the display.
* This Liquid-crystal display is the basis of our extremely low power architecture. The XO is usable while the CPU and much of the motherboard is regularly turned off (and on) so quickly that it’s imperceptible to the user. Huge power savings are harvested in this way (e.g. by turning stuff on the motherboard off when it’s not being used (if even for a few seconds), while keeping the display on).

Note: web browser images are currently scaled up so that an image of very roughly [800 × 600] fills up the browser window.

eToys (Squeak)running on the OLPC display

Integrated peripherals

* Keyboard: 80+ keys, 1.0mm stroke; sealed rubber-membrane key-switch assembly;
o Keyboard Layouts
o Layout pictures: English, Arabic, Thai, West African (Nigeria), Portuguese, Spanish, Amharic, French (not final), Urdu, Cyrillic, Turkish (not final), Nepali, Mongolian, Kazakh, Devanagari, Uzbek, Pashto, Dari
* Gamepad: Two sets of four-direction cursor-control keys;
* Touchpad: Dual capacitance/resistive touchpad; supports written-input mode;
o ALPS Electric Dual capacitance/resistive touchpad;
* Audio: AC’97 compatible audio subsystem; Internal stereo speakers and amplifier; internal monophonic microphone; jacks for external headphones or microphone;
o Analog Devices AD1888 and Analog Devices SSM2302 for audio amplification

Keyboard detail

* Camera: integrated color video camera; 640 x 480 resolution at 30 FPS; independent (and undefeatable by software) display of microphone and camera recording status; the camera and device driver support disabling AGC and automatic color balancing, to enable its use as a photometric sensor for educational applications;
o Omnivision OV7670
* Wireless Networking: Integrated 802.11b/g (2.4GHz) interface; 802.11s (Mesh) networking supported; dual adjustable, rotating antennas support diversity reception; capable of mesh operation when CPU is powered down;
o Marvell Libertas wireless chipset, 88W8388 controller and 88W8015 radio
* Status indicators: Power, battery, and WiFi (2), visible with lid open or closed; Microphone In-Use, and Camera In-Use, visible when lid is open.

External connectors

* DC power: 6mm (1.65mm center pin) connector; 11 to 18 V input usable, –32 to 40V input tolerated; power draw limited to 15 W;
* Headphone output: standard 3.5mm 3-pin switched stereo audio jack;
* Microphone input: standard 3.5mm 2-pin switched mono microphone jack; selectable 2V DC bias; selectable sensor-input mode (DC or AC coupled);
* USB: Three Type-A USB 2.0 connectors; Up to 1A power supplied (total);
* Flash Expansion: SD Card slot.

Battery

* Pack type: 2 or 4 cells LiFePO4; or 5 cells NiMH, approx. 6V series configuration (subject to change);
* Capacity: 16.5 Watt-hours (NIMH), 22 Watt-hours (LiFeP);
* Fully-enclosed “hard” case; user removable;
* Electronics integrated with the pack provide:
o Identification;
o Battery charge and capacity monitoring chip (Maxim DS2756 data sheet);
o Thermal and over-current sensors along with cutoff switch to protect battery;
* Minimum 2,000 charge/discharge cycles (to 50% capacity of new).
* Power Management will be critical

BIOS/loader Open Firmware (including hardware initialization and fast resume).

Environmental specifications

* Temperature: UL certification planned to 45C in Q32007, pending 50C certification in mid-2008;
* Humidity: UL certification planned to IP42 (perhaps higher) when closed, the unit should seal well enough that children walking to and from school need not fear rainstorms and dust;
* Maximum altitude: –15m to 3048m (14.7 to 10.1 PSIA) (operating), –15m to 12192m (14.7 to 4.4 PSIA) (non-operating);
* Shock 125g, 2ms, half-sine (operating) 200g, 2ms, half-sine (non-operating);
* Random vibration: 0.75g zero-to-peak, 10Hz to 500Hz, 0.25 oct/min sweep rate (operating); 1.5g zero-to-peak, 10Hz to 500Hz, 0.5 oct/min sweep rate (nonoperating);
* 2mm plastic walls (1.3mm is typical for most systems).

Regulatory requirements

* The usual US and EU EMI/EMC (electromagnetic-interference and electromagnetic-compatibility) requirements will be met;
* The laptop meets IEC 60950-1, EN 60950-1, and CSA/UL 60950-1 specifications. It also complies with UL 1310 and UL 498. In order to guarantee the safety of children using the laptop, it passes ASTM F 963;
* The external power adapter complies with IEC, EN, and CSA/UL 60950-1;
* The removable battery pack complies with IEC, EN, and CSA/UL 60950-1 and UL 2054;
* RoHS (Restriction of Hazardous Substances Directive – EU) compliant.

Serial Adapter 3.3V TTL to RS-232/USB Adapter

xo-python: The Farmer in the Dell

Programming is a form of writing. Poets write poetry, novelists write novels, dramatists write plays, and programmers write computer software code.

Programming has its own rules and practices, as do the writing of plays and poems.

Programmers tend to get paid more than poets and dramatists because of the way in which their writing is used: to instruct computers how to operate.

For example, some programmers, especially some folks who have worked — or are currently working — for Microsoft and Google have made a lot of money with their writing. This doesn’t mean they are better writers. It just means they get paid more for their writing.

However, some people with programming skills believe there is a special quality to their writing because of the monetary value of code, but that is the subject for other posts.

Here is a small program, written in the Python programming language, to indicate the flavor of the writing that is computer code.

We shall take as our starting point a verse of unknown origin, but one that I expect most of the people reading this have heard before, most likely when they were children. It is the verse The Farmer in the Dell. It begins with:

The farmer in the dell
The farmer in the dell
Hi-ho, the derry-o
The farmer in the dell

The farmer takes a wife
The farmer takes a wife
Hi-ho, the derry-o
The farmer takes a wife

The wife takes a child
The wife takes a child
Hi-ho, the derry-o
The wife takes a child

The child takes a nurse
The child takes a nurse
Hi-ho, the derry-o
The child takes a nurse

The nurse takes a cow
The nurse takes a cow
Hi-ho, the derry-o
The nurse takes a cow

Here is a Python program that prints out that text when it is executed:


def lin(this, phrase, that):
    print "The",  this,  phrase, that;
def hiho():
    print "Hi-ho, the derry-o";
def verse_one(this,phrase, that):
    lin(this,phrase, that); lin(this,phrase, that); hiho(); lin(this,phrase,that); print ;

def verse_two(this,phrase, that):
    for i in range(1, 4):
        if i==3:
            hiho();
        else:
            lin(this,phrase,that);


verse_one("farmer", "in the", "dell");
verse_one("farmer", "takes a", "wife");
verse_one("wife",   "takes a",  "child");
verse_one("child",  "takes a", "nurse");
verse_two("nurse",  "takes a", "cow");

This shows how small programs can capture some structure in a precise way. In this case, the program is shorter than the output it generates, and just the part I have written serves as a guide to completing the program so that it prints out the complete song.

This example also shows there can be different ways to accomplish the same purpose. Both “verse_one” and “verse_two” are instances of what are called “procedures.” Each generates the same output, but they differ in how they do it.

We’ll learn more about Python in upcoming posts.

Early orders for XO-Laptop to be delivered Dec. 14-24

I ordered my first XO laptop on Nov. 12th, soon after the “Give 1 Get 1” program began.

I just got the following letter from the OLPC Team today, November 28th:

Thank you for being one of the first to participate in Give One Get One.

All of us at One Laptop per Child were inspired by the number of people who joined our Give One Get One program on its very first day! Your participation makes you part of the growing community of people working to give children all over the world new opportunities to grow, explore, learn and express themselves.

Your XO laptop is on the way.

Your donated XO laptop will soon be delivered into the hands of a child in Afghanistan, Cambodia, Haiti, Mongolia or Rwanda. In one of our recipient children’s own words, “I want to thank you people because you had given us the laptop and I love it so much.” Your generosity will make a world of difference in these children’s lives, and in the future of their respective countries.

Thanks to your early action, your XO laptop is scheduled to be delivered between December 14 and December 24. Our “first day” donors are our highest priority and we are making every effort to deliver your XO laptop(s) as soon as possible. We will send you an update upon shipment.

Once you receive your XO laptop, you will begin to discover all the features that make it so remarkable. One of the most ingenious features of the XO laptop is its ability to create a “mesh” network. The little green antennae “ears” serve to automatically connect the XO with other XO laptops in the vicinity. What this means is that if your child has friends nearby that also have XO laptops, the children can chat, play and share information freely and safely, with or without an internet connection. If you would like to let other parents know about the XO laptop and Give One Get One, you can not only greatly increase your child’s enjoyment of the XO laptop, but also help us further our mission.

You are part of something big.

As a participant in Give One Get One, you have become a member of an international educational movement. Our goal is to create a web-based learning environment built around the XO laptop that will allow children in the U.S. and Canada to use their XOs to learn about the lives and experiences of children using XOs in the developing world, and vice versa. We also hope to bring together the world’s educators and software developers into a volunteer, global community that will provide essential feedback about how to improve the XO, as well as help create dynamic, open-source educational content that will engage and inspire children all over the world.

We will be creating an OLPC Community section on our website that will provide more information. We hope to see you there!

Once again, from all of us at One Laptop per Child, thank you for helping us bring education and connection to children in even the most remote regions of the globe.

xo-laptop: Targeted Donations of XO Laptops

I just got the following note from an IBM colleague to whom I had recommended the new XO Laptop:

hey dave,

i’m trying to get 100 donors together from my daughters school in support of this, SF One World: 24 Hours to Make a Difference, because i found this in the faq of laptopgiving:

Can I designate where my donated laptop goes?

OLPC works with governments of developing nations that purchase and distribute the laptops in high volumes (tens and hundreds of thousands of units) in order to achieve maximum penetration and societal impact within a country. Therefore, unless you donate a large number of laptops (100 or more), it is impossible to designate a specific destination for your donated laptop. If you would like to donate a group of 100 or more laptops, please call 1-800-379-7017.

I wasn’t aware one could have a say in who receives the “Give” Laptops that are part of the Give 1 Get 1 program.

This is such a great idea that I wanted to share the news. Perhaps it will encourage even more folks to participate in this wonderful program.

xo-ubuntu: Installing Ubuntu on the Lenovo T60 Thinkpad

I got a spiffy new Lenovo T60 Thinkpad yesterday. I spent last night installing and configuring Windows XP Pro on it, as described in my post Windows XP Configuration and Migration on the T60 Thinkpad.

The only problem with the T60 was that it came with Windows XP Pro. I fixed that earlier this morning, when I spent an hour at so at IBM Research in Yorktown. The lab is only about a ten-minute drive from the back porch where I do my work, and I went there to take advantage of their 1GB internet support. I can thus confirm that the T60 1GB ethernet chip works at high speed.

I installed the latest version of Ubuntu, 7.10. Installation was flawless. I spent about as much time partitioning the disk (shrinking the Windows partition, setting up the swap, root and other partitions) as it took to install Ubuntu. Overall it took about an hour, just about the time it took to enjoy a cup of coffee and a muffin I had purchased in the cafeteria.

I also got Notes and Sametime running. Those are the key apps I need to use Ubuntu instead of Windows in my work.

My favorite program is Firefox, as I need a browser to both write blog posts and savor my great prose after finishing them.

Indeed, I am writing this post using Ubuntu and Firefox, and I will now take a picture of the screen.

Done, here you go:

Blogging about Ubuntu using WordPress running on Ubuntu
Blogging about Ubuntu using WordPress running on Ubuntu

I also took a picture of XO-Tux noting with satisfaction that I was now running Ubuntu on the T60. “You get it, Dave,” he is saying silently:
Xo-Tux admiring T60 running Ubuntu 7.10
XO-Tux admiring T60 running Ubuntu 7.10
.

Oops, I forget to see if wireless works on the T60. Let me unplug the ethernet cable and check that… Oops, it doesn’t work out of the box. I’ll figure out how to do this later and write a blog post about it.

However, with a wired connection the T60 works like a champ.

I also compared boot times on the T60 for Win XP Pro and Ubuntu 7.10: 110 seconds for XP, 65 for Ubuntu.

I’ll keep you posted on any problems encounter using the T60 to run Ubuntu. I’ll also use the T60 running Ubuntu to write my posts from now on.

Until my XO laptop arrives, that is.

  • Pages

  • November 2007
    M T W T F S S
    « Oct   Dec »
     1234
    567891011
    12131415161718
    19202122232425
    2627282930  
  • RSS The Wayward Word Press

  • Recent Comments

    dave porter on On being the maintainer, sole…
    daveshields on On being the maintainer, sole…
    Paul Tallett on On being the maintainer, sole…
    mrrdev on On being the maintainer, sole…
    KT on On being the maintainer, sole…
  • Archives

  • Blog Stats

  • Top Posts

  • Top Rated

  • Recent Posts

  • Archives

  • Top Rated