Raspberry Pi Zero vs. Elliott 405
spinellis.gr
spinellis.gr
In 60 years, archives and museums will still have great primary-source information on the Elliott 405 and its contemporaries. Will the same be true of the Pi? It's easy to focus on the smaller, cheaper, faster, but it must be realised that a significant amount of openness has been lost; and not merely because computers have become more complex, but also because there are commercial interests strongly discouraging us from understanding the details of how these machines work.
http://www.farnell.com/datasheets/1521578.pdf https://www.anaren.com/airforwiced/sites/default/files/temp/...
That's where they get ya.
"8 GB (typical micro SD flash card - not included)"
Which one's the better value now, huh? (I mean, given it's no PS Vita memory card, but still ...)
I'm sure you could get some sort of keyboard as an accessory for later models, but it certainly didn't come included.
I remember reading somewhere that the bandwidth of the optic nerve is about 10Mbit/s. Given that we've had 10Mbit/s Ethernet for years, couldn't it be said that we already have the hardware to build a display that is indistinguishable from reality, and it is now "just" a coding problem, in that if a 10Mbit/s stream contained exactly the right information the brain would interpret it as reality?
http://www.idi.ntnu.no/~gunnart/MTP/volum2_session4A_ocr.pdf
The first paper in the document.
That is, unless you're talking about injecting that data directly into the optical nerve.
The eye has significantly more bandwidth than 10Mbit/s - it's "reality" in front of the retina, (say, 20-30K) a bit above 8K at the retina (rods/cones), and almost the same in the optic nerve.
We can see/study data directly on the optic nerves now, and understand pretty well how common aberrations or deformities affect the retina.
However, in terms of the accessible hardware I think we already have that practically limitless supercomputing power in our hands. The paradigm shift is in the realisation that "your computer" is a device that computes things, regardless of where it computes things, rather than being the beige box in the corner. With a little code and enough cash I can access millions of CPUs and terabytes of RAM from my phone. The fact that computing power isn't actually in my phone doesn't matter in the least.
The computing revolution is the network, not the CPU.
It's a pity that the networks we currently use cannot be guaranteed to be secure and that there is strong emphasis on undoing decades of good work in microcomputers by shoving data to the other side of the world instead of using it locally!
Further into the future it's possible (although unlikely in my opinion) that we could use a mesh network to relay signals along series of other people's devices until it gets to a place where there's a connection to a cell tower available. The power requirements would be a problem, and there's the issue of data privacy, but it's theoretically possible.
We won't ever have a 100% coverage (with a free roaming and all that). It's impossible.
> Underground metro systems will need cell towers
You'd have to wait few more centuries for this to happen. They still can't get rid of the signalling system from the 1890s.
> Alternatively, tube trains could have their own wifi that connects users to the internet.
They can't even consistently communicate with the train drivers at the moment.
> a mesh network to relay signals along series of other people's devices
In a middle of a desert, in an open ocean, in a taiga, on a spacecraft light seconds away from the Earth?
No way. We still need to cram as much compute power into as little space as possible. All the cloud fancy stuff is nowhere near a substitution for it. And no network improvements would ever overcome the speed of light limitations on latency.
I'm sure there'll be edge cases where it won't work and we'll need other options. That's fine. It doesn't detract from the point that having a connected device that can access a cloud computing platform is exceptionally useful in 99.99% of cases. I'm not suggesting that means we can stop all mobile device innovation.
This is exactly the unfortunate attitude of most of the mobile apps developers. Exactly the reason why I can't use most of the apps, even the high profile ones like the BBC News. They must understand that it's not anywhere close to 99.99% of cases, that a good connection is available more like 10% of an active time, and, therefore, a great deal of caching and prefetching is mandatory. If most of the time most of the functionality of my mobile device is not available I'd rather stick to the tiny subset that is available consistently and ignore the rest.
And I suspect that most big cities got a similar patchy coverage pattern as in London.
Maybe although if you look at Kurzweil's graph, and he may be cranky but I think his data is fairly ok, things have been speeding up in terms of computing / per dollar. https://www.youtube.com/watch?v=JIw8CQB8prg&feature=youtu.be...
I don't see much reason why that can't continue. Some things like clock frequency hit limits but a Raspberry Pi equivalent was roughly $25 a couple of years back, $5 now and could be $0.0005 in the future.
Same here. I was thinking about how many CD-ROMs it would take to store a certain amount of information, as a measure of just how much data something amounted to. Then I thought that with microSD cards, the same amount of data would sound much less impressive.
That's 200 x a billion x eight.
For the Pi Zero, it is 0.000000005 dollars per cpu cycle per second.
Elliot 405: Used to run business calculations
Pi Zero: Used run a sprinkler system
What has been really interesting to me over the last several years that these stick computers have been around is how people are using giga-Hertz range processors with an huge operating system and truckloads of memory for stuff that's easily done with a small 8 bit processor with K's of RAM vs G's of ram and a simple time-sliced tasking mini OS written in an afternoon.
Don't get me wrong, it's great that one can buy a computer like the Pi Zero for $5. I'm afraid something is being lost in the process. Maybe it doesn't matter. I mean, if one can get something the size of your pinky that cost less than coffee at Starbucks to run Linux...
You don't need a memory allocator, file system or scheduler for an 'OS' that runs a single task.
I used to point out to people that the control algorithm they were so laboriously writing on their PIC/AVR (now Arduino...) could be replaced with a 20 cent transistor and a handful of diodes and resistors. For exactly the same reason: the overkill bugged me and I was bothered that "kids today" weren't learning things "the right way." Then I began to shut up because I realized I was looking at progress. We don't need experts in analog electronics to build basic control systems: a web hacker who learns C can handle the simple stuff (emphasis on simple).
Likewise, I now find myself telling others to forget about building 555 timer circuits or elaborate digital contraptions to sequence their LEDs and relays and just buy a $5 Arduino Nano and get it done in a few minutes.
It's progress!
If you have a little more time, setup a FIFO a linked list or some other structure and have the keypad scanning routine issue messages that are then picked-up off the FIFO by a separate message processor routine that parses them and acts accordingly. In other words, not tasks can send each other messages through a very simple mechanism.
And now, with that in place, you can modify your serial or USB port handler to also allow you to place the same messages into the FIFO. What you've just done is enabled full remote control of your sprinkler system with very little code.
Now sensors (rain?) can also insert messages into the message loop and make things happen.
Change the LED routine to pick-up "LED" messages of the loop. Now you can control the LED's remotely through your serial port.
Then you get a little more ambitious, buy one of those Digi modules that turns an Ethernet connection into a serial port and write simple code that allows you to have said module insert messages into the message loop. Now you can control your sprinkler system from any network location at home.
Not that hard at all. No need for Linux. Just start with a 1 ms timer interrupt and the rest is easy as pie.
By throwing a server-grade OS at controlling a sprinkler system people are not learning the most basic things about computing.
With a microcontroller, you can have a pretty much complete understanding of the whole machine.
All you need is a basic knowledge of C, and most of the people who would solder stuff to a Raspberry Pi already have that or are willing to learn.
Say you're making a thermostat. By convention, you leave address 0x0 empty, since dereferencing the NULL pointer is bad form :) At address 0x4 you have a int containing the target temperature. At address 0x8 you have a int containing the current measured temperature. Your whole app uses 8 bytes of memory, plus a few more for the stack.
You write a loop. It reads a few GPIOs, updates those two values, does a bit of logic to decide whether to turn on the heat, then writes one more GPIO to turn the heater on or off. GPIOs are "general purpose IO", metal pins that can be individually set to, say, +5V or 0V.
The beauty of this is that if you write it cleanly and debug it and test it once, it will work perfectly forever.
It will never throw up a popup that says "a new version of Ubuntu is available". It will never ask you to download 80MB of Java. It will never auto update. The server will never go down, because there is no server.
It feels totally different from typical software development. You're writing a bit of C, but you're not making an "app" with all the complexity and flakiness that entails. You're creating an embedded device.
And a wise man once said... "Hardware eventually fails. Software eventually works."
---
PS, here's a fire alarm that runs Linux. https://www.youtube.com/watch?v=BpsMkLaEiOY
Complexity is cheap now. You can get a full Linux PC with systemd, X11, Gnome, DBus, Java installed, the full works for $5 and in a tiny form factor. You could make a thermostat that way---but just because you can doesn't mean you should!
I've proposed the idea that the price of everything in the supermarket be averaged per unit weight, checking out then becomes just a matter of weighing the trolley / basket.
I see complications / gaming the system, fun idea though.
Maybe just knowing how much you spend per average kg of food, or per unit of energy, could be a useful metric for optimizing food expenses.
Central banks are targeting inflation, which slowly robs the saver of purchasing power.
Areas with high government regulation and control suffer from price inflation, where you get less and less each year for the same money: healthcare, education, war.
If you could choose between 1970s treatments at 1970s-equivalent prices or 2015 treatments at 2015 prices, which would you choose? I would definitely choose modern treatment every time.
As for inflation, as long as demand outstrips supply (even just because of population growth), we should expect some inflation. The problem is that when deflation occurs it generally means underlying economic issues.
You know the iPhone you buy today will be much less next year, but you still buy because it serves a purpose for you now.
They only type of spending perpetually lower prices would probably decrease is speculative buying. If you don't need a particular good now, you may wait knowing the price will fall. But this is also a good thing.
Apple keeps setting iPhone sales records. Your examples, I would argue, are a good thing. People buy only when they absolutely need these goods, not because they are afraid they need to buy in excess now because their savings is going to lose value relative to the cost of these goods. They get full use out of the goods they purchase. Less wasteful spending, and wasteful use of resources needed to produce them. Moore's law illustrates that the cost of computing power has continually fallen. The industry has certainly not suffered because of this, would you agree?
So without putting to fine a point on it: The tech industry is as healthy as any in the entire economy. And yet, prices fall faster than just about any other. Consumers unambiguously benefit from these falling prices. Keep this in mind when economists or politicians sing the praises of "mild" inflation. This would certainly benefit governments who want to run a deficit and spend money they have to borrow. But I'd argue this does not benefit the consumer.
Thought experiment: will you plan on spending more on discretionary items (entertainment, vacation, home remodeling, investments, whatever...) if you anticipate / observe rising prices on staples such as food, healthcare, rent/mortgage, gas, utilities, etc?
Or, will you spend more on discretionary items if you anticipate / observe falling prices on those same items? Your available budget will be greater and of course your spending will increase in these areas if you have more money to spend. So the utility, or benefit you receive as a result is clearly higher.
Debtors benefit from rising prices because they can pay off debt with cheaper currency. So, as previously mentioned government, the biggest debtor, promotes inflationary policy.
Anyways, the reason deflation is worriesome is that it is downright lethal to anyone with debt.
Just look at the great depression and its deflationary death spiral. Companies were dropping prices to try to sell anything at all, but the debt was ratcheting up faster, and to they keeled over in droves.
Compared to that mild(!) inflation is preferable, at least as long as wages keep up. This because debt is rarely inflation adjusted, and thus gets easier to manage over time.
Note thought that the only examples of "hyperinflation" are more likely to have been foreign exchange related. This because in both cases you were dealing with nations with little to no exports, and massive foreign expenses.
For a CPU like that of the Zero (ARM11), we're talking about at the very least upwards of 100 million transistors on a single chip. Only by simulating the design can you actually catch that single incorrectly biased MOSFET. Think software debugging, but on a whole different level. Then you have all the other components on the Zero responsible for tasks ranging from power management, networking, graphics processing, clocking, sound processing, and so on.
Price: $5 vs £85,000 (1957)
Amazing technology advance!
I think - leave history to historians.