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

The intro to the article notes that this was based on a design by Waveform Processing, which was run in part by the late Ray Wilson who was the man behind MFOS! His site even hosts the instruction manual for the WP-20: https://musicfromouterspace.com/analogsynth_new/THE_CAVE/WP2....


I’m fairly sure that “wallball” played in most elementary schools around the US is a different game than what is being referred to here. Growing up in New England, what we called wallball involved throwing a tennis ball against a wall and attempting to catch it before someone else, while the NYC handball/wallball is closer to racquetball, but played outside against a (usually) freestanding concrete wall with palms used instead of racquets.


RGB are the primary colors used in additive color mixing, CMYK are used as the primary colors for subtractive color mixing which is used in offset printing and similar processes.


In reality, artists often use different base colors anyway. One way to do it is to have 2 versions of the base colors, one warm, one cold. The reason is that for example a greenish blue like Cyan would make it harder to mix vivid violets (by adding a red on the other direction of the color wheel). So you use a greenish blue (Cyan) and a redish blue (e.g. Aquamarine), a blueish red (e.g. Magenta) and a yellow-ish red, and so on.


The "Library organization" section [1] explains that the json65.s file is the core of the library and the only code necessary to build the library. The additional C code provides a handy tree structure and a callback to pass to the parsing engine.

However, because SAX is a callback-oriented parsing method, you can design your own data structure and write your own callback functions and do without this tree structure.

The additional C code provides similar nice-to-haves, such as string pool interning, a function to print out the aforementioned tree structure, and a wrapper function to parse json from a file.

[1] https://github.com/ppelleti/json65#library-organization


Jonesforth [1] is a classic example of this, and a really good example of “literate” code.

[1] https://github.com/nornagon/jonesforth/blob/master/jonesfort...


`mv` is defined on the same line as `ma` is, right after the five `#define`s.

`pr` is on the last line before the only line break.

It's a pretty dense program to walk through, but not as completely impenetrable as I first thought after taking some time and making notes as I went.


Not the GP, but I'm currently working on a small web app that synchronizes data from 2 other web services, which means that almost every endpoint involves a call to an external API. In some cases, it involves repeated calls to those APIs, but the order in which the responses are received is unimportant, which is an ideal use case for asyncio's gather function. Using a framework (I haven't tried Django's new async views yet, but am using one of the handful of Flask-ish async frameworks) that supports async views has made this a snap, whereas before I would probably have used some sort of out-of-process work queue type setup.


That's where I assumed the comment was going as well, but it's actually not really about brace style at all. Rather it's about "if style" which is a much more interesting discussion (at least as applied to C error checking).



The authors expanded this article out into a full book of the same name that gives each strip deconstruction (as well as a handful that don't appear in this article) a full two page spread. It's definitely worth picking up if this article appeals.

Also of interest is "Music from Nancy" [1], a performance based on an algorithm where the composers created an overlay that they could place over any Nancy strip to turn it into a musical score.

[1] https://www.youtube.com/watch?v=QkX2-LncA0M


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

Search: