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

Not sure the lynch mob would pause to check that the web of trust is unbroken.


First I heard prof Laine talk about recording auroras in the early 00s I and many of my student friends thought he was an old eccentric (in some less polite words too).

Seeing him come through with such a solid long term effort, rigorously done and communicated with clarity is amazing, with a pinch of healthy embarrasment.

(I studied in the same academic cluster of music/audio/acoustic labs he made his career at)


The more I've written code close to metal (mostly SIMD for signal processing), the more I've grown to prefer either intrinsics or separate translation unit for assembly.

If you want your code to intertwine with what the C compiler does, intrinsics are great.

If you don't, .s is great.


And the only way to use new instructions is to make them slow or to wait for a compiler update.


Exactly, this is the right approach.


Text and/or audio to music. Trained on AudioSparx data, with opt-out for artists. Music is somewhat coherent, but struggles to produce anything with direction or character. Only tried text to music for now, could be a lot more interesting with audio prompts.


It will be quite a while before anything else besides the student just engaging with playing and sticking with it matters at all. IMO.

To that end, I think a crappy plastic MIDI keyboard can do a better job than a steinway if it is easier to acquire and accommodate. Being at hand is more important than being just right at this stage.

I say this as a music major, but it is not in any way a universal opinion to be sure.


Using 3 bits for piece type (including empty) and 1 bit for color makes a simple matrix enconding of the board just 8x8x4=256 bits. Add run length encoding for empty squares and it will be much smaller.

4 bits per square has room in it for RLE flags and even counts, without increasing the worst case size.


248 is max in my case (actually later I noticed I could shave another 4 bits), if there are less pieces, there will be less data

But probably with encoding your solution would be better


But probably there can be a middle grounds.

1 bit for each square represent there is a piece on that pos so 64 bits

then for each side, 4 bits to represent number of pieces and 3 bits for each piece to represent their type

At max 64 + 2x(4 + 3 x 16)=168 bits for 16 pieces each side.

edit: nvm this wouldn't work since you wouldn't know the colors of the pieces on board. You need to store 4 bits for each piece, 1 color + 3 type so it is 64 + 2 * 4 * 16 = 196. I am not sure if this is better anymore


Actually it's 192 bits, not 196.

To beat it you must encode each piece with a different number of bits. E.g.

  Q c00
  N c01
  P c10
  B c110
  R c1110
  K c1111
where c is 0 for white or 1 for black. Since there are 2xK, 2xQ, 4xB, 4xN, 4xR, 16xP, you will need 2x5 + 2x3 + 4x4 + 4x3 + 4x5 + 16x3 = 112 bits. Adding the 64 bits for the bitmap, the grand total would be 176 bits.

The issue is that each time a P is promoted to R or B (a stupid thing to do, since a Q would be better) you need one or two bits more. On the other hand, you spare 3 to 5 bits for each captured piece. In normal play, captures outnumber promotions, and promotions are either to Q or N, never R or B, but theoretically...


https://news.ycombinator.com/item?id=37525348

As far as max size goes, 64 bits plus data per piece seems to be the right path. Especially if you huffman the pawns to be 3 bits each while other pieces are 4 bits.

The grandparent method gets pretty bloated when you start promoting.


TFA is about philosophy, but the computer science concept is also interesting - composition of recursive functions.

https://en.m.wikipedia.org/wiki/Hylomorphism_(computer_scien...


The article that explores these recursion schemes is: Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire

https://maartenfokkinga.github.io/utwente/mmf91m.pdf

There is a review of this article, although it is quite readable in and of itself:

https://reasonablypolymorphic.com/blog/recursion-schemes/ind...


Thanks, this was my initial thought as well! Generally: https://ncatlab.org/nlab/show/recursion+scheme

(I'm actually kind of surprised ncatlab has this article!)


Hah. My first read was that this way of looking at the world sounds object-oriented (an instance of a class being state encapsulated with function). Just goes to show how quickly any philosophy can lead to a schism ;)


Yes: the class is the form; the data values are the matter. A superclass is a genus and a subclass is a species. I have long suspected that the creators of Simula had a grounding in Aristotelian metaphysics.


It is true that particular interpretations of Aristotle have led to the construction of our modern world, and that the text is constantly in tension with the material it is grounded in, and vica versa--like Heidegger's notion of World and Earth in "The Origin of the Work of Art" (a great introduction to Heidegger, if you're curious).


My intuition is that bits are pure matter. Data Values are bits with an interpretation, already more than pure matter.


Also: 21 Hylomorphisms and nexuses from Pearls of Functional Algorithm Design: https://dai.fmph.uniba.sk/courses/FPRO/bird_pearls.pdf


TFA is for the actual data in the commit, not a parallel worktree.


They hint that the install fee can be discounted if other Unity services (read: their ad network) are used by the game in question.

I think it's a play to force f2p games to use their ad mediator as the install fee will effectively raise the cost-per-install for anyone using competing ad networks.

Vampire squids doing vampire squid things. I'd expect them to get sued, and at least in the EU it seems likely to be difficult to defend.


What's great about tracker music is that it's in source format, readable, editable and remixable as if you were the original author.

Open source music! Great for learning.


Yeah, that was a nice side effect - but only a side effect. The real reason why the music was released in this format was space saving. If you would have wanted to release a song with all the tracks already mixed together, you would have had to store it as an uncompressed or losslessly compressed "waveform" file, and a very modest song would already have filled up an Amiga 880 KB floppy disk all by itself. Contrast this to Lemmings, which had not only ~10 songs, but also the sound effects, graphics, game code and 120 levels (although some levels were 100% identical to earlier levels, just with a tougher distribution of Lemmings skills and/or higher quota of Lemmings to save) on 2 floppies...


Object based audio... but 30 years earlier.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: