nand2tetris
wasi-filesystem
nand2tetris | wasi-filesystem | |
---|---|---|
9 | 3 | |
0 | 150 | |
- | 6.0% | |
2.4 | 7.1 | |
11 months ago | about 1 month ago | |
Assembly | ||
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nand2tetris
- From Nand to Tetris: Building a Modern Computer from First Principles
-
Filling gaps from a non-CS background
It sounds you are asking about CS fundamentals. I recommend https://www.nand2tetris.org/
-
16-year-old Looking For Guidance
A few resources which you may want to check out, in roughly increasing order of difficulty:
- Free Code Camp: https://www.freecodecamp.org/
- CS50: https://cs50.harvard.edu/x/2023/
- How to Design Programs (HTDP): https://htdp.org/
- Nand2Tetris: https://www.nand2tetris.org/
These are geared towards making you a better programmer in general, though it won't necessarily bring you closer to an AI/ML career.
Also, math is pretty important if you want to get into AI and similar things. Even otherwise math is important; don't listen to people who say you can get by without the math! So, try to get a head start on probability, calculus, linear algebra etc.
Good luck!
Gosh, I'm embarrassed about what I was up to when I was 16.
-
I am confuddled
it may also help to see exactly how these numbers we've represented using circuitry are used by a computer. if you want a hands on approach, the projects in this book are the best intro to the inner workings of a computer i know of. this channel is also good: https://www.youtube.com/watch?v=wvJc9CZcvBc
- Next steps for learning after finishing the game
- Par où commencer le bas niveau ? (Programmation)
-
The Worlds First FPGA N64
Diligent makes several boards for three educational market, prices in the sub-$200 range. (And the devices are small enough they can be used with the no-cost version of the AMD/Xilinx toolchain.)
https://digilent.com/shop/fpga-boards/development-boards/int...
For online courses, I've heard good things about Nand2Tetris but have not tried it myself.
https://www.nand2tetris.org/
-
How to start from scratch.. legit base zero
I've also been through the nand2tetris course as well with the accompanying textbook, and it will make you learn how a computer works from the ground up. You will need to learn some programming language before completing the second half of the course, though.
- Reaching the Unix Philosophy's Logical Extreme with WebAssembly
wasi-filesystem
-
Reaching the Unix Philosophy's Logical Extreme with WebAssembly
Wasi co-chair and Wasmtime maintainer here: we agree! Wasi Preview 1, which this article is about, was a first attempt at porting some of these Unix ideas to Wasm. We found pretty quickly that unix isn't the right abstraction for Wasm. Not only is it not really portable to platforms like Windows without reinventing a compatibility layer like cygwin, it also doesn't really make sense in a Web embedding, where users end up implementing something like a unix kernel in Javascript.
Wasi Preview 2, which we are aiming to launch by the end of the year, rebases Wasi on the Component Model proposal, which enables composition of Wasm programs, including those which are written in different languages, and which do not trust each other. Wasi is now specified in the Wit IDL, which has a strong type system for representing records, variants, lists, strings, and best of all, external resources, including sugar for constructors, methods, and destructors.
Instead of basing everything on the filesystem abstraction, the core Wasi primitives are the `input-stream`, `output-stream`, and `pollable` resource types, for readable and writable bytestreams, and a pseudo-future (you can `poll-oneoff` on a `list` and it will block until one is ready, and return a `list` indicating the set which are ready. `wasi:filesystem/types.{descriptor}` is the resource for files, but if you need to read, write, or append to a file, you can do so by calling a method on `descriptor` that returns a `input-stream` or `output-stream`.
We are closing in on shipping Wasi Preview 2 but its not quite fully baked yet - changes related to resources are slated to land in the net few weeks. The spec definitions are on github: https://github.com/WebAssembly/wasi-io/blob/main/wit/streams... https://github.com/WebAssembly/wasi-filesystem/blob/main/wit... . Stay tuned for much more approachable documentation, tutorials, and so on, once we are confident it is a stable target ready for users.
-
The Next Generation of Serverless Is Happening
Forgot the link: https://github.com/WebAssembly/wasi-filesystem#introduction
-
Announcing wasi-threads
Take a look. They've even wholesale copied errno.
What are some alternatives?
Mister64 - wip
lamby - 🐑🛤 Simple Rails & AWS Lambda Integration
WTFpga - 2 hour crash course in FPGAs
n2t-wasm - Emulator for the Hack CPU.
find - URL & local first client side actions for the browser omnibox
component-model - Repository for design and specification of the Component Model
icebreaker-workshop - iCEBreaker Workshop
wasi-io - I/O Types proposal for WASI
MO-Gymnasium - Multi-objective Gymnasium environments for reinforcement learning
web-ide - A web-based IDE for https://nand2tetris.org
sm64 - A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
coreutils - upstream mirror