Yeah looks like my purchase at 10:10 AM which said "100+ ready for shipping now" and said "Ready for Shipping Now" at the check-out page will actually be shipped by 10/26/2012, oh well, not that bad of a wait :)
If you ordered a Raspberry Pi board as part of your order we are pleased to inform you that we have sent you the upgraded 512MB Revision 2 board to thank you for your continued patience.
We're planning on using it to control an entire room… AC via the GPIO, lighting via a USB power relay and TV/Soundbar via HDMI-CEC. Tying all of this into an API to be controlled by iOS apps. Excited!
Humorously, you'll find the CEC part (which was designed to do this) the hardest to get working well.
I've done something similar in my woodworking shed, I have a raspberry Pi that controls the dust collector, air filtration, and some other stuff. It also turns on a nice little colored light when my wife IM's me :)
Also i'm sure you know this, so this is more for others reading the comment, but you shouldn't control anything like the AC directly from the GPIO. You should isolate it.
I know very little about hardware hacking aside toying a little with Arduino.
There is a low voltage hook on the AC system that is specifically designed for this sort of use - although it will probably still require some sort of low voltage relay.
The room has been purpose built with remote control in mind so all of the lights etc have separate switches in a specially designed cupboard.
As for the HDMI-CEC, the only thing we really need it for is volume up/down on the sound bar. This is because the TV itself is a Sharp Aquos which has it's own remote control protocol that works over either IP or RS232 and can do power on/off and source changing. The TV's own CEC will control the sound bar volume with the TV's remote but errors when I try it using the IP/RS232 protocol – hence the need for separate HDMI-CEC. I've been diving into libcec which has now added native support for the RPi and it looks like sending volume up/down is relatively simple.
https://github.com/dandroid88/webmote
I have been working on this for fun in my spare time. Probably not the best fit for what you are doing as my primary focus (so far) has been controlling IR-controlled devices via a web interface. It is still a bit of a hack but it works well for controlling my TV, stereo, xbmc, x10 lights from anything with a browser. I have been hosting it on a raspi and it is pretty fun to play with (turning off my fiance's 'say yes to the dress' from the bathroom).
Good luck with your project.
There was an old Perl based project called Mr. House ( http://misterhouse.sourceforge.net/ ), though it hasn't seen activity in a few years. It tried to be vendor-neutral and (apparently) had voice controls, too, which sounded cool.
I never had the money to set up the hardware, though, so I have no idea about it's actual abilities...
Do you have a blog with your progress? I am trying to do something similar.
So far I got RaspBMC installed and AirPlay for photos and audio works great (not so much with videos so far). I love it that I can turn on the music real loud in the house from my iPhone.
Menus can be quite slow on the Pi, especially if you have RSS enabled, but the GPU is great.
However, there are more folks working with Pi's for HTPC's than other platforms, so i expect a lot of this will improve there, faster.
To put it in perspective, i also have XBMC running on a pandaboard (and pandaboard ES), and it runs amazing on that. So it's not that you need some huge amount of processor power, but at least right now, a little more than the Pi provides.
I love/hate that, in the three months since I placed my order for an RPi, it keeps getting upgraded before I can even get my hands on the dang thing. Ah well...
This is weird.. I placed an order with element 14 and I received the RPi in less than 3 weeks. To be honest I am a little bummed as I got mine less than a month ago .. and I have the 256MB one... Could have done with 512
Farnell (element14) have generally been very good with fulfilment of orders, RS not so much. Got my e14 in 5 weeks (ordered at release), RS one never came after months so cancelled it.
Well I guess I might as well just order a new 512 with element14 (I wish I knew about those guys).
Mine didn't ship at all with RS Components (+4 months waiting) then I complain on twitter to @RSComponents, 3 hours later I get an email from RS saying that my order just shipped... This is last SATURDAY! - so no 512 version :(
A couple hours later I get a reply from RS to my tweet saying: "Our records show that yours shipped LAST FRIDAY".
And now I still have to wait 21 more days until it arrives. Maybe if I order right now from element14, it may arrive earlier?!
In the US, my order from Newark took about two weeks to arrive. My order from Allied took about 3 months to ship, currently waiting for arrival (apparently I just missed the 512MB cutoff by a day).
In many cases you can trade speed for memory or vice versa. For example, a good garbage collector provides better performance than most manual allocators, but needs two or three times as much memory. Likewise, use dynamic programming and cache values extensively.
How do good garbage collectors provide better performance than manual allocators? I'll admit to being fairly under-educated when it comes to garbage collectors, but I don't see how they would improve the performance of manual allocators. Are they faster at the actual allocation, or are they better at layout and cache coherency of the data allocated? I would have thought it would be incredibly difficult to match the efficiency of good manual allocation strategies.
Disclaimer: I work in games, where controlling and managing memory allocations (particularly heap allocations) is critical to maintain low frame times, which is why I'm interested in this.
I think this is largely a myth perpetuated by benchmarks that were faster GC'd than with some system-default badly-tuned malloc. There are gains to be made by copying, generational collectors, and it's impossible to generalize to all workloads, but a basic tenet of optimization is, so they say, that being faster is doing less work. Garbage collectors do a lot of extra work checking the heap, and thrash the cache while they're doing it. Batching a bunch of allocs/frees isn't an advantage exclusive to GC, since any allocator could be easily extended to do the same.
And yes games especially are finely tuned to their allocation patterns. Generational collectors somewhat emulate the kinds of region allocation games do. I know I've read war stories about fighting the GC in for example C# XNA games to avoid random stuttering when collection kicks in. For games you'd want some kind of incremental background collector, but these are kind of like "sufficiently smart" compilers. They work until they hit the case where they have to fall back to stop-the-world collection.
Unless your memory patterns are horribly irregular to the point that they fragment your heap (completely avoided in e.g. console games) and you need to compact memory heavily, non-GC code will just do less work than any type of GC.
Thanks for the response, and everyone else who contributed.
The idea of copying-GC compaction was something I hadn't considered - that's a good point.
For a Game though, I still can't see that being better than a decently tuned manual setup. Not even an expert system; for the android game I'm working on currently it's been quite easy for me to batch up allocations sensibly into regions, fixed-sized pools, and some stack allocators, and I'm far from an expert. A lot can be moved into normal stack allocations (i.e. local buffers or alloca() if necessary) and then you avoid most of the slowdown. My malloc() implementation is pretty naive currently (simple linked list) but it's called so rarely and in such predictable patterns that it's not worth me improving anymore (though there are plenty of ways that I could).
I would be interested to see how well a really good JIT doing escape analysis would perform, I suspect there could be a lot of gains there.
Garbage collected systems typically implement allocation with a simple pointer bump. This is possible because values are moved in memory by the garbage collector, updating references automatically. You can then compact all the empty space when collecting garbage, making allocation easy.
This is obviously faster than malloc which is what people compare with when they say allocation is faster with a garbage collector. Collecting the garbage, i.e. de-allocation, can be more expensive though, since it might require scanning large parts of the heap.
Since games generally use region based allocators , the performance gain is probably very small there. If you make lots of calls to malloc, then the gain would be larger.
But you pay for it on the back side when it comes time to, heh, collect. There was a paper which suggested it takes five times as much RAM for a GC'd program to equal the coorespondng manual-allocator program in terms of performance: Hertz and Berger's "Quantifying the Performance of Garbage Collection vs. Explicit Memory Management".
If you care about performance you will avoid the garbage collector like the plague. Best to write it in C, C++, etc.
But you don't actually save that much CPU and it's certainly not worth having to spend five times your working-set size just to equal explicitly-managed memory in performance terms.
Seriously, if you want cheap allocations use a freaking allocation pool. They're not that hard to implement in C++.
Between malloc and garbage collection is obstack. Allocate by pointer bump and free a complete stack at once. For example, used in compilers for AST nodes etc.
For example, an advanced garbage collector can group the remaining allocations together, reducing the fragmentation and potentially increasing cache hits.
For one thing, it'll make it a lot more feasible to build the linux kernel on the raspberry pi itself. Its already possible, but with the extra RAM, those of us who want to do such things are going to be happy with the doubling of the distcc pool ..
That's both rude and unhelpful, and does nothing to address the original point (that they should focus on availability), which I would tend to agree with.
Sorry, I shouldn't be awake at this hour (See AWS thread). However the number of upvotes I immediately got seems to indicate my subtly suggested solution was quite clear to others.
They could turn it into a partial auction: I.e. allow people to pay more than the asking price. Highest bidder gets paid first. All the excess goes to charity---which could be the Raspberry Pi foundation itself, and thus towards making for Raspberry Pi's available for needy people later on.
The reason Raspberry Pi is famous is not because there doesn't exist another faster or cheaper product, it is because it is the best product for the right price. By increasing the price they risk losing the marketing edge that drove so many to them.
Also, napierzaza: It looks like you have been hellbanned for almost a year now. I din't find anything in your comments to suggest why and I am not sure you realize this since you have been consistently posting informative comments.
The RPi Foundation has said they didn't do this initially because they don't need the money. I doubt they're in worse financial shape now, so it seems unlikely.
Yes. But instead of letting people buy them for the asking price, and pocketing the difference on ebay, RPi Foundation should pocket the difference themselves.
Of course, they don't do this because they want to keep everything simple, and might even get reputational damage out of an auction. Also last time I talked to the guys (HN London), they were constrained by the founders time more than anything else. So they wanted to keep running the foundation as simple as possible.
As for the money: They could always donate to Doctors Without Borders or something like that.
No. They don't do this because that would actually increase the price of the RPi to its (commercial) market value, which they do not want.
Think about it this way: If they auctioned, and people value the Pi to $45, it would be impossible to get it for $35 because the price would never go that low.
However, the way they did it, some people get a bargain (they were willing to pay $45 but only had to pay $35), but some people get it at the intended price (which is still a bargain).
And the probability of winning the lottery of who actually gets one, becomes one that depends on persistence and not on direct monetary expense.
Nice in theory, but doesn't really work on practice, as markets are too efficient for transferrable goods.
Also, it is poor theory for a good with unlimited eventual production capacity.
They could put a serial number / batch number on each one, and sell the first many at a huge premium, and then then pour all those profits into selling later units at a huge discount.
Apparently, it did work in practice for them, starting from the 3rd week or so - most people who wanted one, got it at the official price. The people who wanted one right now paid whatever the scalpers were asking for.
They are optimizing for price=const, which they believe they could support ad-infinitum. Doing what you suggested would cause price fluctuations, if the premium dries up and they can't offer the discount any more.
Sure, there was a short transient period where it didn't work perfectly. But it was short. And now everyone can get one at $35, and would be able to do so in the future as well.
I got a CubieBoard from CubieBoard.org specifically because it came with more RAM and had a faster CPU. So seems RPi is responding well and trying to grow their market.
Just the normal state of affairs for computing hardware. Next year's computers will pack more power for the same price. Only difference is that they didn't give the updated Pi's a new model number. An interesting lesson in consumer psychology perhaps?
I thought that for a moment, but I'm consoling myself with the fact my purchase has helped this happen (in a tiny tiny way). Every cloud has a silicon lining, I have a new toy and unintentionally I did a little bit of good.
Thus, the price of progress. But I'm glad they are in a position to negotiate better pricing on RAM. I assume the volume and high demand allows them to approach any RAM manufacturer from a better position versus when they started as an unknown entity.
that's pretty much always the price of being an early adopter, on the other hand you've had all this time to play around with it which certainly counts as value.
Makes me really glad I delayed ordering mine. I kept putting it off due to site crashes in the beginning, then the wait times. Mine will probably just be a toy so I'm happy letting other people enjoy theirs first. Plus that means they will generate some cool online projects and support I can look at when I start playing with mine.
The Pi would be perfect if only they can fix the problems with USB and isochronous transfers that prevent the Kinect from working. There was mention of work being done on this in the comments, so here's hoping a kernel update solves the USB issues.
Been waiting until my local Maplins get them in (there doing that) and as I prefer to walk into a shop then this might explain why they never got any in end of September. Good news and good move.
On a side note that is marginally related to the Pi. Does anybody know of any electronic stores that run electronics courses/nights to get people/kids/students involved in electronics.
I know that gaming stores sometimes hold tabletop gaming nights which is logical.
It seems to me that Maplin/Tandy/DSE/etc are missing a trick in terms of getting people actually interested in and knowledgeable about the things they sell.
duely noted and agree about the spread of products and there audience now compared to 1980's - certianly was more electrical enthusiast back then compared with the range of stocking junk they tend to have nowadays dominating there stores.
But that said I do feel they will come true on this one as they already taken pre-orders (though going to wait so I can walk in and pop down some hard currency and walk out with one myself) http://www.maplin.co.uk/raspberrypi
But we shall see how history unfolds, you may be right though I have good feelings on this.
Just recalled why maplins went downhill as there used to be maplins shops and tandy/radio shack shops and it was the later that sold the chinz shall we say. Now there is just maplins filling both holes.
Indeed. Maplin are like an Argos these days, except the service is worse than Argos and you have to wait longer to be served, and they have less in stock, and the staff run away when you ask them anything.
Looking at their £69 offer - it does look pretty good actually. If they deliver, I'll be very surprised and would consider forgiving them for a while :)
Tandy - £1 for 5 resistors!! How could they possibly have failed?
On Saturday Maplin's online stock check said there were two starter kits still in stock at Wimbledon - a little over a mile away from me. There had been five in stock a few days before. I walked there and was in time to get the last one. Now there seem to be none left in the London area, and the online site says new stock is due in 16 days. Let's hope the next batch will have 512MB Pis - the Pi in my kit is in an element14 box, but is not the latest board version (not made in UK, no mounting holes).
lucky and unlucky you. Still thanks for giving the heads up that there stock initialy was not the 512mb versions, something I think I'll definetly be checking for when I get mine.
I wonder what they are doing with all the 256MBhard boards they have left. It would be pretty tight timing for them to get all the old units sold at the exact same time.
I ordered 4 today from Element 14, for a project I am working on. I was joking with a friend that I expected that they would ship them in 2013 sometime. And then I got a UPS tracking number in the email later the same day. My jaw is dropped.
Great news though I personaly would prefer to see another ethernet port (yes can add one via USB but not at full ethernet speeds). Would make a brilliant firewall box then and one area I'd love to have one in place.
Just FYI: People have probably downvoted you because your link requires authentication (and redirects non-authenticated users to http://authenticate.rsdelivers.com).
And I'm a bit miffed that my order's just arrived a few days ago, 7 months RS late. So obviously there's a teaching moment there I would do well to learn from. Ooh, fate, you nasty.
I wonder how many orphaned 256MB Model Bs are there floating around with RS and Farnell.
TBH, I wish I would have noticed how absurd the RS situation was earlier. I just put an element14 order in to see which ships sooner. Based on my order number, RS says they'll ship it mid November. Somehow, I feel like I'll be able to cancel the RS order with a pi in my hands.
Awesome news since I've been waiting a very long time for mine to ship!