Fully Functional 1KB Hard Drive in Vanilla Minecraft
imgur.com
imgur.com
The delay is faster too - 1 redstone tick / 4 bits, or 40 bits/sec per line, as opposed to this implementation's 1 bit / 8 redstone ticks / line, or 1.25 bits / sec / line. (Note that this implementation of piston tape is decidedly suboptimal: the maximum is actually 3 bits / 4 redstone ticks / line = 7.5 bits/sec/line, as you can actually check for 8 different block types (glass / solid / sticky/non-sticky piston facing 3 directions) and you can make a faster-resetting piston loop.)
The biggest issue with comparator delay-line memory is that there's no way of pausing it.
There's also a way of storing arbitrary amounts of data per block, and that's to use the fact that items with NBT data will stack only when their NBT data is identical. The easiest way to see this is to try to stack renamed items, but there are others. You can make a hopper or dropper chain and encode data in which line which enchanted item is in.
I have yet to see a practical implementation of the above, though.
It's non-volatile sequential access memory - which, in my opinion, is the same category a hard drive falls under.
Repeater delay lines used to not, but that bug was fixed.
Can command blocks match items on NBT data or chests on their data?
Use an item sorter.
An item will stack with another item if they are identical, which includes NBT data. Using an item sorter you can detect this.
For anyone else thinking about the problem, there are two processes that could be used by item sorting to do processing:
1. You can use the stream of items through a pipeline (if deterministic enough) to encode a bit of strings. You can do this without enchanting, because you only need two item types.
2. You initialize an instruction decoder and have it sort the item based on type, which then triggers a command block to decode the instruction further.
"Practical" is of course used here in the loosest possible sense :)
That video on their main page is mind-boggling to me.
I have a friend who's a regular on that server, and he would occasionally explain to me things like how they take advantage of how Minecraft's redstone handling works to shave precious ticks off the latest ALU design's return time, or how they created a fully vanilla-compatible "internet," to pass data through wires between different people's machines.
They've got mods set up to copy and paste blocks, so you can build modular systems out of components and avoid repetitive block-placing, but AFAIK, everything else is vanilla. It's incredible.
http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...
In "Code," Petzold makes sure to cover the material exteremely slowly so that you won't miss any details, so it may get boring for some, but I would also read Code if you have the time and interest.
http://www.amazon.com/But-How-Know-Principles-Computers/dp/0...
http://www.amazon.com/The-Elements-Computing-Systems-Princip...
edit: $30 I guess, still worth it.
"Programming From The Ground Up"
http://download-mirror.savannah.gnu.org/releases//pgubook/Pr...
We just have to remind them when they're older and are running things and building amazing stuff that it's NOT OK to blow up other people's stuff with tnt.
I've never understood why people think gaming or play ever forms the justification or basis for learning. Decade of nonsensical "gamification" studies has had zero effect no matter what Jane McGonigal says.
Might get an interest or passion going but it has near-zero lasting educational value.
http://en.wikipedia.org/wiki/Overjustification_effect for a summary
And quit downvoting.
And yes, you can take apart a cell phone or a tv or whatever. But the risk:cost ratio isn't nearly as favorable as it was for the previous few generations. The chance of irreversibly breaking it is far higher, and the chance you'll learn very much by just looking are much lower. Likewise, nobody's stopping you from wrapping wire around magnets to make your own memory... but it's not like that's a "thing" kids get exposed to now. But it's all there in minecraft.
(It's also seriously hard to find children's science kits worth buying as the culture of extreme protection of children have turned them into junk. This is one of the only frontiers I'm aware of that's open to children (without the guiding hand of a science-mentor) to learn and play and create in this way)
Now it's all digital. Everyone is buying their 7-year-old a copy of IDA Pro these days.
https://www.youtube.com/watch?v=xP5-iIeKXE8
http://www.conwaylife.com/wiki/OTCA_metapixel
Minecraft in Minecraft
It's the perfect way to convey how complicated transistor-level emulation is to design...
I build a better harddrive (with 4 kb storage!) over a year ago, imgur link will follow.
Now to the design problem in this HDD: see that all the blocks are blue in the platter? No way to swap each of the bits without magically creating new green blocks. My hdd solves that problem by having BOTH block types available on the platter. But see for yourself:
I know very little about Minecraft, but if this doesn't work, it pretty much has to be trolling. (No way you build something like this and not notice that it doesn't work.) And then I wouldn't expect them to offer a link to download the map, and I wouldn't expect someone else to say they've got it working: http://www.reddit.com/r/Minecraft/comments/2e0ghk/fully_func...
Although: no need for someone immortal with infinite time and energy to run the simulation, rather lots of people each devoting a small amount of both to it...
http://www.element14.com/community/community/experts/benheck...
http://www.element14.com/community/community/experts/benheck...
[1] http://en.wikipedia.org/wiki/DNA_computing [2] http://en.wikipedia.org/wiki/P_system
The relationships between those not-necessarily related words would need considerable detail for the claim to mean anything.
Play doesn't require results, a virtual world in a computer will never be tangible and is likely used by people uninterested in being tangible, practical things usually aren't involved in playing, it goes on and on.
You confront many of the engineering challenges you'd face (in terms of line routing, timing challenges, design concerns, modularity, etc), but they have simpler and more straightforward constraints because of the different medium.
You're also really unlikely to get results using exactly this same skill set when trying to work with real hardware. The immediate need for programming and complicated tools becomes apparent when you try to grapple with the complexity of modern ICs.
If you're just going to have them blink LEDs using logic gates, I fail to see what you think you're getting from hiding all the logic circuitry in little black boxes and making the parts harder to work with. I've encountered all the engineering concepts (minus some physics concerns) I learned in several quarters of circuit design as an undergrad.
The reality is that Minecraft actually is a very good tool for introducing hardware concepts, because it removes the dependence on understanding software to do something.
(Really, the tooling around hardware needs to be better, particularly for things like FPGAs. Raspberry Pis and Arduinos are making good inroads.)
http://kotaku.com/5895191/someone-built-a-working-scientific...
You'd create parts of the hardware in Minecraft, then use MCEdit to copy and paste those parts.
Minecraft now has so many more features and block types. But I miss some of those features, and building large scale structures is much more difficult.
http://upload.wikimedia.org/wikipedia/commons/4/4e/Eniac.jpg
I have a little Robot Odyssey experience where it would loop forever between inconsistent states. However that design is not perfect either, it's still much better than this in my opinion.
The interface is quite nice though.
Minetest [0] has some scripting ability, utilising Lua.
/Working with PCIe flash memory products, so getting a kick..etc..
//Sorry
Awesome job.
There is vanilla and then there is vanilla with command blocks.
They are getting closer and closer to modding and are almost like an in-game programming language.
For example, here [1] is a command block command that procedurally generates giant oak trees [2].
There was a fad of endless loop tapes in the 80s... Exatron stringy-floppy. That is probably the closest physical analogy. Think "cassette tape interface" with electrically controllable R/W on an answering machine cassette, all conceptually of course this isn't how it actually worked. It had nothing to do with a floppy other than storing about the same amount of data, very java vs javascript like.
It wasn't that long ago that "hard disk" meant "3.5 inch floppy disk" to many people. Pedantically speaking, they were wrong, too, but the little floppies were hard to the touch and they did store files. It made sense.
It's a triumph, in a sense, that so many people are at least able to grasp the function of this invisible machine (the hard drive) even if they aren't using the term in an engineer's excruciatingly precise and correct way.