Hacker Newsnew | past | comments | ask | show | jobs | submit | unwind's commentslogin

Meta: confusing typo in title. Mods , please fix penciN -> penciL. Thanks.

Fixed, thanks!

Can you elaborate on how it detects and signals if it runs out of output buffer space? I couldn't see how the amount of available space was even communicated to `fc_enc()`.

Also there some "C icks" (to me, I'm very picky and used to know the standard awfully well from answering many SO questions) that you might want to look into. The two I remember now are the casting of `void` pointers from allocation functions, and (worse) the assumption that "all bits zero" is how a NULL pointer is represented.



Meta; typo in title, should be "learNEd".


Quality *Learing* Center 1-800-FRAUD


This is fantastic, thank you for doing this. I hadn't thought of the poor Jaguar in ages! Heh.

Found a tiny typo, this sentence from quite early (page 17):

Notice how apparently wasteful this file format is: some of the triplets contain only byte.

I think the word "one" is missing before the final "byte".


Fun post! Very happy to see a 20-something year old find and fix bugs in an X11 wm from before they were born. Gives me hope.

There was some kind of editing snafu though, the loop header in the big (first) code block reads:

    for (i = 0; i < 10; i++, nuke_count++)
But the references to it in the text, and updated versions in the patches, show it as just

    for (;;)
That was confusing me a bit.


In the article just before that code:

The loop is of paticular interest to us. Abridged:


How about "R, G, B Mars" [1], then?

[1]: https://en.wikipedia.org/wiki/Mars_trilogy


As a ultra noob in the art of knotting, I liked this when I stumbled over it a few weeks back. I agree that for newbies it would be even more instructive with smoother flows, I guess they're held back by the animations being photos and not, well, animations.

I also have read their backstory/naming thing [1] several times but I still don't quite get it. I first thought they were related to the historical Grog, but that was a misunderstanding. I think.

[1]: https://www.animatedknots.com/grog-story


Meta: This is a very messy title, it should just be "The minichord: a pocket-sized musical instrument" or something like that. We have the github info in the auto-generated blurb right after the title, after all. Thanks.


Reasonably, that language is MicroPython [1] which is the special pared-down version of Python for memory-constrained embedded targets.

[1]: https://micropython.org/


I couldn't quickly find a comparison table or similar, to see what parts of Python are not supported by MicroPython. So I asked an LLM and it listed quite a substantial amount of modules of the standard library, that are a shame not to have. No logging module? No multiprocessing? No json, no xml? And the list goes on, including many very useful modules. One can probably somehow get by, installing third party libraries, but then what is the point of being MicroPython, if you need to install tons of libraries to do basic things like reading a JSON file? And as I am currently working on a tkinter application, tkinter being on the list also makes me think: "What a pity, cannot port that to MicroPython."

This is just my first superficial look at it and it is also based on LLM info, which doesn't have to be correct, but if it is correct, then it feels a little disappointing.

Perhaps for more serious app development, it would be good to have real Python and interface with MicroPython for the hardware controlling stuff.


Always double-check an LLM, particularly when it's just a quick(er) search away:

https://docs.micropython.org/en/latest/genrst/index.html

Specifically: JSON is built-in, logging is available. There's no multiprocessing (it is designed for a micro, after-all - and note that thread is available on some ports), no built-in XML lib.

Be sure to check micropython-lib, the MicroPython Awesome List and mim for others.

https://github.com/micropython/micropython-lib

https://awesome-micropython.com/

https://checkmim.com/


MicroPython is primarily for embedddd devices with on the order of 1 MB of RAM and FLASH. And applications which makes sense with such constraints. If you have hundreds of MB of RAM, better to just use CPython.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: