For instance, I cannot see why people have not built microcontrolled robots where the wheels are driven by a clock spring. The wind up clock spring is a powerful store of mechanical energy and offers a very good environmental solution. Instead we keep hoping better battery technology will solve everything. The simple fact that laptop computers are 50% as efficient as desktop computers just because they waste a lot of energy in charge and discharge is enough to argue against all sort of battery powered technologies.
Spring coils are the primary energy storage device in Paolo Bacigalupi's "The Windup Girl."
The Raspberry is a solution in search of a problem.
Not really. The problem has been stated clearly by Eben Upton many times. He was responsible for accepting kids into Cambridge uni to study computer science. While working at that he noticed that over the years the number of applicants was shrinking rapidly and the new applicants were no longer familiar with computers and programming in the way that the c64 generations were. Not that they were any less bright but they had not been growing up with that hands on hacking experience that the c64 generations grew up with. They had to brought up to speed on machine architectures and assembly languages or even any programming language.
Eben's plan to rectify this situation was to get cheap hardware into kids hands at a young age to reignite the familiarity kids had with computers all those years ago. His first approach to this end was in fact based on AVRs. I guess he just felt the need for a more powerful platform or observed that the Arduino already filled that niche. Whatever he switched to ARM (Perhaps because he works from Broadcom).
All in all a grand idea I think. Whether it is workable or not is another matter.
In two years it'll probably be a footnote.
Perhaps so. That's a long time in technology and things will have moved on. But hopefully that enthusiasm and "buz" will move on as well.
I can appreciate Eben Upton's lofty goals and observations, but is the Raspberry so much the solution as the introduction of kids to Unix and Linux? And then there is simply the fact that after 30 years of computer this and computer that, the novelty may have worn off. Engineering education is quite subject to fad. We tend to have periods where everyone thinks that a certain engineering degree is a golden opportunity and then there is an oversupply and that particular discipline falls out of favor. When I was young, nuclear engineering seemed to be the best and there came an oversupply, now we have a shortage of people in nuclear engineering. In the 1990s, it seemed everyone was pursuing computer science and needed a Phd just to get a job. Now, I doubt that a Phd will get you a job unless you are just lucky.
Overall, the advent of ARMs and Linux are good things for the cost of motherboard for educational purposes. But monitors have not come down in price, they have only become higher resolution and newer formats. Students need the complete package to have a reasonable entry price and the fact that these boards are shifting away from VGA is quite awkward as students can't easily use a 2nd hand monitor. The lack of an enclosure is another problem if a school is to invest in these. They want to invest in an inventory of items that are not exposed to frequent tampering or damage.
The appropriate age issue is a whole separate item as there are a lot of related knowledge bases and skills required to really appreciate computers. Simply put one has to crawl before they walk and to walk before they run. There are admittedly cases where an accelerated curriculum for a few gifted students will work, but this doesn't require mass production of a device. And then the real beauty of Linux as it currently exists is that one can get it to run on old second hand hardware better than the original MS ever ran of the same platform. Any school can easily install Linux for free on a pile of second rate computers and offer a decent class to beginners.
He works for Broadcom? Well, that is an inconvenient truth, isn't it? Educators generally need to stand off from industry to be able to best represent the interest of their students.
...is the Raspberry so much the solution as the introduction of kids to Unix and Linux?
I'm not sure that Linux/Unix is the thing to introduce to kids but here at least it the mechanism by which a programming and some electronics exposure is
delivered.
As Eben has said this can be done with a simple AVR board (Arduino) but the Raspi has the extra "hooks" of being able to play videos and 3D games (like Quake 3).
...after 30 years of computer this and computer that, the novelty may have worn
off
Perhaps, but there are some youngsters who are totally fascinated by magnets when the first come across them. Such experiences stimulate the enquiring mind. A machine that computes is one of the most fascinating things humans have ever created so why not have that around as well? Most will be bored with it some will be intrigued. Just like those magnets.
...monitors have not come down in price, they have only become higher resolution
and newer formats. Students need the complete package to have a reasonable entry
price and the fact that these boards are shifting away from VGA is quite awkward
as students can't easily use a 2nd hand monitor.
Monitors and VGA are disappearing. A lot of families have more than one TV. A lot of kids will have a TV of their own upstairs. What is required is something to plug into those available screens.
The lack of an enclosure is another problem if a school is to invest in these
They are aware of that. The Raspi was never intended to be dropped into schools without at least a box to protect it. They are working on that now.
...the real beauty of Linux as it currently exists is that one can get it to run
on old second hand hardware better than the original MS ever ran of the same
platform.
That is often true. But...
Any school can easily install Linux for free on a pile of second rate
computers and offer a decent class to beginners.
Having installed a lot of Linux on all kinds of machines I would say the barrier to entry is still too high for a lot of schools, school teachers and kids. Any kind of installation/configuration is a lot to ask.
The idea with the PI is that you turn it and it works. (May not be quite there yet but we will see). To that end it helps if everyone has the same hardware
and everyone has the same SD card to boot from. That way everyone can start from the same page in the book and progress together without all those one off quirks that hit Linux on old PCs. Then you have a community.
Besides, how are kids going to get that PC into their robots or rocketry projects etc ?
He works for Broadcom? Well, that is an inconvenient truth, isn't it?
Nothing inconvenient about it. Eben started the Raspery PI idea before he arrived at Broadcom, using AVR's. From Broadcom he soon learned that he could get a lot more power for the money with ARM and started to realize that an enterprise working on a large scale can create a lot more bang for the buck than an amateur tinkering with one off AVR's and such.
Educators generally need to stand off from industry to be able to best represent
the interest of their students.
Don't forget Eben was in education/academia for a long time, that's why the whole PI thing occurred to him.
Also conversely I would say that some of the best teachers I ever had were ones who had a background in the real world of industry.
@Heater
It seems you have never tried a LiveCD of Ubuntu Linux. Installation is rather painless. Reinstallation of a messed up machine is rather painless too - just keep the /home directories and dump all else. I've three working machines - an old XP machine with 512Mbyte of RAM, a Vista Quad with 4Gbytes, and a little Toshiba NB250 with W7 Starter. All are dual boot and run better under Ubuntu Linux.
Since Raspberry Pi seems not to support a CD/DVD player and is not an Intel device or compatible - the use of a LiveCD installation is not possible. You have to depend on older, more traditional approaches of building an image from C code with MAKE or use an image that someone has prepared and then do configurations via changes to text files.
The old XP machine strains under Windows, but zips along in Ubuntu specifically fitted automatically for the older with lack of RAM.
While the whole computer industry seems to enjoy MS and Apple forcing lockstep upgrades of software and hardware, Linux is the one OS that retains legacy compatibility. And why not, they offer it for FREE.
Teachers from industry certainly are excellent; teachers too industry are something different.
VGA monitors are NOT disappearing, they are being forced out. So are analog TVs.
BTW, have you sorted out the Raspberry PI video configuration in Linux yet? See postings in the C3 versus Raspberry Pi thread. Ubuntu Linux on an old machine does this automatically.
In all honesty, I could easily handle Raspberry PI as it now is and install it on an HDMI monitor, but I've got enough Linux devices to teach me to the end of my days. In fact, I have quite a few BasicStamps, SX chips, and Propeller boards.
You are preaching to the choir. I have installed and used all kinds of Linux distros, Live CD's and all, on all kind of hardware. There has been no Windows machine in my home since 1997. Always there are issues, even with Ubuntu.
With a little experience or much Googling they are worked around and I'm happy with that. But for a mass distribution like the PI concept a common Linux build on a common hardware platform removes millions of those little issues.
...but I've got enough Linux devices to teach me to the end of my days.
I know what you mean, But perhaps just one little one more...:)
In the 1990s, it seemed everyone was pursuing computer science and needed a Phd just to get a job. Now, I doubt that a Phd will get you a job unless you are just lucky.
Sorry, dude, but where are you getting this stuff? What you wrote here hasn't been my experience at all. There is as great a demand for people that can get things done as there has ever been. But individuals who rely solely on the strength of a degree are in trouble already.
I believe games have been the single biggest driver of consumer PC technology. This particular game, being one of the most popular for its class, and this particular distributor, being a rare example where DRM is actually helpful and more convenient to users, may have a big impact.
The prediction is kids will dive into technology when the find they can tweak linux to get better performance from their $49 PC or $35 RPi for Left4Dead2. Not all kids will do the tweaking, but the ones that do will bring the technology and vocabulary to the rest, and many kids will use the result. I think this is the new paradigm for education.
@ Heater
Now that I saw the $14 Adafruit enclosure for the Raspberry Pi in the Raspberry Pi versus C3 thread, I am sorely tempted to buy one. You could attach the computer to the backside of an HDMI monitor and have a very nice little system at your desk.
I am just too upset with educational and economic policies that are not based on really providing for the future of humanity. For 30 years, computers have claimed to promise better education, but the goal has eluded them. MS has done more to distribute free X-rate material than any other entity in history.
Actions speak louder than words. Educational and Economic policies need to come from the bottom up rather than the top down as the people on top always have a way to improve their lot. Sadly that seems to require protests and lots of civil disobedience before change occurs.
And many years of practical experience as a teacher indicates that kids that are avid computer game players are falling behind and staying behind. Ask ANY teacher.
It is the children that are read to by their parents that become the top students. It is all about being willing to tackle literature and the ability to contemplate and integrate vast quantities of reading material. I am even somewhat dismayed that I have to use Adobe Flash to get news that was once printed. It takes longer to listen to a presentation that to skim a text.
The fact that Parallax was willing to provide such good texts with the BasicStamp is what launched its fame as an educator. There were lots of competitors with possibly better software or better hardware, but Parallax has continually offered be educational access. And I admire and appreciate that.
The books and tutorials that Parallax provides open the flood gates and kids are then willing to explore more about electronics and computers because they have successful done a series of tasks with a relate text.
Amen to all of the above post. Every time hear of some great initiative to turbo charge teaching by putting a computer on every desk or give every student a laptop I roll my eyes. I have yet to be convinced that any of that can be much of an improvement over pencil, paper, books a black board and a decent teacher and school.
This has been going on for three decades now. It's only recently that ebooks and cheap portable readers have become available so if they can get more books to more pupils cheaply that might finally be of some benefit.
On the other hand I think the concepts of computers, computing, algorithms etc should be part of every ones education given that we are totally dependent on computers now a days.
I did not learn typing until my last year of junior high school. And that was considered very early. I got a D and hated it. But after I learned that typing created business opportunities, I was able to get up to a steady 50 WPM. I really needed something to say before I was willing to develop the skill.
The fact that electronics are falling in price is awkward. For the unemployed they are a windfall; for the employed, there is the question of more layoffs. Intel may be really hurt by all this as the really sophisticated servers don't use Intel chips and if cloud computing allows a Broadcom board to replace a larger, noisier, and more power hungry box - what are they going to do? I am not even sure Intel is really a player in Internet ISP servers.
Regarding reading as an important skill. I find if delightful the Linux documentation is not only free, it is generally much clearer than the documents of other 'for money' OSes. There are even free introductions for rank beginners. I have a very big manual for Windows 7 here from O'Reily and it doesn't really offer much of an explanation - just a lot of tutorials stepping through menus.
Android is interesting to me, but I am finding it hard to commit to it.
Every time hear of some great initiative to turbo charge teaching by putting a computer on every desk or give every student a laptop I roll my eyes. ...
Remember, laptops are NOT intended to be a "silver bullet" that makes all kids in the first world to perform like Kamen or Kurzweil. The aim is getting the technology to the third world and putting it in the hands of enough kids so the SMALL percentage of the kids that can potentially USE technology have the chance. The former has been shown as folly, the later has shown results. In any case, only a small percentage of the population excels at any given specialization, regardless of paper or ebook.
I still don't see how the introduction of another ARM - Linux box solves anything in computer education or recaptures the C64 generation. If anything it seems to be a attempt to introduce kids to Linux/Unix which solves nothing.
The thing is, those earlier systems from the C64 era were much easier to understand and hack compared to a Linux or Windows 7 box. Their OS's and tools were straightforward. Even their CPU's were simple.
These systems had a certain simplistic elegance that isn't found in modern systems with their gigabyte OS's and monster apps.
I agree, the simplicity of the c64 era machines was a wonderful thing that provided a great entry point for many and spurred on a generation of eager programmers and hardware designers to get us where we are now. And I do wonder if anything like an ARM plus Linux can ever replace that.
Problem is you are not going to get youngsters fired up by 8 bit machines today when they are surrounded by games consoles, phone, pads, PC etc with thousands of time more power and beautiful graphics. Anyway the Arduino fills the 8 bit, small, and simple niche for those who want to program their toys today.
The reason for going to ARM and Linux is because it does have the "hooks" to attract the young, like video, games like Quake3, and a network connection.
Anyway, for sure the Raspi is not intended as "an attempt to introduce kids to Linux/Unix". Early versions of the concept booted up straight into a Python programming environment. That was getting down to the "turn on and start hacking" style of the c64 era. It was soon felt that that was not enough to grab the attention so the search was on for something more shiny.
If anything it seems to be a attempt to introduce kids to Linux/Unix which solves nothing.
Now that's funny! You definition of "nothing" achieves my goal of introducing kids to computers in a way they can control and master.
I found the hive-project.de and was able to build a full retro style computer from a bare board and parts. I now have a 24 core micro computer that is smaller than a box of pop tarts. I know every part on the board because I selected it from digikey and soldered it in place myself; we can't do that with a regular PC, but then again who would really want to? I was also able to test each individual hardware system with custom test programs, and install and help extend the OS. This is a big deal for a non-hardware guy. Its a fun exercise, but really, who wants to do something like this? I can see and understand every single line of code and function in the entire operating system, it implements a lot of linux like things that are very useful and cool. But until application software is developed, its "just" a cool project. If we want the C64/retro computer experience, its available, and today we end up with a system that's orders of magnitude more powerful and refined, but that might be going the long way around the block for many people.
And who wants to re-capture the C64 generation? They've already got jobs and buy Macs and PCs and smart phones, (and cars and houses). They (being us) need less guidance than kids.
The real step forward would putting parallel processing in the hands of a zillion kids for less than the cost of a video game. Most kids would toss it aside after two weeks like any other video game, but one or two might come up with something unique that makes things better for the rest of us. This work is in progress.
Products like BASIC STAMP, Arduino, and Propeller are the "C64's" of today which are inspiring the next generation of DIY'ers and programmers. Let's not forget that there were over 5 million Commodore 64's sold, and I doubt that 5 million programmers directly resulted from it. We'll see the next generation of shining stars in the next decade who will point back to the microcontrollers of today as their starting point.
Did I miss a point? Who said anything about re-capturing the C64 generation? That would be old duffers like me:)
Yeah, I missed that angle of Rods statement. How could it be that kids becoming familiar with Linux/unix is nothing? I would say that is a majorly big thing for them to realize they don't have to be spoon fed by an Apple or Microsoft.
Nothing against parallel processing but in the context of this debate we have to be thinking of introducing even the simple concepts of "compute", "computer", "algorithm", "program", "control", "logic" and so on. Better get that straight on one processor first:)
As Albert Einstein is reported to have said, "If I had know what people were going to do with my research, I would have become a cobbler."
Putting technology in the hands of Third World youth is what brought us September 11th. Real education needs to be more about understanding the world and tolerating each other and recognizing the mistakes of not understanding other cultural values and different views of history. The USA is in an awkward position due to its technology tends to be so superior.
The reality is technology is often first exploited to military advantage and only later become useful for humanitarian uses. After it is no longer protected a military asset. The Third World tends to look at technology very pragmatically and for selfish exploitation. That can cause more problems than it solves.
Have you guys ever visited the phone related forums?
The C64 generation is here, and they are all staring at various phones. I see some people there doing unbelievably sophisticated things just to get their name on the splash screen, or scrub the phone of all the carrier baggage. One of the more interesting elements of this are the phone equivalent of peeks and pokes. Since many of the phones have "obscure ware" in them, users are left to thrash around and just do stuff. The parallels with home computers and their various mysteries are fairly obvious to me. Older computers were basically open, that part is different, but the mechanic and basic desire to do things is largely the same.
I want one of the Android PC's. My phone was upgraded a while back. Was the last hold out on Blackberry. Mostly, I am a phone luddite, or was anyway. The phone is supposed to make and receive phone calls! I never did like complicated phones, because that gets in the way of actual phone calls, but I digress. After running a new Moto Android phone, with keyboard no less --they know me well, it seems, I must say, I like Android. After getting the basics sorted out, the first thing I did was go and grab a nice BASIC to play with. Then I started digging around to see how things tend to work, snagged a few apps and contemplated rooting the phone. Might still do that, though I'm waiting on it for a bit. Don't need to, and that's the rub with phones. Tinkering with the phone gets in the way of making and receiving phone calls...
A stripped down PC running that same OS, with a few changes to deal with keyboard mouse would provide that playground without the hassle of also having to maintain a phone. Put my name on the list for that reason alone.
What I think will happen is people will get these to either setup a utility machine, good for internet, e-mail, etc... Maybe play some casual games on it, run a few apps. What I also think will happen is people will start to dig in and really grok Android, because having a machine to churn and burn at will makes doing that safe, easy, fun! They will build things, and those things will have an audience in the masses running Android phones.
Unlike a full on UNIX, or Linux, Mac, Windows, Android is stripped down to the nubs from a GUI perspective. That is necessary because of how UI works on phones, but the nice artifact of it is a general UI set of expectations that are more in line with embedded and appliance type goals than they are the knowledge worker, engineer, etc... goals. To me, scaling that back some, opens the door for more tinkering and for said tinkering to be productive just as it was on the early computers where expectations were also low, but for different reasons.
A successful build of Propeller tools on Android? Sweet! And Android on a net book type machine, with a touch screen? Double sweet compared to either Linux or Windows, IMHO. We have one net book, and the form factor is good, but nothing else is. Just crappy to use, and in fact it barely works, with most real things people want to do happening at 90 percent of machine capability. Android could change that dynamic some because of how lean it is, and because the GUI expectations are different too.
Techie kids show off on the phones now by making them do things that were not intended. Sometimes this is a simple thing, like changing some graphics, or being able to say, "look no Verizon" Sometimes it's more complex things, like "hey my battery runs two days because I figured out how to clock the CPU back --they call this "undervolting", LOL!!" Writing an app that can be deployed there? Golden. Building on a PC that works like the phone does? Common set of understanding, also golden.
A phone centric culture is here, and it's not going anywhere. A PC aligned to that may prove quite the popular toy.
Ubuntu Linux has a full C64 emulator for those that must. I just wonder how many nostalgic geeks are sitting around a keyboard and do it all in a Commodore 64 world. It's a bit weird, like a Startrek Convention.
FreeDOS is there for those that want to go back to floppies and DOS because they really understood it. And you might even be able to port Linux's BASH shell over it to do some really neat things.
But there is so much that can be done and so little time.
The smart phone angle is an interesting observation. Trouble is you need a PC to develop anything to run on the phone.
I think I might be quite happy with Android on an embedded system, provided I can add any old Linux library or executable to the mix as well. Sometimes you just need that stuff.
Having said that yesterday my Android phone decided lock up every hour or so. Looks powered down but refuses to start. All kinds of other wonky things going on withit as well. Should I trust this for important things like a phone or some embedded application?
@Heater
Yes -- a key point. I like Linux because it can be a cross-development platform. I am reluctant to pursue Android because I have doubts that I can run free IDEs in it. I even retain a Windows environment because not all I have is available in Linux.
So Raspberry Pi is winning my heart over this $49 Android board. One might be able to compile something very very tiny and limited.
No you don't. I'm developing on my Android in a nice BASIC that actually can produce some app quality results. It's not as fast as more native things, but it's fast enough for much to be possible. I'll do it in a boring meeting, for example. Who would have thought?
But, your point is taken, and that is precisely why I think an Android PC makes sense. Of course a PC with the nice keyboard, mouse and such is the better development platform. One running Android, with some tools built for Android will permit development on Android, and it all will resonate nicely. Don't we all want a self-hosting Prop? Well, no we all don't, but it's compelling right? I do, and I know many others have expressed similar inclinations. That same resonance happens on the phones, which is why I think the PC is brilliant. Frankly, I think we will find the little 50 dollar unit capable of a lot more than we think, because it won't have some of the basic limits phones do, and those are there just due to the requirements of actually being a phone.
Re: Droid vs Pi.
I think the can run free tools argument is a solid one. I also think those tools can be ported or ones will appear, and to some degree are starting to now anyway. Not mutually exclusive things, IMHO.
This obviously isn't a one question/one solution subject.
1) Access - a $49 PC lowers the entry barrier to give people access to a computing environment. Even if you still need to buy a mnitor/kbd/mouse, you are less than a new commodity PC. Plus you have a small, energy efficiaent package that can be recoverd to it's original starting point (or any other starting point you determine by replacing the SD). This will give many more people access to a computing environment - what they do with this access is like anything thing else people are given, up to them.
2) Education - satisfying #1 opens up new opportunities for education. It doesn't appear magically though, this part needs to be developed and sustained. This can be education through formal means or self-education because an avenue of interest has been opened up or an new opportunity exposed. For computer education, the Linux environment offers a level of abstration and provide a starting point for a technical education. To hack a C64, you didn't need to know how the gates were built on teh 6502 or how a transistor worked (you may have learned it later) - you needed to know how to get around in BASIC and how to PEEK and POKE. You were removed from the hardware to work on the software. Presenting a programmable Linux environment is another layer of abstraction - to begin your learning journey, you don;t need to know the details underneat, you need to know you are in a Python environment and this is the syntax to program in Python.
3) The next C64 Generation - there will be a small group (young and old) who work through #1 and #2 and arrive here. They take the deep dive, go beyond programing, start connecting things to their computer, start learnign electronics (possibly at an abstracted level at first) and become the people that replace us on the Propeller forum.
Like OBC said, the 5 million C64's sold did not produce 5 million software and hardware engineers.....but it did produce and inspire some.
OBC's latest amalgamation retro-style-pocket-mini-computer is another wonderful, door opening opportunity. How wonderful to sit a kid down in front of that and they can just play, don't have to worry about windows, breaking mom or dad's computer, just some basic programming and a way to make sound and pictures on a screen. Play some games, learn to change some games, explore without fear or frustration. I know I'm going to put one together for my daughter and see if it sparks anything. Thanks OBC! (ok, I want to play with one too!)
Most people I know use a modern machine with emulation. They run on real hardware when it's close to the finish, or they are pushing some thing hard or in new ways that the emulator may not capture properly. Some do build on the native machines, but not many, a strange exception being Apple ][ users. Apples were more "PC" like, and that encourages native development more than say a C64 ever did, and that's mostly due to having 80 columns, and various I/O devices in the card slots.
The numbers are low regardless, but all over the place. Kids are tinkering with old computers just the same as old people are tinkering with old computers.
I think it will be interesting to see where all this is headed.
One concern I have, though, is with the specs of the Android machine.
The processor seems a little slow at 800MHz (my Android phone is dual core and runs at 1.2GHz) and I'd expect more memory. Also, is it really running Android 2.3? Not that there is a real problem with that, but it will seem a bit behind the times to people.
The inability to link to Google Play for apps will be a negative to a lot of people (although it won't surprise me if there's a way around that pretty quickly).
Maybe we should be considering this a "teaser" for the Android curious. There are lots of good reasons to go directly to leading edge Android and skip earlier releases. But as one does so, it seems it gets more difficult to not conform to what Android wants.
I remain more attracted to small Linux with solid-state hard disk type of storage. Very fast to start up and creatively a huge playground. I am still trying to decide how much I really care about video. I've tended to ignore the X Windows side of Linux, but these days anything created for someone else is expected to have a great user interface.
The X Window system, what it's really called BTW, is worth learning about. When it first gained some traction, BYTE ran a series of articles on X that really framed up what was to come. Most GUI environments are built on a local frame buffer and assume one user, one machine. Lots of short cuts taken.
X didn't do that, and it is for the GUI what UNIX is to computing in general. X is really a multi-user GUI system capable of way more than it actually sees use on these days. Want to build a computer with three video screens, three keyboards, three mice, to be used by three concurrent users? X does that. Want to build up a big multi-media screen out of tons of displays? X does that. Want to deploy an application to 100 users running all manner of hardware on the network? X does that. Want to run an application on one box, then transfer it to another one without losing your current session / state of working? X does that. Want to build a quick dumb terminal, with all compute and resources remote? X does that. Tired of your current window manager and have an eye on one running on another box? X does that. Want to "loan" an application to another user by firing it up to launch on their desktop screen? X does that. Want to combine fonts from one server, shared storage from another, application running on another, window manager running on another? X does that too. And it goes on and on...
I don't get to spend too much time with an X window system these days, but when I do, it's always a treat. Some applications written now tend to forget what multi-user and network transparent display means, and they break a little when X is used to full potential, but a whole lot of stuff just works nicely no matter what it is you plan on doing. X is really smart and powerful, and mostly under utilized, IMHO. UNIXes that don't have X running, like Android and OSX, are nice operating environments, but are a little crippled and windows like when they do. Most people won't miss it though, or even notice, because they never really did get to driving X in true multi-user computing fashion. Explore X some. Hell of a playground, if you ask me. There are some issues, and a lot of the more powerful stuff requires a good, solid X implementation, but all in all, X is worth knowing about.
One thing I think is really cool is you can ignore video. Build up your machine with just a console, if you want to. Include some network capability and the X window stuff just runs over the wire. You can keep your stuff clean, lean and mean. An entire GUI then becomes just another data stream. There is no need at all for any kind of local display. Put the keyboard and mouse out there too, and you end up with a little box containing storage, network and serial for console / boot strapping type activities.
X is very much under rated. Strange thing is that now a lot of stuff that X could do is being done by the web browser which is becomming a local display for remote apps more and more. Including hardware accelerated graphics with webgl.
I have heard people complain that X was Smile because it forced every thing between display and app over a net connection. Seems now that we do that with browsers its OK.
One of the oddest things I did with X was to compile a Windows program to run under wine on Linux and then access it remotely using X tunnelled over ssh to another box. This was "odd" at the time because a) it was a windows app running on Linux b) at the time there was no way to run windows apps out to a remote display, not even using a windows OS.
You know, this is a lot of discussion about the pos and cons of the apc idea, and elsewhere the raspi. But it's simple really, silicon is getting smaller and cheaper, we have more open and free operating systems. We should only be cheering this on.
Comments
Spring coils are the primary energy storage device in Paolo Bacigalupi's "The Windup Girl."
http://www.amazon.com/The-Windup-Girl-Paolo-Bacigalupi/dp/1597801585/ref=sr_1_1?ie=UTF8&qid=1338990706&sr=8-1
Not really. The problem has been stated clearly by Eben Upton many times. He was responsible for accepting kids into Cambridge uni to study computer science. While working at that he noticed that over the years the number of applicants was shrinking rapidly and the new applicants were no longer familiar with computers and programming in the way that the c64 generations were. Not that they were any less bright but they had not been growing up with that hands on hacking experience that the c64 generations grew up with. They had to brought up to speed on machine architectures and assembly languages or even any programming language.
Eben's plan to rectify this situation was to get cheap hardware into kids hands at a young age to reignite the familiarity kids had with computers all those years ago. His first approach to this end was in fact based on AVRs. I guess he just felt the need for a more powerful platform or observed that the Arduino already filled that niche. Whatever he switched to ARM (Perhaps because he works from Broadcom).
All in all a grand idea I think. Whether it is workable or not is another matter.
Perhaps so. That's a long time in technology and things will have moved on. But hopefully that enthusiasm and "buz" will move on as well.
Overall, the advent of ARMs and Linux are good things for the cost of motherboard for educational purposes. But monitors have not come down in price, they have only become higher resolution and newer formats. Students need the complete package to have a reasonable entry price and the fact that these boards are shifting away from VGA is quite awkward as students can't easily use a 2nd hand monitor. The lack of an enclosure is another problem if a school is to invest in these. They want to invest in an inventory of items that are not exposed to frequent tampering or damage.
The appropriate age issue is a whole separate item as there are a lot of related knowledge bases and skills required to really appreciate computers. Simply put one has to crawl before they walk and to walk before they run. There are admittedly cases where an accelerated curriculum for a few gifted students will work, but this doesn't require mass production of a device. And then the real beauty of Linux as it currently exists is that one can get it to run on old second hand hardware better than the original MS ever ran of the same platform. Any school can easily install Linux for free on a pile of second rate computers and offer a decent class to beginners.
He works for Broadcom? Well, that is an inconvenient truth, isn't it? Educators generally need to stand off from industry to be able to best represent the interest of their students.
delivered.
As Eben has said this can be done with a simple AVR board (Arduino) but the Raspi has the extra "hooks" of being able to play videos and 3D games (like Quake 3). Perhaps, but there are some youngsters who are totally fascinated by magnets when the first come across them. Such experiences stimulate the enquiring mind. A machine that computes is one of the most fascinating things humans have ever created so why not have that around as well? Most will be bored with it some will be intrigued. Just like those magnets. Monitors and VGA are disappearing. A lot of families have more than one TV. A lot of kids will have a TV of their own upstairs. What is required is something to plug into those available screens. They are aware of that. The Raspi was never intended to be dropped into schools without at least a box to protect it. They are working on that now. That is often true. But... Having installed a lot of Linux on all kinds of machines I would say the barrier to entry is still too high for a lot of schools, school teachers and kids. Any kind of installation/configuration is a lot to ask.
The idea with the PI is that you turn it and it works. (May not be quite there yet but we will see). To that end it helps if everyone has the same hardware
and everyone has the same SD card to boot from. That way everyone can start from the same page in the book and progress together without all those one off quirks that hit Linux on old PCs. Then you have a community.
Besides, how are kids going to get that PC into their robots or rocketry projects etc ? Nothing inconvenient about it. Eben started the Raspery PI idea before he arrived at Broadcom, using AVR's. From Broadcom he soon learned that he could get a lot more power for the money with ARM and started to realize that an enterprise working on a large scale can create a lot more bang for the buck than an amateur tinkering with one off AVR's and such. Don't forget Eben was in education/academia for a long time, that's why the whole PI thing occurred to him.
Also conversely I would say that some of the best teachers I ever had were ones who had a background in the real world of industry.
It seems you have never tried a LiveCD of Ubuntu Linux. Installation is rather painless. Reinstallation of a messed up machine is rather painless too - just keep the /home directories and dump all else. I've three working machines - an old XP machine with 512Mbyte of RAM, a Vista Quad with 4Gbytes, and a little Toshiba NB250 with W7 Starter. All are dual boot and run better under Ubuntu Linux.
Since Raspberry Pi seems not to support a CD/DVD player and is not an Intel device or compatible - the use of a LiveCD installation is not possible. You have to depend on older, more traditional approaches of building an image from C code with MAKE or use an image that someone has prepared and then do configurations via changes to text files.
The old XP machine strains under Windows, but zips along in Ubuntu specifically fitted automatically for the older with lack of RAM.
While the whole computer industry seems to enjoy MS and Apple forcing lockstep upgrades of software and hardware, Linux is the one OS that retains legacy compatibility. And why not, they offer it for FREE.
Teachers from industry certainly are excellent; teachers too industry are something different.
VGA monitors are NOT disappearing, they are being forced out. So are analog TVs.
BTW, have you sorted out the Raspberry PI video configuration in Linux yet? See postings in the C3 versus Raspberry Pi thread. Ubuntu Linux on an old machine does this automatically.
In all honesty, I could easily handle Raspberry PI as it now is and install it on an HDMI monitor, but I've got enough Linux devices to teach me to the end of my days. In fact, I have quite a few BasicStamps, SX chips, and Propeller boards.
You are preaching to the choir. I have installed and used all kinds of Linux distros, Live CD's and all, on all kind of hardware. There has been no Windows machine in my home since 1997. Always there are issues, even with Ubuntu.
With a little experience or much Googling they are worked around and I'm happy with that. But for a mass distribution like the PI concept a common Linux build on a common hardware platform removes millions of those little issues.
I know what you mean, But perhaps just one little one more...:)
Sorry, dude, but where are you getting this stuff? What you wrote here hasn't been my experience at all. There is as great a demand for people that can get things done as there has ever been. But individuals who rely solely on the strength of a degree are in trouble already.
http://steamforlinux.com/?q=en/node/35
I believe games have been the single biggest driver of consumer PC technology. This particular game, being one of the most popular for its class, and this particular distributor, being a rare example where DRM is actually helpful and more convenient to users, may have a big impact.
The prediction is kids will dive into technology when the find they can tweak linux to get better performance from their $49 PC or $35 RPi for Left4Dead2. Not all kids will do the tweaking, but the ones that do will bring the technology and vocabulary to the rest, and many kids will use the result. I think this is the new paradigm for education.
Now that I saw the $14 Adafruit enclosure for the Raspberry Pi in the Raspberry Pi versus C3 thread, I am sorely tempted to buy one. You could attach the computer to the backside of an HDMI monitor and have a very nice little system at your desk.
I am just too upset with educational and economic policies that are not based on really providing for the future of humanity. For 30 years, computers have claimed to promise better education, but the goal has eluded them. MS has done more to distribute free X-rate material than any other entity in history.
Actions speak louder than words. Educational and Economic policies need to come from the bottom up rather than the top down as the people on top always have a way to improve their lot. Sadly that seems to require protests and lots of civil disobedience before change occurs.
And many years of practical experience as a teacher indicates that kids that are avid computer game players are falling behind and staying behind. Ask ANY teacher.
It is the children that are read to by their parents that become the top students. It is all about being willing to tackle literature and the ability to contemplate and integrate vast quantities of reading material. I am even somewhat dismayed that I have to use Adobe Flash to get news that was once printed. It takes longer to listen to a presentation that to skim a text.
The fact that Parallax was willing to provide such good texts with the BasicStamp is what launched its fame as an educator. There were lots of competitors with possibly better software or better hardware, but Parallax has continually offered be educational access. And I admire and appreciate that.
The books and tutorials that Parallax provides open the flood gates and kids are then willing to explore more about electronics and computers because they have successful done a series of tasks with a relate text.
Amen to all of the above post. Every time hear of some great initiative to turbo charge teaching by putting a computer on every desk or give every student a laptop I roll my eyes. I have yet to be convinced that any of that can be much of an improvement over pencil, paper, books a black board and a decent teacher and school.
This has been going on for three decades now. It's only recently that ebooks and cheap portable readers have become available so if they can get more books to more pupils cheaply that might finally be of some benefit.
On the other hand I think the concepts of computers, computing, algorithms etc should be part of every ones education given that we are totally dependent on computers now a days.
The fact that electronics are falling in price is awkward. For the unemployed they are a windfall; for the employed, there is the question of more layoffs. Intel may be really hurt by all this as the really sophisticated servers don't use Intel chips and if cloud computing allows a Broadcom board to replace a larger, noisier, and more power hungry box - what are they going to do? I am not even sure Intel is really a player in Internet ISP servers.
Regarding reading as an important skill. I find if delightful the Linux documentation is not only free, it is generally much clearer than the documents of other 'for money' OSes. There are even free introductions for rank beginners. I have a very big manual for Windows 7 here from O'Reily and it doesn't really offer much of an explanation - just a lot of tutorials stepping through menus.
Android is interesting to me, but I am finding it hard to commit to it.
Remember, laptops are NOT intended to be a "silver bullet" that makes all kids in the first world to perform like Kamen or Kurzweil. The aim is getting the technology to the third world and putting it in the hands of enough kids so the SMALL percentage of the kids that can potentially USE technology have the chance. The former has been shown as folly, the later has shown results. In any case, only a small percentage of the population excels at any given specialization, regardless of paper or ebook.
The thing is, those earlier systems from the C64 era were much easier to understand and hack compared to a Linux or Windows 7 box. Their OS's and tools were straightforward. Even their CPU's were simple.
These systems had a certain simplistic elegance that isn't found in modern systems with their gigabyte OS's and monster apps.
I agree, the simplicity of the c64 era machines was a wonderful thing that provided a great entry point for many and spurred on a generation of eager programmers and hardware designers to get us where we are now. And I do wonder if anything like an ARM plus Linux can ever replace that.
Problem is you are not going to get youngsters fired up by 8 bit machines today when they are surrounded by games consoles, phone, pads, PC etc with thousands of time more power and beautiful graphics. Anyway the Arduino fills the 8 bit, small, and simple niche for those who want to program their toys today.
The reason for going to ARM and Linux is because it does have the "hooks" to attract the young, like video, games like Quake3, and a network connection.
Anyway, for sure the Raspi is not intended as "an attempt to introduce kids to Linux/Unix". Early versions of the concept booted up straight into a Python programming environment. That was getting down to the "turn on and start hacking" style of the c64 era. It was soon felt that that was not enough to grab the attention so the search was on for something more shiny.
Let's see how it pans out.
Now that's funny! You definition of "nothing" achieves my goal of introducing kids to computers in a way they can control and master.
I found the hive-project.de and was able to build a full retro style computer from a bare board and parts. I now have a 24 core micro computer that is smaller than a box of pop tarts. I know every part on the board because I selected it from digikey and soldered it in place myself; we can't do that with a regular PC, but then again who would really want to? I was also able to test each individual hardware system with custom test programs, and install and help extend the OS. This is a big deal for a non-hardware guy. Its a fun exercise, but really, who wants to do something like this? I can see and understand every single line of code and function in the entire operating system, it implements a lot of linux like things that are very useful and cool. But until application software is developed, its "just" a cool project. If we want the C64/retro computer experience, its available, and today we end up with a system that's orders of magnitude more powerful and refined, but that might be going the long way around the block for many people.
And who wants to re-capture the C64 generation? They've already got jobs and buy Macs and PCs and smart phones, (and cars and houses). They (being us) need less guidance than kids.
The real step forward would putting parallel processing in the hands of a zillion kids for less than the cost of a video game. Most kids would toss it aside after two weeks like any other video game, but one or two might come up with something unique that makes things better for the rest of us. This work is in progress.
OBC
Did I miss a point? Who said anything about re-capturing the C64 generation? That would be old duffers like me:)
Yeah, I missed that angle of Rods statement. How could it be that kids becoming familiar with Linux/unix is nothing? I would say that is a majorly big thing for them to realize they don't have to be spoon fed by an Apple or Microsoft.
Nothing against parallel processing but in the context of this debate we have to be thinking of introducing even the simple concepts of "compute", "computer", "algorithm", "program", "control", "logic" and so on. Better get that straight on one processor first:)
Putting technology in the hands of Third World youth is what brought us September 11th. Real education needs to be more about understanding the world and tolerating each other and recognizing the mistakes of not understanding other cultural values and different views of history. The USA is in an awkward position due to its technology tends to be so superior.
The reality is technology is often first exploited to military advantage and only later become useful for humanitarian uses. After it is no longer protected a military asset. The Third World tends to look at technology very pragmatically and for selfish exploitation. That can cause more problems than it solves.
The C64 generation is here, and they are all staring at various phones. I see some people there doing unbelievably sophisticated things just to get their name on the splash screen, or scrub the phone of all the carrier baggage. One of the more interesting elements of this are the phone equivalent of peeks and pokes. Since many of the phones have "obscure ware" in them, users are left to thrash around and just do stuff. The parallels with home computers and their various mysteries are fairly obvious to me. Older computers were basically open, that part is different, but the mechanic and basic desire to do things is largely the same.
I want one of the Android PC's. My phone was upgraded a while back. Was the last hold out on Blackberry. Mostly, I am a phone luddite, or was anyway. The phone is supposed to make and receive phone calls! I never did like complicated phones, because that gets in the way of actual phone calls, but I digress. After running a new Moto Android phone, with keyboard no less --they know me well, it seems, I must say, I like Android. After getting the basics sorted out, the first thing I did was go and grab a nice BASIC to play with. Then I started digging around to see how things tend to work, snagged a few apps and contemplated rooting the phone. Might still do that, though I'm waiting on it for a bit. Don't need to, and that's the rub with phones. Tinkering with the phone gets in the way of making and receiving phone calls...
A stripped down PC running that same OS, with a few changes to deal with keyboard mouse would provide that playground without the hassle of also having to maintain a phone. Put my name on the list for that reason alone.
What I think will happen is people will get these to either setup a utility machine, good for internet, e-mail, etc... Maybe play some casual games on it, run a few apps. What I also think will happen is people will start to dig in and really grok Android, because having a machine to churn and burn at will makes doing that safe, easy, fun! They will build things, and those things will have an audience in the masses running Android phones.
Unlike a full on UNIX, or Linux, Mac, Windows, Android is stripped down to the nubs from a GUI perspective. That is necessary because of how UI works on phones, but the nice artifact of it is a general UI set of expectations that are more in line with embedded and appliance type goals than they are the knowledge worker, engineer, etc... goals. To me, scaling that back some, opens the door for more tinkering and for said tinkering to be productive just as it was on the early computers where expectations were also low, but for different reasons.
A successful build of Propeller tools on Android? Sweet! And Android on a net book type machine, with a touch screen? Double sweet compared to either Linux or Windows, IMHO. We have one net book, and the form factor is good, but nothing else is. Just crappy to use, and in fact it barely works, with most real things people want to do happening at 90 percent of machine capability. Android could change that dynamic some because of how lean it is, and because the GUI expectations are different too.
Techie kids show off on the phones now by making them do things that were not intended. Sometimes this is a simple thing, like changing some graphics, or being able to say, "look no Verizon" Sometimes it's more complex things, like "hey my battery runs two days because I figured out how to clock the CPU back --they call this "undervolting", LOL!!" Writing an app that can be deployed there? Golden. Building on a PC that works like the phone does? Common set of understanding, also golden.
A phone centric culture is here, and it's not going anywhere. A PC aligned to that may prove quite the popular toy.
FreeDOS is there for those that want to go back to floppies and DOS because they really understood it. And you might even be able to port Linux's BASH shell over it to do some really neat things.
But there is so much that can be done and so little time.
The smart phone angle is an interesting observation. Trouble is you need a PC to develop anything to run on the phone.
I think I might be quite happy with Android on an embedded system, provided I can add any old Linux library or executable to the mix as well. Sometimes you just need that stuff.
Having said that yesterday my Android phone decided lock up every hour or so. Looks powered down but refuses to start. All kinds of other wonky things going on withit as well. Should I trust this for important things like a phone or some embedded application?
Yes -- a key point. I like Linux because it can be a cross-development platform. I am reluctant to pursue Android because I have doubts that I can run free IDEs in it. I even retain a Windows environment because not all I have is available in Linux.
So Raspberry Pi is winning my heart over this $49 Android board. One might be able to compile something very very tiny and limited.
No you don't. I'm developing on my Android in a nice BASIC that actually can produce some app quality results. It's not as fast as more native things, but it's fast enough for much to be possible. I'll do it in a boring meeting, for example. Who would have thought?
But, your point is taken, and that is precisely why I think an Android PC makes sense. Of course a PC with the nice keyboard, mouse and such is the better development platform. One running Android, with some tools built for Android will permit development on Android, and it all will resonate nicely. Don't we all want a self-hosting Prop? Well, no we all don't, but it's compelling right? I do, and I know many others have expressed similar inclinations. That same resonance happens on the phones, which is why I think the PC is brilliant. Frankly, I think we will find the little 50 dollar unit capable of a lot more than we think, because it won't have some of the basic limits phones do, and those are there just due to the requirements of actually being a phone.
Re: Droid vs Pi.
I think the can run free tools argument is a solid one. I also think those tools can be ported or ones will appear, and to some degree are starting to now anyway. Not mutually exclusive things, IMHO.
1) Access - a $49 PC lowers the entry barrier to give people access to a computing environment. Even if you still need to buy a mnitor/kbd/mouse, you are less than a new commodity PC. Plus you have a small, energy efficiaent package that can be recoverd to it's original starting point (or any other starting point you determine by replacing the SD). This will give many more people access to a computing environment - what they do with this access is like anything thing else people are given, up to them.
2) Education - satisfying #1 opens up new opportunities for education. It doesn't appear magically though, this part needs to be developed and sustained. This can be education through formal means or self-education because an avenue of interest has been opened up or an new opportunity exposed. For computer education, the Linux environment offers a level of abstration and provide a starting point for a technical education. To hack a C64, you didn't need to know how the gates were built on teh 6502 or how a transistor worked (you may have learned it later) - you needed to know how to get around in BASIC and how to PEEK and POKE. You were removed from the hardware to work on the software. Presenting a programmable Linux environment is another layer of abstraction - to begin your learning journey, you don;t need to know the details underneat, you need to know you are in a Python environment and this is the syntax to program in Python.
3) The next C64 Generation - there will be a small group (young and old) who work through #1 and #2 and arrive here. They take the deep dive, go beyond programing, start connecting things to their computer, start learnign electronics (possibly at an abstracted level at first) and become the people that replace us on the Propeller forum.
Like OBC said, the 5 million C64's sold did not produce 5 million software and hardware engineers.....but it did produce and inspire some.
OBC's latest amalgamation retro-style-pocket-mini-computer is another wonderful, door opening opportunity. How wonderful to sit a kid down in front of that and they can just play, don't have to worry about windows, breaking mom or dad's computer, just some basic programming and a way to make sound and pictures on a screen. Play some games, learn to change some games, explore without fear or frustration. I know I'm going to put one together for my daughter and see if it sparks anything. Thanks OBC! (ok, I want to play with one too!)
Most people I know use a modern machine with emulation. They run on real hardware when it's close to the finish, or they are pushing some thing hard or in new ways that the emulator may not capture properly. Some do build on the native machines, but not many, a strange exception being Apple ][ users. Apples were more "PC" like, and that encourages native development more than say a C64 ever did, and that's mostly due to having 80 columns, and various I/O devices in the card slots.
The numbers are low regardless, but all over the place. Kids are tinkering with old computers just the same as old people are tinkering with old computers.
One concern I have, though, is with the specs of the Android machine.
The processor seems a little slow at 800MHz (my Android phone is dual core and runs at 1.2GHz) and I'd expect more memory. Also, is it really running Android 2.3? Not that there is a real problem with that, but it will seem a bit behind the times to people.
The inability to link to Google Play for apps will be a negative to a lot of people (although it won't surprise me if there's a way around that pretty quickly).
I remain more attracted to small Linux with solid-state hard disk type of storage. Very fast to start up and creatively a huge playground. I am still trying to decide how much I really care about video. I've tended to ignore the X Windows side of Linux, but these days anything created for someone else is expected to have a great user interface.
X didn't do that, and it is for the GUI what UNIX is to computing in general. X is really a multi-user GUI system capable of way more than it actually sees use on these days. Want to build a computer with three video screens, three keyboards, three mice, to be used by three concurrent users? X does that. Want to build up a big multi-media screen out of tons of displays? X does that. Want to deploy an application to 100 users running all manner of hardware on the network? X does that. Want to run an application on one box, then transfer it to another one without losing your current session / state of working? X does that. Want to build a quick dumb terminal, with all compute and resources remote? X does that. Tired of your current window manager and have an eye on one running on another box? X does that. Want to "loan" an application to another user by firing it up to launch on their desktop screen? X does that. Want to combine fonts from one server, shared storage from another, application running on another, window manager running on another? X does that too. And it goes on and on...
I don't get to spend too much time with an X window system these days, but when I do, it's always a treat. Some applications written now tend to forget what multi-user and network transparent display means, and they break a little when X is used to full potential, but a whole lot of stuff just works nicely no matter what it is you plan on doing. X is really smart and powerful, and mostly under utilized, IMHO. UNIXes that don't have X running, like Android and OSX, are nice operating environments, but are a little crippled and windows like when they do. Most people won't miss it though, or even notice, because they never really did get to driving X in true multi-user computing fashion. Explore X some. Hell of a playground, if you ask me. There are some issues, and a lot of the more powerful stuff requires a good, solid X implementation, but all in all, X is worth knowing about.
One thing I think is really cool is you can ignore video. Build up your machine with just a console, if you want to. Include some network capability and the X window stuff just runs over the wire. You can keep your stuff clean, lean and mean. An entire GUI then becomes just another data stream. There is no need at all for any kind of local display. Put the keyboard and mouse out there too, and you end up with a little box containing storage, network and serial for console / boot strapping type activities.
I have heard people complain that X was Smile because it forced every thing between display and app over a net connection. Seems now that we do that with browsers its OK.
One of the oddest things I did with X was to compile a Windows program to run under wine on Linux and then access it remotely using X tunnelled over ssh to another box. This was "odd" at the time because a) it was a windows app running on Linux b) at the time there was no way to run windows apps out to a remote display, not even using a windows OS.