top | item 24070033

(no title)

bromagosa | 5 years ago

Glad to see MicroBlocks on the front page of HN!

I'm one of the project devs. Feel free to AMA :)

discuss

order

thomasqbrady|5 years ago

Something that seems to always be missing from project pages like this: why? There are plenty of other similar projects that accomplish this, and in the case of the microbit, I can’t even tell the difference between your IDE and the one that comes with it. I don’t mean this in a critical way–I literally mean, “tell me why you. Hilt this. What’s better or at least different about your project? Why might I want to use this instead of the others?”

bromagosa|5 years ago

Actually, there are no similar projects that I can tell of. MakeCode, the "one that comes with the micro:bit", as you say, is not a live language and only works for a couple of boards. It's not even a language, it's a façade for an underlying text language.

To sum up what's different about MicroBlocks:

* It is blocks based.

* It is live. That means you can change scripts in real time while they're running. You can see the result of running any block in real time. You don't have to wait for any compilation/upload cycles.

* It is autonomous. You can disconnect the board at any point, and the program will keep running in it.

* It is parallel. You can run multiple tasks at the same time.

* It is portable. It runs in several boards thanks to our VM approach.

There was no language that did all these, so we made our own :)

vanderZwan|5 years ago

I love Scratch-like programming environments in principle and as an introduction to programming, but dragging blocks with the mouse is tedious. Do has anyone ever tried to design a keyboard-based input scheme that still works in this graphical environment?

bromagosa|5 years ago

In Snap!, GP and MicroBlocks there's a pretty powerful keyboard interface to assemble blocks. I use it all the time instead of dragging blocks. Check out page 115 of the Snap! reference manual here: https://snap.berkeley.edu/snap/help/SnapManual.pdf

Jens Mönig implemented keyboard input for both GP and Snap!, so the same hotkeys will work on both. Since we're using GP for the MicroBlocks GUI, the same will also work on MicroBlocks.

avibryant|5 years ago

How hard would it be to support the Teensy boards? I didn't see any mention of them one way or another in the website.

bromagosa|5 years ago

Hi Avi! Let me first say that my final project at university was about Seaside, and that project landed me a Smalltalk job that marked the beginning of my professional life as a developer. I can't thank you enough!

Regarding Teensy boards, it would have to be version >3.0, because MicroBlocks uses 32 bit instructions and needs at least 16kb of RAM. The Teensy 3.0 just about meets the requirements, and 3.1 exceeds them comfortably.

We don't yet support any M4 MCUs, but we do support a couple of M0s, so I think porting the VM to the Teensy should be fairly easy. I don't currently have one, but I see they're cheap, so I'm going to order one and try to find some time to work on the port :)

If you'd like to, we can continue the discussion over email at interest (at) microblocks (dot) fun.