“This website is here to guide you through the process of developing very basic operating systems on the Raspberry Pi! This website is aimed at people aged 16 and upwards, although younger readers may still find some of it accessible, particularly with assistance. More lessons may be added to this course in time.” From the Computer Laboratory, University of Cambridge, one of the institutions behind the Raspberry Pi. Amazing resource.
This is about blinking an LED and interacting the a frame buffer.
All nice and such, but it has nothing to do with an operating system.
I bet you would love the Sun SPOT. ๐
http://www.sunspotworld.com/
Seems legit to me. An introduction to bare metal programming on an easy to acquire piece of hardware.
Or do you expect people to write pseudo operating systems in high level languages right out of the gate? That would be a nice thought experiment but would have little to do with real operating system development.
Go back and read the article again. This captures – in a very, very simplistic manner – several characteristics that one would associate with an operating system:
[*] Low-level programmatic control of hardware.
[*] Direct output to a graphical display.
[*] Extensibility via the provision of a CLI.
This really is quite an impressive use of the RPi and certainly qualifies as an operating system, albeit a toy one.
Given that my first introduction to computing was with a BBC Micro many years ago, it’s great to see that Cambridge is continuing its great tradition of introducing the fundamentals of computing to children and teenagers. I get a genuine kick out of walking down Thomson Avenue each and every morning on my way to work knowing that there are people inside the Gates building whose work is going to inspire the next generation of kids to study computer science.
…a Respberry?
Please fix the spelling.
I could grasp this stuff when I was 8 or 9. At 16 I was on the way to design digital and analog electronic boards, and knew enough math to develop a 3D engine. Come on!
I’ve gotten a strong sense from the writings of the folks involved with the Raspberry Pi project that they perceive the current generation of students to be nearly a lost cause. They feel that kids today couldn’t care less about programming and circuit design, as long as their shiny iDevices can get a wireless signal.
I seriously hope that isn’t true, but unfortunately my (admittedly limited) experience with children today bears it out. Instead of playing a real guitar or drums, kids are playing with Rock Band controllers. Instead of building their own kit computers or learning to program with BASIC or JavaScript, they are struggling to understand Legos and improving their score in FPS games on the Xbox.
That isn’t to say that such activities are a bad thing; rather, it’s that the raw desire to learn seems to be diminished by the immediate availability of mass media. Our children have become easily bored consumers with little drive to understand what makes their toys tick. I know that some may consider that a gross generalization but in many ways it rings true.
That’s one of the things I like about the Raspberry Pi project; its original intent was as a learning tool for anyone of any age, but especially accessible to youths of today. I really wish groups like the Boy Scouts and Girl Scouts would seize the opportunity to use it as a bridge into the modern world of hobby computing.
To be fair with the current generation, i would say that it worked always that way.
Only a very, very, really small segment of the total population ever bothered themselves to understand how anything works unless obliged by their professions after they come to age, regardless of the generation.
The difference today is that, as a kid, you have more “off the shelf” fun, as long our parents has the money. I kind of envy the current gen of kids, because even as adult, i want to play with some of their “toys”.
Morgan,
+1
I learned so much myself because we had friends that ran a computer business. I worked there (albeit unpaid) while I was in high school. I was able to build my own machines from parts because of that experience.
I wonder how many families there are today who don’t have a user programmable computer in the house at all? Modern tablets and xboxes aren’t anywhere near as good at teaching technology, they are far cry from the likes of one laptop per child, which encouraged software tinkering rather than prohibiting it.
That’s great for you, but the vast majority aren’t in your shoes. Being personally familiar with it, the American school system fails completely at teaching anything even slightly complicated. For example, even though I was put on a “fast track” for math I was never presented with the math to do 3D work. My highschool didn’t even offer linear algebra! I probably could have done the electronics courses in high school to learn to design circuits, but that option certainly wasn’t available before that, meaning at best the school system started offering this kind of stuff at 14 or 15 (at 8 they were still trying to teach multiplication!)
You’re asking too much from education system. If you want to learn something, nobody can stop you (except religion issues). At 16 a lot of my friends were fluent asm coders.
For example, even though I was put on a “fast track” for math I was never presented with the math to do 3D work.
The base “math to do 3D work” could be learned in a several days.
Why didn’t you tried to open a book at least?
Edited 2012-10-28 15:44 UTC
viton,
“You’re asking too much from education system. If you want to learn something, nobody can stop you (except religion issues). At 16 a lot of my friends were fluent asm coders.”
I was too, but times are changing. I think there’s a lot schools could do to improve education, but most districts here are suffering from spending cuts that have occurred throughout this decade.
Then there’s the spread of personal computers like ipads which cannot be programmed directly like the computers they’re replacing. Many families still have access to unrestricted computers, but I worry that alot fewer will have access to them in the future going by today’s trends.
I hope strict Apple/WinRT policies will be softened one day. But on Android there are no restrictions like this.
The natural “restriction” of coding on touch screen-based devices is the usability of current development environments. Keyboard/Mouse requirement is a rather poor solution. There are interesting concepts like “Lisping” nevertheless.
The problem actually is only with native apps.
Right now web-apps development is possible even on iPad, and it will play a significant role in future.
If only WebGL worked on it… (Without JB)
Now you can write almost anything in javascript – like web-“operating system”, WebGL game/demo, retro console emulator, graphics editor, etc
Even if you want to feel really “old-skool”, there is something for you: http://bellard.org/jslinux/
There are some online IDEs like http://coderun.com/ide or http://cloud-ide.com
The same could be done for native apps, where you can write with any device you have, build and test your app on several target devices at once with realtime video-feedback, then submit final build directly to your dev account. But I expect Apple’s “SchutzStaffel” will tear such a service apart ๐
Edited 2012-10-28 22:43 UTC
viton,
“I hope strict Apple/WinRT policies will be softened one day. But on Android there are no restrictions like this.”
I can hope so too, but I don’t think corporations will be willing to secede their control especially once they’ve become entrenched middlemen. It’s why I believe it’s so important to resist them today.
Android is one of the more open platforms, but it’s not all clear sailing there either. Some carriers/manufacturers prohibit sideloading on their android devices, although I’m not sure how widespread the problem is. B&N forces nook users to use their marketplace, even if their effectiveness might fall a bit short. I know AT&T was restricting sideloading on their android devices.
http://liliputing.com/2011/11/how-to-sideload-apps-on-the-nook-tabl…
http://androidandme.com/2010/03/news/dell-aero-continues-atts-lockd…
My information is dated, if anyone knows of a matrix that shows the current status of which devices/carriers allow/prohibit android sideloading, please link it!
Sideload Wonder Machine is software that uses a host to subvert the restriction using android’s usb programming commands.
http://www.androidcentral.com/sideload-android-apps-all-you-want-si…
“The problem actually is only with native apps.
Right now web-apps development is possible even on iPad, and it will play a significant role in future.”
In the context of our discussion regarding technology access and education, does having web resources make up for the lack of local development capabilities?
Luckily many households *still* have full computers such that kids who are inclined to tinker with technology at home can, but the trends show that full computers are slowly/quickly being displaced. Does anyone know to what end?
Speaking for myself only, my ability to learn about assembly, libraries, io, interrupts, graphics rendering, code generation, etc, would have been severely impeded if my parents had bought me an ipad back then (throw in a keyboard for typing) instead of a computer.
Edited 2012-10-29 05:15 UTC
Well, that’s exactly what Raspberry-Pi for.
viton,
“Well, that’s exactly what Raspberry-Pi for.”
I suspect it’s harder and less rewarding than learning to program applications on computers as we did. Never the less I’m sure the raspberry pi is a fine device to learn the niche of embeded programming. In the context of our discussion though, can a kid program a raspberry pi with a stock ipad (*)?
On a related note, there still aren’t any US distributors carrying the Raspberry Pi. Farnell’s website will ship internationally with a ~50 day lead time. Alliedelec shows zero stock, which as far as I can tell has been the case since the Raspberry Pi debut. Supply hasn’t kept up with demand.
* Edit: If yes, I’d be interested in reading a link about that!
Edited 2012-10-31 02:00 UTC
How is it too much to ask the education system to educate people?
Of course, the bigger issue is that the school system makes everything boring. If people are discouraged (as I was) then there’s no inclination to “open a book” to learn more. Nor does it help that the education system doesn’t even point people in the right direction. It doesn’t matter if a subset of linear algebra can be learned in a day, if you don’t know that that’s what you need to know.
You can’t teach people everything they need to know.
I don’t know western education system but IMO the point of education is to show _how to think_ + some baseline knowledge.
Who defines the “right” direction for every given individual?
This is a really lame excuse. Now almost any information is a couple of clicks away.
No, you don’t have to teach them everything. You only have to actually teach them something. Further, that something should indicate what else is out there.
The definition of “right direction” is really very simple. It’s the information necessary to find the information you want/need. In an education system this means you at least need to offer a class on every topic. This usually doesn’t happen until high school (and even then it’s usually done poorly.) So even just expecting people to know that they might want to learn about programming is completely unreasonable.
Lastly, not knowing what you need to know isn’t an excuse. Let alone a lame one. It is simply impossible to perform a search for information that is undefined. It doesn’t matter if the information is easy to learn or if it is widely available. If you don’t know what you want to learn then you can’t learn it.
What information? How to use search engines?
Are you trying to say that people are so dumb that they can’t even made a basic logic conclusions?
So even just expecting people to know that they might want to learn about programming is completely unreasonable.
I don’t talk specifically about programming.
And I can’t even believe in the existence of human who lives without any interests. I’ve never met such a people in my life.
Are you live in total isolation? Did you see that people around (the globe) are doing?
I believe that something even our imaginary “human without any interests” will find interesting.
That’s perfectly fine.
You’re either feel hungry, or not.
Edited 2012-10-30 01:21 UTC
The information depends on the topic. This really isn’t that hard to figure out.
Programming was just an example (one that’s relevant because it’s what the article is about.) It applies to anything. If I’ve never done something then I can’t know whether or not I’ll like it. If I’ve never heard about something I can’t research it (and nor can I know whether or not I’d like it.) This is very straight forward, why are you having issues understanding?
You don’t have to live “in isolation” to not know about something. Nor do you have to be a “human without any interests” to not know what other interests you might have.