We bought a few of these for our computing department to test them out. I don't take computing, so had no idea what these nifty little things were until now. Thanks for making a video about them.
As a learning computer scientist myself, there are things I already knew thus far in the computerphile videos but there is always something I learn from them that I didn't know before, or at least I wasn't fully aware of.
lol i have an old windows 98, big, gateway computer siting next to me with the same specs as that Pi. Its weird how fast computing technology has come. I wonder whats next.
There are a couple of things: 1.) Yes, you can get a USB hub. Get a small one that uses very little power, or it won't work. 2.) Get a wireless keyboard and mouse that run from the same bluetooth USB input. The one I got for my Pi is a Logitech keyboard with built in touchpad in place of the number pad. Works great.
It depends what you are trying to learn. I am a computer engineering student and one of the main things we do is low level programing without an operating system, using assembly or c, which is platform dependent. This kind of programing can be used to control all sorts of things and responds much faster than a pc even when it has much cheaper hardware. What makes the Pi confusing and awesome is it bridges the gap between that kind of applications specific computing and general purpose computing.
That's a good point. I use my Pi hooked up to my TV using it as a mumble server, SVN repo, etc. It just bothers me how the Pi is oversold, as if the stumbling block of beginner programming has been hardware, or as if the Pi is a practical home computer for people with little money, or as if the Pi is somehow especially well suited to learn about low-level computer architecture.
This little thing is actually amazing, (for £25) I've programed it to do the job of a £500 PC that needed OpenCV and openGL.. at first I thought it was impossible but it turned out really good actually.. and best thing is that you can program it to run your program right when you plug it on! :) really happy to see this popping out in my computerphile subscription
I should go more in depth with what I meant since you made valid points in other replies about needing a keyboard and such. Most of the things you would need is assume you would have lying around or would borrow from another setup temporarily. a HDTV, a keyboard and mouse from another computer, etc. A Pi isn't meant to be your first computer or one for everyday use. It has a valid market, and can be easily cheaper than a new laptop if you have the essentials that most do
Oh man, using it as a media streamer for your TV sounds sweet. My TV is currently directly connected to my computer via HMDI so I don't really need it, but once I get around to buying another TV it'd be a sweet addition.
I'd love to see a video that breaks down how a compiler works. This could be part of a programming language series. First a basic program, say one that counts from 1 to 100, then how it's compiled to an executable, then how the cpu interprets the binary.
I just ordered my own. $45 in Australia (with a case, 512mb Micro-SD card and shipping) and I can't wait to get started. Tried to order one in January, but they were sold out for five whole months. At that price for a powerful machine, can't blame it..
I personally feel the scope of computerphile has to be honed in. The computer scientists wan't things that can be seemingly over the head of the majority of youtube users - yet I feel a computerphile channel should close the gap between what some would consider computer savvy and computer experts/scientists. Numberphile is a good example of being tailored to those who like math, but not geared strictly for mathematicians. However, mathematicians can still learn and appreciate the videos.
Nonsense. There's plenty to talk about with the lambda calculus that is immediately accessible: the history of it, a description of its relevance today, the role it played in the invention of Lisp (and acknowledging that Lisp is the second oldest language still in active use today, after FORTRAN) It might be better on sixtysymbols instead of computerphile, but Brady does excellent work making the topic accessible! Yeah, Brady!
If you Google "Raspberry Pi Cluster" you will find a number of projects where people are doing just that. Many of the world’s super computers are made from clusters of standard, off the shelf machines working together running Linux and the Pi is becoming a useful educational tool for people learning about the technology. The beauty of the system is that you can learn with the correct software tools as you are using the same operating system.
Just like to say thanks for all your hard work Brady. I know you had to deal with immature children whining about this channel's vids not being complicated enough for their narcissistic selves when they could of portrayed their concerns with more courtesy and politeness. It seems you have struck a level of sufficiency as there is none of that former bickery in this video's comments. As I know they all love to complain but never say thanks, I will do so on their behalf.
It is for learning computers, as it is a very simple computer in and of it self, and it also comes with an official Linux version that included an assembly compiler it is very userfriendly for learning these things, it also got some really good ways for an end user to make his or her own controllers/fun gear. (like the things for buttons, and also the expansion module part that allows for some very fun projects)
done a few xboxes. paste isnt the only problem, its a reflow issue sometimes. if the board flexes and the bga loses connectivity you can overheat it like janis said, but sometimes it'll just re-fail quite quick. proper reflow is the way to go and there are some kind of kits to stiffen the board so the xclamp doesnt flex the board in the future
That is amazing. I guess it shouldn't be, considering that I carry a computer or two (phone and iPod) in my pocket everywhere I go, but somehow the "rawness" of that Raspberry Pi and the incredibly low price boggle my mind, knowing that it is a real, functioning computer.
I agree with both of you... There are just too many things to cover and only some of them are interesting to a particular group of people. I would personally like a channel covering various algorithms and interesting data structures (If anyone knows about one, please let me know), but I understand that majority might find that uninteresting or even boring.
A deeper explanation of what a CPU actually is and how it works could make a good video. It could, for example, explain what machine-code, micro-code, registers, the ALU, pipelines, etc., are, and the difference between RISK and CISC. Most do not know this and it's not that complicated.
You should read up on airflow, and also check your clocking. More fans doesn't necessarily mean better cooling. It's all about getting the air to flow efficiently through the computer, making sure that fresh air goes in in one end (usually the front) and goes out in the other end (Top/backside). If, for instance, you have all your fans sucking in air, your computer will overheat because the heat won't be pushed out.
Musasapientumfixa has a good point about the laptops. XD. But also, yes, microcontrollers are good for projects, but if you want larger scale projects in a smaller size, it still helps A LOT to have more computing power and the ability to code in C++ using all sorts of extra API's that you can import making coding MUCH easier. Frankly, I think it's amazing! I only knew about the Arduino before watching this video, but I had no clue that a whole computer could be shrunken down to that size!
With all due respect, i don't think this channel is for those kind of beginners questions. Perhaps a better question or suggestion is if computerphile can do a video on the history of the CPU and RAM.
yes, my powered 6 port USB hub by Dlink is very compact and also powers the raspberry pi itself via one of the USB ports, thus eliminating the need for another connection to the wall power socket.
You have a really good point. But as a programmer (which from my perspective, you likely are too), I know that you can achieve amazing things software-wise without any knowledge about hardware. But, I think that learning about hardware too is a much healthier approach and can help you when designing and structuring the inner workings of your program(s).
The Raspberry Pi is an epic project, absolutely wonderful. I can't wait to get my 6yo nephews into understanding computers with them. I'm only a bit disappointed that the GPU isn't fully open and documented like the rest of the hardware is. If I had the time I'd like to reverse engineer it so that everything could be open.
One idea that comes to my mind is to create a cluster of these machines, and install a framework for distributed processing on them. So, if you can use say 4, 8, or 16 of these. Add to that a switch to connect them all via network, and try running a distributed app on them. The thing I am wondering about is how well such a cluster could perform compared to a simple server machine in terms of speed.
Due to the way the Raspberry Pi is designed it doesn't generate much waste heat. You can comfortably put your finger on the processor when it's going flat out. In addition the cases are generally designed with ventilation hole just to be on the safe side. I have a Pi and the Pibow case and can confirm it causes no problems.
I use one with RaspBMC. It is excellent little media PC for my living room. It is able to stream 1080p videos from my home server without problems! AWESOME, LITTLE, INEXPENSIVE device!!!
2 questions first, how does this compare to Arduino and second, do you know of anything that could control 270 or preferably 4096 LEDs individually(on or off)?
one other issue - the compile time. atm my favourite arm soc board is odroid x running linaro for $129. it reduces compile time (and in turn development time) but a huge factor. odroid x also has some issues with booting consistently, but more reliable than rpi. it's good to develop on odroid x and deploy to rpi.
that is one of the most mind blowing things about computers. the main thing is that the right numbers get to the right place and it only means something to the right hardware. Ignoring the data, code eventually gets turned into machine code in the form of a .hex file. This code is different depending on the chip it is for. For arm each instruction is 32 bits, that instruction contains an operation code which tells the processor what to do and operands which tell it what registers to do it with.
high-powered desktop computers tend to use somewhere between 100 and 250 watts simply to power the processor, and a lot of that power is lost to heat waste (somewhere between 40 and 70 percent), hence the fans. The RPi uses about 5 or 6 watts total, depending on what it's doing at the moment. Even if 90% of that is lost to heat, it's not going to heat up much.
:) I appreciate the response. My comment was supposed to be hyperbole, although through the internet it's always hit or miss what will properly translate when I try and make use of subtleties (maybe use more smilies?). It certainly isn't a big deal how a word is pronounced, as long as I understand what is said language has done its job. I also never had luck with languages. I tried in high school but could never get a hold on Spanish. Maybe if I move to where it's spoken regularly. :)
I **do** agree with you that understanding hardware is important, I would argue software is (at least a little bit) more important. Hardware enables software, and it is important to understand some gross limits of hardware, but at both the societal level and the application level it doesn't really matter whether the machine is made of silicon, gallium, arsenic, or tinker-toys. Many, many people are able to do amazing things with computers without learning to solder, or even opening the case.
Its not a beginner question if you take some layers of simplification away. There are underlying theories you have to know like performing arithmetic operations with boolean algebra or how quantum mechanics of a field-effect transistor applies to memory cells.
So because it's a commercial product they're not allowed to talk about it? This is a really amazing little computer and they talked about a good amount of the technical stuff behind it.
Blender exists on Windows too though. AFAIK it's equally fast to start on Windows too. And i hear you on multithreaded loading, unfortunately there is a lot that needs to be loaded in order when booting a computer because some things rely on others.
they construct the logical gates with switches. add switches together in the right order and you create a logical gate. construct logical gates (with a timer in the right order) and you can add states. when you have a ton of gates you can construct yourself a CPU. add some RAM and you have a working computer. You store the code in the RAM and construct the CPU so that it can process the code (assembly code).
TBH, the Rasberry Pi really reminds me of my old 386 (ran it on a piece of timber with the FDD and HDD just sitting next to it). Except my 386 isn't as powerful by a long shot and its motherboard was massive in comparison..
I build a RBP into an old broken NES. Dug out the insides of the NES, installed the RBP into it, and build a nostalgic emulator. Best investment I ever made.
Ram is used while running programs etc. Its considerably faster than and SD card. However it does not retain the memory after its powered down. Even your smart phone has ram for actually running things and loads from the SD memory as required.
I just looked up (googled) the power requirements for current desktop processors, and then the thermal efficiencies. I couldn't find anything on RPi's thermal efficiency, but I did find some pretty extensive documentation of its power requirements in watts. You may want to look up cluster computing; it's a good way to use inexpensive computers to get a lot of processing power, but what it gains in thermal efficiency, it looses in complexity, as complexity needs to be managed.
I don't like that you don't get the full datasheet of the Broadcom CPU. There's probably alot of functionality in there that is hidden. I wanted to program the builtin DSP, I asked on the Raspberry Pi forums, but they said that they were not allowed to release the datasheet to the public.
Linux is an open-source operating system, of which there are many versions. It's based on Unix. It's popular among programmers and computer enthusiasts because it is free, open source, highly customizable, etc.
okay, i'm a huge pi fan (when it came out, and now) and it's great to play around with the gpio. i know it's a learning tool, but i couldn't resist deploying it. upon deploying it completely headless, there trouble having it boot consistently. ie, boot fails after 20 power offs and ons, and i need to connect it to my monitor and kb to debug. reliability is my only major issue with the pi. it's probably not built for such deployments as it's a learning tool.
S/he's got a point actually. If you factor in the cost of a keyboard, mouse, monitor, cables and SD-card then the price will be about that of a cheap netbook/laptop. But it does make an excellent (and cheap) low power headless server.
you try computing without hardware. computing comes from the carefully planned interaction between the hardware and the software. if software is an art-form, then hardware is your canvas. some canvas' are better than others. and the hardware lends itself directly to computing; it has to. but just to clarify, were you calling for him to cover programming? or the basic theory behind a computer, like the Von Neumann machine?
The computer board has an HDMI output port. If your monitor has an HDMI input, you just plug both ends of a compatible cable between the computer and monitor and you're set. Or, you could even hook it up to a TV without HDMI with its composite video output.
I think these chips (or something similar) are used in dashboard cameras for cars... They just put a camera in front and load in a simple encoding software.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use.
Its video output is compact video (like the ones for game systems that dont use HDMI), and your monitor most likely uses VGA. You would need a converter for it to work, or just use a television and switch it to AV mode.
It actually is possible, just like it *is* possible to host a webserver on a pi running raspbmc. However, raspbmc is *specialised* in media playback, and for that function, it's interesting to note that such a "modest" machine is capable of 1080p. But regular raspbian will also do 1080p just fine. Although for complex video formats decoding, you might need a MPEG2/VC1 codec, which you can buy for a few bucks from the rpi org (not included in standard price)
I'd just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.