Slashdot Mirror


OLPC Inspires Open Source Projects

Don Marti writes "A loose network of developers representing many commonly used open source projects are working to develop a new generation of low-memory, efficient code. This targeted code is being designed for a system, of which only 500 prototype boards now exist: the 'Children's Machine 1' from the One Laptop Per Child project." From the article: "Gettys says measuring existing performance has to come before trying those changes. 'We've been pulling in every decent performance tool Linux has so we can optimize when and where it really matters,' he says. A key automated testing tool is Tinderbox, a build and test management tool originally developed for Mozilla, that new OLPC developer Chris Ball has installed, to build and test OLPC software. And, after Red Hat kernel developer Dave Jones gave a standing-room-only talk at the 2006 Linux Symposium titled, Why Userspace Sucks (Or, 101 Really Dumb Things Your App Shouldn't Do), his reports of suckiness, which include kernel-based measurements of wasteful behavior, are helpful, Blizzard says."

75 comments

  1. Mommy, I'm bloated by wsanders · · Score: 3, Funny

    Finally, an antidote for sloppy bloated code - exploit child labor in 3rd world countries to test your product. Its elitist, I tell ya!

    --
    Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
    1. Re:Mommy, I'm bloated by legoburner · · Score: 1

      I can already see people deleting their wikipedia content on their OLPC to make space for their 1st world outsourced coding/testing projects. Still, if people get to that point maybe it is not so bad and wikipedia has done its job to a point. So long as someone in the area still has all the information available for reference and copying?

    2. Re:Mommy, I'm bloated by Anonymous Coward · · Score: 0

      I said it before and i'll say it again. Those opensource FAGS!!! need to trade places with those 3rd world kids and they will learn the meaning of efficient and meager code.

      P.S. YANKEES did 9/11 BOO HOO!

      - Wolf Bearclaw

  2. Huh. by Anonymous Coward · · Score: 2, Funny

    No Java then, I take it?

    1. Re:Huh. by Mr.Progressive · · Score: 1

      Actually, yes. But, along with East Timor, only in the post-launch phase.

      --
      Okay, so a philosopher, a philologist, and a philatelist walk into a bar...
  3. 27 clicks later by Duncan3 · · Score: 2, Informative

    So you dont have to dig...

    "Why user space sucks" is at:

    Pages 441-449 of http://www.linuxsymposium.org/2006/linuxsymposium_ procv1.pdf

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    1. Re:27 clicks later by asr_br · · Score: 5, Informative

      Better download just the paper itself instead of the full proceedings.

      BTW, newsforge has a report about the presentation as well.

      --
      Ademar http://www.ademar.org/

    2. Re:27 clicks later by Anonymous Coward · · Score: 0

      I'm going to loose my mod point for this, but I think I found another copy at redhat.

      ols2006.108.redhat.com reprints jones-reprint.pdf

    3. Re:27 clicks later by Coryoth · · Score: 2, Interesting

      It's nice to see the suggestions to actually use available tools to see what your code is actually doing and where it might be going wrong. There are many available, and some are remarkably good. Splint, for instance, has a talent for turning up unlooked for errors, and if you're willing to add a few annotations here and there it can do even better. I'm constantly surprised such tools don't see much wider use.

  4. Blizzard? by PygmySurfer · · Score: 0

    his reports of suckiness, which include kernel-based measurements of wasteful behavior, are helpful, Blizzard says.

    Now, I can't find any mention of a Blizzard in either the linked article or the summary, so exactly who is this quote attributed to?

    1. Re:Blizzard? by PygmySurfer · · Score: 0

      OK, now I've even searched the referenced (but not linked) article, which someone helpfully linked to above, and I've STILL been unable to locate this Blizzard. Does that quote have ANYTHING to do with the story? If I were to throw-up in the Story Submission box, would a Slashdot editor clean it up, or submit the story as-is?

    2. Re:Blizzard? by fohat · · Score: 1

      I think they are trying to benchmark the OLPC project by running WoW under Cedega, but it's just a guess.

      --
      Is there heaven? Is there Hell? Is that a Tuna Melt I smell?-Primus
    3. Re:Blizzard? by Anonymous Coward · · Score: 0

      I guess it's Christopher Blizzard: http://www.0xdeadbeef.com/weblog/

    4. Re:Blizzard? by Miffe · · Score: 2, Informative
    5. Re:Blizzard? by Anonymous Coward · · Score: 0

      Christopher Blizzard. Second page. Learn to Read.

    6. Re:Blizzard? by Anonymous Coward · · Score: 0

      ITYM It's fine, learn2read

    7. Re:Blizzard? by PygmySurfer · · Score: 0, Offtopic

      I can read fine. If some random person is mentioned in the summary, the submitter/editor should at least say who the fuck he is.

      Now, had I noticed I had to click through 5 pages of the stupid story just to generate more ad revenue for linuxworld.com, I might've found it..

  5. It's about Freaking time by hcob$ · · Score: 2, Insightful

    I swear, it's about time people got away from the "aww, we got as much memory as we need! No need to worry if this is way to big for our needs!

    --
    Cliff Claven
    K.E.G. Party Chairman
    Founding Leader of: Koncerned for Egalitarin Governance
    1. Re:It's about Freaking time by try_anything · · Score: 1

      Programmers don't waste memory gratuitously; they do it because resource usage is only one concern of many that compete for their attention. They do their best to allocate effort where it is needed and will benefit people, and it sounds like they are responding enthusiastically to the demand for thrifty resource usage raised by the OLPC project. This is not just a stupid excuse that developers make. (Or if it is, they have good company in Blaise Pascal: "I have only made this letter rather long because I have not had time to make it shorter.")

  6. Yeah by Skapare · · Score: 1

    Just C and dietlibc.

    --
    now we need to go OSS in diesel cars
  7. I do Hope... by ravee · · Score: 2, Interesting

    I do hope that the one laptop per child project will succeed in setting benchmarks for what a laptop should be and also how the applications which run on that laptop should behave (efficiently using memory being one of them).

    --
    Linux Help
    for all things on Linux
    1. Re:I do Hope... by vandon · · Score: 2, Insightful
      efficiently using memory being one of them
      I've got to agree. Even simple programs use up way more memory than needed.
  8. Getting rid of caps lock by Anonymous Coward · · Score: 1, Funny

    Towards the end of the article they imply the final keyboard will not have the caps lock key. WHICH MAY SOUND LIKE A GOOD THING. But then remember these laptops are for kids, and who knows if in the future they will be faced with KEYBOARDS THAT HAVE CAPS LOCK. And that may be confusing for a couple of hours until they get used to it and learn to live with it. LIKE WE HAVE.

    1. Re:Getting rid of caps lock by Homr+Zodyssey · · Score: 1

      but...however will they turn on run-mode in Oblivion?!?!?
      We must think of the children!!

      (I think it was run...haven't played it in a few months.)

    2. Re:Getting rid of caps lock by monopole · · Score: 0

      How can they write 419 email without it?
      "She's the LADY MARYAM ABACHA, deposed.
      These days can't even get her caps-lock key unfroze" -MC Frontalot

    3. Re:Getting rid of caps lock by mikeron · · Score: 1
      haven't played it in a few months.
      Yet you have time for slashdot? Where are your priorities, people!?
  9. Once Again, when can we buy them? by drinkypoo · · Score: 1

    I know that this theme has been beaten to death but I want to keep it fresh in people's minds, perhaps if we ask enough we'll finally get these. I want to be able to buy myself one or more! They could sell them for $200 and put the profits into the program. Save the children, buy a OLPC! It would also be nice if independent schools here in the US that are willing to employ some alternative education resources (like open source textbooks) could buy them.

    Consider this a "bump" in the collective unconscious :) of slashdot.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Once Again, when can we buy them? by Aqws · · Score: 1
    2. Re:Once Again, when can we buy them? by drinkypoo · · Score: 1

      Yes, but [I think] that answer is stupid. I will quote it here for critique: "The idea is that a commercial subsidiary could manufacture and sell a variation of the OLPC in the developed world. These units would be marked up so that there would be a significant profit which can be plowed into providing more units in countries who cannot afford the full cost of one million machines."

      Basically, if they design these devices and mark them up excessively in order to make money, then they will sell few of them. If they mark them up slightly - say, sell them for 2x manufacturing cost plus shipping cost - then they will sell piles of them.

      I don't understand why they feel they have to gouge people in order to be philanthropists.

      But seriously, this should be one of their first priorities. Selling the laptops to developing nations won't make them any money, so the only way it will help the project is through showing success. Selling the laptops to people with money will make them money, and they can use it to support the project.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Once Again, when can we buy them? by 644bd346996 · · Score: 1

      The difference between what you are asking for and what they want to offer is about $100. Considering that the retail version can cut out things like the generator, it could cost less to produce. Selling that at 3x the cost would still be very cheap by Western standards.

    4. Re:Once Again, when can we buy them? by drinkypoo · · Score: 1

      No no no, you can't cut out the generator. That's a key feature of this unit. Because it has USB you can use external peripherals like a GPS. I would absolutely adore having one of these with Linux, a good set of maps, and a GPS Mouse or a bluetooth GPS (I actually have one) [ObDisclaimer: amazon referrer link, no other ads] to go with. The bluetooth GPS is an acceptable situation but actually not the best option in this case because it has to charge via USB, and since there's no bluetooth (at least, IIRC) I'd need a bluetooth dongle. Sadly, the unit does not also provide a virtual serial connection via the USB.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  10. Sugar or Poison? by Calyth · · Score: 4, Interesting

    AFAIK, the userspace app framework for OLPC is Sugar, which is Python based.
    On what is basically an embedded computing platform with 128MB RAM, ~500MB permanent storage, and a CPU that doesn't have a L2 cache (last I checked), how much of these performance tuning would actually matter if all of these userspace apps depends on a language with an interpreter that you couldn't even fit 1/10 into the 16K of L1 instruction cache?

    Don't get me wrong, me and my fellow students at the university are working on performance tuning, but as I look in to the Geode chip more and more, I believe that Sugar is poison for OLPC.

  11. Tiny hands write tiny apps! by khasim · · Score: 3, Funny

    If you want a smaller footprint, hire someone with smaller feet!

    I for one welcome our new prepubescent, code-writing overlords.

  12. Bubblepack Computing by monopole · · Score: 1

    This is another sign of bubblepack (as in a bubblepack on the shelves at wallmart/target) computing.

    In hardware, bubblepack computing is focused on using present technology to create dirt cheap, very low power consumption platforms.

    In software, bubblepack computing implements small and elegant code in modern software enviroments.

    The software impact extends to use on older machines which run linux, and USB key distros.

  13. Or, for C++ users by Chemisor · · Score: 1

    Or, if you use C++, you might like uSTL.

  14. One example: the OLPC Children's Dictionary by SabineCretella · · Score: 4, Interesting

    Well, yes, OLPC inspires Open Content as well. We are already working on a dictionary for Children on WiktionaryZ, the OLPC Children's Dictionary. What you can do for us? You can contribute to the translations of the defined meanings - just ten words + definition to translate in any of the many languages of the worls. No... it's not a joke ... we need your help and if you cannot help us, please tell other people. Thank you!!!

    1. Re:One example: the OLPC Children's Dictionary by Anonymous Coward · · Score: 0

      Hopefully this doesn't turn into an urbandictionary for foreign languages. Heh.

    2. Re:One example: the OLPC Children's Dictionary by SabineCretella · · Score: 1

      It is very simple: there will be swearwords in WiktionaryZ as well, but they will not be part of the OPLC Children's Dictionary since we will have that one as a collection and as such the dump used for OLPC will include only the contents we want in there.

  15. Just kids? by fa2k · · Score: 1

    Why do they emphazise so much, that this laptop is for kids? The machine will be able to read books, communicate, and record writing, and these features are also useful for grown-ups. Also, it will be targetted towards education, but there is no need to wait a generation to have more knowledgeable people? I mean, if a adult farmer can learn about solar power now, then that leads to more solar power in general.

    There are some reasons to have mostly kids use the laptops; 1) limited supply/access, if a town only has one or two of these laptops, the "ROI" may be greater if the kids use it, because they have longer left to live! If the programs name, "OLPC", has any root in the realistic expectations, then there will be plenty of time during a 24h day for everyone.

    2) The adults may not have the basic language- or computer skills required to operate the laptop.

    I think the project is a great idea, and I agree that one needs to focus on a specific matter, otherwise it will just become a lot of nice words.

  16. Forth by Anonymous Coward · · Score: 0

    Forth is relatively quick (slower than C but probably faster than Java), but insanely compact. I would bet most forth code compiles to less than 10% the size of similar projects in C.

    Forth has a bit of a stigma, though, which I've always thought was odd. Forth ought to be a favorite of many slashdotters, with it's efficiency and hackability.

    1. Re:Forth by Coryoth · · Score: 2, Informative
      Forth is relatively quick (slower than C but probably faster than Java), but insanely compact. I would bet most forth code compiles to less than 10% the size of similar projects in C.

      I'm not exactly sure where you get that impression from - certainly Forth can be pleasantly efficient when it comes to memory use, but I would suggest "roughly on par with C" is about the best you can claim. Now, while the Debian Computer Language Shootout benchmarks are hardly ideal, particularly since they are all very small programs, they can give at least an idea of roughly comparable memory use in a variety of different languages. In this case, glancing through a few different benchmarks, we see that Forth certainly holds its own (doing quite well in the k-nucleotide benchmark) but is at best on par with the other memory efficient languages, and is down the list in several benhmarks. The winner is often C (unsurprisingly), though Pascal, D, Eiffel and Fortran all do remarkably well as well. Given those options, and presuming you were going to move away from C for some reason, I'd have to say D and Eiffel are the most attractive options.
  17. I may as well karma whore at this point. by sowth · · Score: 1

    There also appears to be a summary at newsforge. A discussion on someone's mailing list. Mentioned in the LKML.

  18. One of the most powerful scenes in nature... by checkonetwo · · Score: 1

    is the cheetah as it stalks the devalope, waiting until just the right moment, then the chase is on.

  19. My eyes, the goggles, they do nothing by Anonymous Coward · · Score: 0

    "And, after Red Hat kernel developer Dave Jones gave a standing-room-only talk at the 2006 Linux Symposium titled, Why Userspace Sucks (Or, 101 Really Dumb Things Your App Shouldn't Do), his reports of suckiness, which include kernel-based measurements of wasteful behavior, are helpful, Blizzard says."

    dear god, the run on nature, of this sentence, really makes me want to kill myself, either with a rusty spoon, or with a thousand paper cuts, though I currently can't decide, while I am leaning towards the paper cuts as they might be, somehow, symbolically related to a suicide caused by, among other things, grammar.

  20. Is this a platform with no apps? by guanxi · · Score: 0, Flamebait

    Like OS/2? The first Xbox? BeOS? As I asked once before (so I'm not re-writing the whole post), is this a platform without applications?

    Those platforms were great technology, but users need apps not platforms or great technology. And yes, I know about all the Linux apps, but look at its market share.

    I hope someone will cheer me up and explain why this is not an issue with OLPC.

    1. Re:Is this a platform with no apps? by cptnapalm · · Score: 0

      It seems to fall nearly into the category of an appliance. It will come with all the software which the thing is intended for, presumably.

    2. Re:Is this a platform with no apps? by guanxi · · Score: 0, Flamebait

      It seems to fall nearly into the category of an appliance. It will come with all the software which the thing is intended for, presumably.

      Hmmm ... These guys in Boston have thought of everything kids of all ages, in all these countries and cultures, in all academic subjects, will need, then implemented it effectively and fit it all on the OLPC?

      So far, I'm not yet cheered up.

    3. Re:Is this a platform with no apps? by cptnapalm · · Score: 0

      I didn't say that. What I said was that it has the software which it is intended to run. Whether the kids need other software is not something my comment addressed.

    4. Re:Is this a platform with no apps? by grcumb · · Score: 1
      "[I]s this a platform without applications? .... And yes, I know about all the Linux apps, but look at its market share."

      Ummm... Not sure how to break it to you, but I'm sure that at least some of the thousands of applications written for Linux might still be able to run on OLPC, which runs on, uh... let me check.... Ah, yes: Linux!

      P.S. What the ever-loving heck does market share have to do with the number of apps that run on Linux?

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    5. Re:Is this a platform with no apps? by Bloater · · Score: 1

      Especially since market share of a good is the proportion of gross currency taken in sales of that good in a given period. Not surprisingly Linux market share, and Linux application market share are both quite low, what with the sales times cost factor.

  21. This is already happening, in some areas. by JonTurner · · Score: 3, Insightful

    >>Even simple programs use up way more memory than needed.

    Agreed. It's obscene to write a simple "Hello, world" and look at the memory usage. I used to fret about a few dozen bytes... now I allocate megs and don't even thing about it. Such is progress. Some people (such as Steve Gibson at GRC.com) are still coding Windows apps in assembly. I know people here aren't too impressed with Gibson (for all his showboating) but I've gotta say it's damned impressive seeing a real honest full-featured Windows app that's smaller than the Slashdot.gif picture in the upper left corner of this page. That's just cool.

    Also, look at the Demo world. There are some absolutely stunning apps being written that use procedural rendering to accomplish stunning skeletal character animation with inverse kinematics, with soundtracks and advanced effects, in just a few hundred K bytes. Amazing stuff.

    So coding for efficiency is happening, but it's rare -- a case of someone showing off. Or is it?

    This brings up an interesting point: due to changes in architecture and hardware, coding for efficiency (usually performance) is already resulting in smaller code size. Let me explain.

    In the early days of microcomputers (C64, Apple ][, TRS80), where system resources were extremely limited and cpu power was slight (e.g. 6502/8088, 8bit, 1mhz, 32k RAM, 40k floppies, no HDD or only tape for storage) and programmers had no choice but to code for efficient 1) performance within the boundaries of storage limitations.

    Then around the days of the M68000 Macintosh and the 386, with its extended memory addressing, coding for performance meant pre-computing tables and looking up values as needed. Memory was cheaper than CPU.

    This trend reversed in the early 90s when storage became cheap and bus speed increased, but couldn't keep pace with CPU speed advances. Suddenly, it was "cheaper" to compute values at the time they were needed b/c bus speeds imposed a huge penalty on looking up values. Breaking the on-chip ram cache could make-or-break a tight graphics rendering loop, so that was priority. (remember, at this point, software rendering was still common).

    Introduce the extremely high-power GPU video cards we have today and the situation changes again. Offloading huge computational loads onto a deidcated graphics engine, the system CPU is somewhat of a traffic cop, ensuring subsystems have a steady flow of sound, textures, geometry, and network packets, oh... and occasionally performing game logic.

    So it appears we've come full circle.

    The bad news is now you guys have to listen to dinosaurs like me who cut their teeth coding in 6502 assembly ramble on about "well, sonny, back in MY day..."

    1. Re:This is already happening, in some areas. by LWATCDR · · Score: 1

      "In the early days of microcomputers (C64, Apple ][, TRS80), where system resources were extremely limited and cpu power was slight (e.g. 6502/8088, 8bit, 1mhz, 32k RAM, 40k floppies,"
      The 8088 was the cpu of the PC.
      The 8-bit cpus where the 6502 family (Apple II, III, Commodore Pet, Vic, C64, C128...) Z80 (TRS-80, Adam, Timex/Sinclairs) 6809 CoCo family.
      And my goodness people 128 megs of ram and 500 megs of storage IS A LOT of space.
      I know we have gotten spoiled but that is potently a lot of resources. Take a look at the the early Macs, Atari STs and Amigas. They did a lot with a lot fewer resources than that. And yes a lot of software for them was written in C.
      Even with Linux that isn't all that shabby if you live without KDE, Gnome, and OpenOffice.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    2. Re:This is already happening, in some areas. by LindseyJ · · Score: 1
      The bad news is now you guys have to listen to dinosaurs like me who cut their teeth coding in 6502 assembly ramble on about "well, sonny, back in MY day..."


      Just imagine the future: "Well, sonny, back in MY day we coded in VB6 and we didn't complain a whit!"
  22. Low memory efficient code-really? by thethibs · · Score: 1

    After recovering my composure from reading the astonishing statement that a 100MB kernel would be considered small rather than ten-to-fifty times too big, I ran into this:

    The kernel halfway wakes itself up 20 times a second to see if you've plugged something into your nonexistent PS/2 port.

    They poll I/O ports?! Have these people never heard of hardware interrupts? I knew that a lot of lore had been lost in the PC revolution, but I had no idea the situation was this bad.

    --
    I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
    1. Re:Low memory efficient code-really? by vtcodger · · Score: 3, Insightful
      ***They poll I/O ports?! Have these people never heard of hardware interrupts? I knew that a lot of lore had been lost in the PC revolution, but I had no idea the situation was this bad.***

      I don't think that the PS/2 Auxiliary Device Port is designed to generate an interrupt when something is hot plugged into it..

      BTW -- notwithstanding what your computer science teachers taught you, polling is quite efficient if loads are predictable. Polling is usually much less resource intensive than interrupts ... if the polls have a high hit rate. And it's much less subject to wierd, difficult to reproduce problems and to race conditions. Across the broad spectrum of computing, there are probably far more cases where interrupts are used when polling would work better than vice versa.

      That said, 20 polls per second seems excessive for a detecting a new device on a port that is rarely used except for mice. Once every 5 seconds would seem more appropriate.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    2. Re:Low memory efficient code-really? by thethibs · · Score: 1

      I'll have to take it on faith that some idiot designed an I/O port without an interrupt. As to the rest:

      What amazing nonsense!

      I was designing I/O devices and writing real-time I/O code before there were computer science teachers or courses. Assuming competent code, polling is always more resource-intensive than interrupts (all of the polling code is a net add—there is no interrupt code that it replaces). If race conditions exist in the environment, neither polling nor interrupts will fix them. Polling, on the other hand, can exacerbate the problem by not responding to high-priority events quickly enough.

      The only problem with interrupts is that it takes more skill to design software around them and, when you screw up, debugging can be very interesting. In an environment that values self-esteem over competence, it's probably best to poll.

      --
      I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
    3. Re:Low memory efficient code-really? by vtcodger · · Score: 1
      They didn't design the PS/2 port without an Interrupt. It's (usually) on IRQ12 on ISA buses. But I think that they did design it without a hot plug notification -- because it never crossed their mind that anyone would try. PS/2 ports are almost always used for mice. I don't think I've ever seen or heard of one used for anything else, although I'm sure it must happen. Windows 9 at least doesn't even support hot-plugging a PS/2 mouse (It does support hot plugging serial mice). Linux apparently does, but since you can't depend on the device being plugged in to generate an interrupt when powered up, you would need to poll to support hotplugging.

      Apparently you don't know much about PCs -- at least not older ones. The widely copied (cloned or pirated depending on your viewpoint) parallel port on the original IBM PC either was miswired or misdocumented. I can't recall which. Anyway, it didn't do interrupts. As a result, well up into the 1990s, most PCs couldn't interrupt on the parallel port. No one had all that much trouble dealing with it.

      You were designing I/O devices and writing real-time I/O code before there were computer science teachers or courses? So was I. Wrote my first code in 1961 (or maybe it was 1960 -- Long time ago anyway). If your devices and code worked that's fine. But it doesn't make you right about what is nonsense and what isn't. In many cases, input intervals are predictable. If they are, you can often plan your code to be waiting for the input. The process of doing that is called "Engineering". (Not to be confused with "Software Engineering" -- an artform that bears roughly the same relationship to engineering that sculpture does to architecture). If you are able to engineer your system -- and not all systems can be engineered, polling will probably be superior and is worth considering. If you can't predict when inputs will arrive then you have to use interrupts.

      As I have to keep on repeating, there are times and places where interrupts are appropriate. But your conviction that they are always superior to polling is simply wrong. To see that, take the limiting case where you must process a high data rate input stream on a computer that can barely keep up. That used to be a very common situation, and I imagine that it still is. Polling requires no context switching and can, on some hardware, be done with one instruction. An interrupt requires at least two context switches -- one to get to the processing code and one to get back. A polling loop probably will not require any register saves because it is inserted where it does not disrupt other activities. An interrupt will minimally require saving and restoring every reqister you use plus the program counter. Are seriously suggesting that you can process as fast a data stream with interrupts as the guy at the next desk can with polling? In your heart, you know you can't.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    4. Re:Low memory efficient code-really? by thethibs · · Score: 1

      What vtcodger describes is a situation where the whole machine is, at least temporarily, dedicated to processing a single I/O set. This isn't relevant to the topic. In any case, the usual logic in this case is that the polling loop is initiated as a response to the first I/O interrupt and the interrupt is masked until the loop is exhausted—a mixed strategy. I recall having to do that to read satellite telemetry, and to read paper tape from a reader that, at full speed, couldn't stop between characters. (If you think buffer overflows are a problem now....)

      Of course there is another case, necessary with some primitive gear that had no interrupts; you'd insert polls all over your code, wherever it was safe to pause to see if something had happened. I haven't had to write that kind of code since 1965. In 1966 I got a table-top PDP-8 with an (RT-64?) card that gave me 64 priority, buffered, maskable, software-triggerable interrupts; I never looked back.

      I'll bow to vtcodger's experience with the PC. I wrote a lot of assembler for the PC, but it was always on top of DOS, so I have no idea what hassles I/O programmers went through to make it work.

      --
      I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
    5. Re:Low memory efficient code-really? by renoX · · Score: 1

      That's an oversimplification: if memory serves, when the frequency of Ethernet packets interrupts becomes high, the kernel switch from an interrupt driven mode to a polling mode: this increase performance.

  23. Its to deflect criticism. by Generic+Player · · Score: 1

    If your project is "for the children", then any time you do anything anyone dislikes, you can deflect the criticism by claiming they hate the poor little children.

    Person with common sense: "Why are you pushing a dependance on undocumented, unmaintainable hardware from user-hostile corporations on these people when you claim to be open?"
    One Laptop Per Customer: "Why do you hate the children?"
    Person with common sense: "Why are you trying to sell starving people laptops? Maybe selling them wells so they have clean water would be better?"
    One Laptop Per Customer: "Why do you hate the childen?"

    1. Re:Its to deflect criticism. by catprog · · Score: 1

      A selections or responses Well when you have no experience with wells how do you help. What happens when everyone focus on wells and everyone has a well. This is not for people who need water but have water,food and shelter but not much more.(This provides education)

      --
      My Transformation Website
      Kindle Books http://www.catprog.org/rev
      Interactive CYOA http://www.catprog.org/st
  24. Boot time by Tribbin · · Score: 3, Insightful

    If you speed up a computer's boot time by one second. And every PC in the world (aprox a billion) starts up every day. You would save ~12000 human years every year. Every year you would save ~150 lifes!

    Every millisecond speed increase a day of software everybody uses every day would save 12 lives!

    NOW GO BACK TO WORK! You murderer!

    --
    If you mod this up, your slashdot background will turn into a beautiful sunset!
    1. Re:Boot time by evilviper · · Score: 2, Interesting
      You would save ~12000 human years every year. Every year you would save ~150 lifes!

      Only if every one of these people are sitting in-front of their computers, doing NOTHING at all while it boots up...

      No looking over at the TV. No listening to music, news, etc. No thought processes of any kind... Otherwise, that time isn't really wasted, just deferred to things you would spend that much more time doing later.

      Personally, I hit the power button, and walk away, both for boot-up and shutdown, and I suspect MANY others are the same.

      Every millisecond speed increase a day of software everybody uses every day would save 12 lives!

      I agree. That's why I continue to use the GTK1 versions of most of my software... Firefox, Sylpheed, XMMS, GIMP, Abiword, GAIM, etc. In a couple cases you have to use an older version with a couple features you might miss, but the benefits are overwhelmingly worth it. Not only do most apps* start up somewhere around 4X faster and far faster/more responsive (even on my 1.2GHz AMD with 1GB RAM) but IMHO, GTK1 looks much better...

      A GTK2 page of text (eg. mail in Sylpheed) looks almost double-spaced, with copious ammounts of waste whitespace, while the GTK1 version fits much more on-screen, with exactly the same sized font. No themes affect this at all.

      </RANT>

      * Firefox excluded, it's only about 2+X faster start-up
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  25. why dont you try it first by hildi · · Score: 0, Informative

    i had a 486-33 with 8mb RAM in college. python was one of the few usable languages.

  26. Bloated code has too many features? by thogard · · Score: 3, Interesting

    There are quite a few open source apps that are full of code that no one ever runs at all but it rarely gets yanked out because no one is certain that the code isn't used.
    I would like to see a library that can be linked in like the profiler libraries that will record what functions get called in such a way that the data can be shared with others in a massively distributed profiling system so the data can get back to the developers so they can look at the data say "we have 3 million people using this code and not one of them ever used this feature...time to purge it"

    1. Re:Bloated code has too many features? by maelstrom · · Score: 1

      You do realize that unused code gets paged to swap right?

      --
      The more you know, the less you understand.
    2. Re:Bloated code has too many features? by spinkham · · Score: 1

      Unfortunatly, it's swapped out in multiples of 4kB. If you have one byte of used code and 4095 bytes of unused code, it stays in memory anyway.

      --
      Blessed are the pessimists, for they have made backups.
    3. Re:Bloated code has too many features? by thogard · · Score: 1

      HAve you checked how big standard programs are dynamically linked compared to linking them staticly? More and more programs are now larger using dynamic libs than if they were staticly linked due to the overheard of linking in 20 libraries and their entire tables of unused functions compared to just linking in a few hundred bytes of code. As an example Solaris 10 init now links in 800 times more code than solaris 7's init. That means if there is any problem in any of those libraries there is a risk to the entire system and you have to reboot if any of them change.

  27. Maybe I'm the only one... by QuantumFTL · · Score: 1

    I'm sure I'm in the minority here on slashdot, but I'd rather have the engineers/coders developing the software that I use to spend their time making the software correct (solving the correct problem, getting the correct answer, reliably handling failure cases, good error messages, solid documentation) than "efficient" (i.e. 5-10% speed gain for gentoo ricers or whatever). Sure software's no good if it won't run on your machine, but it's also no good if it gives you the wrong answers or breaks at a critical time for one of your clients.

    That being said, OLPC will probably give a lot of geeks the excuse to spend their time optimizing (which is fun) vs all those other things (which are not).

  28. Flamebox is better.. by Anonymous Coward · · Score: 0

    So, this isn't a post to start a religious war or anything, I worked with Ken Estes(author of tinderbox) at mail.com while he was writing and used it at another organization with him.. and it does it's job ok.

    However, when I came to work at my latest company I went with Flamebox.. 3 reasons.

    1. Cleaner code(Ken's brilliant but...)
    2. Easy Task Definition and grouping.
    3. Ability to define different types of warnings and errors using an extensible set of regular expressions.

    Check it out.

    http://sourceforge.net/projects/flamebox/

    --iamnotayam

  29. No open documentation, OLPC is NOT open source by Anonymous Coward · · Score: 1, Insightful

    How quickly /. forgets, sigh.

    Without open documentation for the hardware the OLPC is not a truly open source platform.

    From a "help the chiiildren" point of view that's ok, except OLPC are trying to bullshit the FOSS community into doing their development for them by claiming the have an open platform.

  30. Interesting OLPC competition made in EU by Quietti · · Score: 1

    Not quite a laptop, but indeed a low-power, Geode-based, small, Web-oriented product, the Linutop seems like a nice platform. Heck, they even mention that it's based on Free Software and that they invite Free Software developers to invent new usages for the platform. I'll take one of those over Negroponte's crankshaft toy any day!

    --
    Software is not supposed to be about how to work around a useability issue. - Ken Barber
  31. Ultra-Efficient Demos by Garrett+Fox · · Score: 1

    I'm reminded of theprodukkt, a coding group that released a first-person shooter that takes up about 96 kilobytes. If this is possible, it's amazing that comparable games tend to take up gigabytes.

    --
    Revive the Constitution.
  32. The solution is on eBay by RecycledElectrons · · Score: 1

    Get a used $169 Fujistu Stylistic 3400 (P3 400, 192 MB RAM, 6 GB HDD) or a $299 3500 (P3 500, 256 Mb RAM, 15 GB HDD) tablet computer. Either way, it comes with Windows 2000, or you can install Linux. The 6 GB HDD is plenty big enough for a copy of the Knoppix image, plus some storage space.

    If you must have a full install of every windows, mac, and linux app known to man, then Travelstar hard disks will work as upgrades to at least 40 gigs.

    Add in (2) extra batteries and an external charger for $24 (I've got 2 of these kits on order) and a universal DC/DC adapter for $12.98 (that runs off of 8-14V) and you have a reasonable setup.

    The tablet is not quite indestructible, but it's close.

    Q: I NEED A SERVER SIZED CASE FULL OF STUFF!!! This thingy doesn't even have a keyboard.
    A: Try installing a USB hub. I'm working on a simple 5V regulator to run a USB hub off of the 11V-14V input that can charge the laptop or it's external dual battery charger. I use a wireless USB keyboard & mouse combination, a USB camera, a USB dvd burner (that runs off USB power alone), a card reader, keychain drive, an external hard disk, a printer, a scanjet that auto-feeds 50 pages per minute, etc.

    Q: I need a card reader or wi-fi card as I'm walking through the woods!
    A: Try a CardBus solution, they don't stick out so far.

    Q: I need networking...like in 3rd world countries!
    A: USB wi-fi dongles are cheap, as are PCMCIA / CardBus cards. A dual 802.11s CardBus card or USB dongle would allow millions of people with their own hardware to network without having to beg MIT for a grant (never mind.)

    Q: I lost my pen!
    A: Use your fingernail.

    Frankly, the Stylistic 3400/3500 is the perfect survivalist's / 3rd world / teacher's computer. I was with my dad in the ICU yesterday, and I was reading a WROX press book in Acrobat while I held his hand. I typed up a few syllabi and graded a few dozen student projects.

    Andy Out!