Hacker News new | past | comments | ask | show | jobs | submit | xpointer's comments login

It's 2001 according to the esolangs wiki. https://esolangs.org/wiki/Piet


This is quite cool and a reminder that SIGBOVIK is happening again next week


I interviewed Martin Kleppe of JSFuck for the same blog: https://esoteric.codes/blog/interview-with-martin-kleppe


Hi, I wrote the piece. Site should be responding well again now.


> Service Unavailable

> HTTP Error 503. The service is unavailable.

It is not well at present.


I favored the flexibility of ordering concurrent notes differently in MIDI over having the sheet music uniquely define a program. It gives the programmer more choices in how notes can be combined.

But there could be a default ordering -- I would think reading a chord from bottom to top -- for a piece of music where the score came first and the MIDI representation or performance of that score second.


It's funny you link to Piet; I began Velato by asking what would Piet be as music. Some programs are instantly recognizable as Piet while others are hardly recognizable as such; the language has its own aesthetic and yet programmers bring their own style to its set of visual constraints, all through fairly basic rules. In Velato, all notes are read in relation to a root note that can change between commands, even in the middle of a single chord. That was meant to allow for more choice in how a programmer constructs a piece of music.

Years later I interviewed David Morgan-Mar about Piet and his other languages https://esoteric.codes/blog/david-morgan-mar and wrote about the concept of multicoding, where a single text has readings in two systems that shape each other (an image and code, music and code etc) https://esoteric.codes/blog/chef-multicoding-esolang-aesthet...


Hi, I'm the creator of Velato. I will be reworking the website to include more examples later this year. In the mean time, the latest version of the compiler is on github: https://github.com/rottytooth/Velato

No one has yet written a quine although I would love to see one -- perhaps outputting its representation in lilypond format.


Since you're the author I can ask you directly, what the purpose is of the language. Why did you choose MIDI as a form of representation? What kind of programs are you implementing with it? Where are these programs supposed to be executed, on MIDI instruments?


I first made the language (fifteen years ago!) out of curiosity about esolangs and as a first try at writing a compiler. And for fun, yes. Since then, I've written more about multicoding -- the way two readings of code impact each other -- and thought more about the music that results (some links in my comment below). This is the aspect of the language that interests me now.

I chose MIDI since it's a standard and leaves to the programmer the choice of tool to compose the program. There's an IDE in the works geared for live performance of the language (that will not be MIDI, but not ready to say yet how it will work; it has the same lexicon but is quite a different language in practice).


I see, thanks. But is Velato actually conceived to create music, or is the music just a "random" byproduct?


From the top of the original link:

> “Velato offers an unusual challenge to programmer-musicians: to compose a musical piece that, in addition to expressing their aims musically, fills the constraints necessary to compile to a working Velato program.”

It seems like Velato’s purpose is to provide an unusual and interesting creative constraint for people who can both code and write music.


> Velato’s purpose is to provide an unusual and interesting creative constraint for people who can both code and write music

I do both on a professional level and have no idea what this sentence means; that's why I'm asking.


Have you ever sat in front of your favorite DAW version XX and thought, oh wow so many things, what am I going to do?

How about Sonic Pi? Or any modern audio toolset. So much possibility, where to start?

Creative constraint is about opening up pathways by restricting options.


It means come up with a code goal and a music goal, and fulfill both with a Velato program. For example, can you write MIDI file which finds the nth Fibonnaci number and sounds good to your friend when played with a piano instrument (a real one or a sound sample)?


Constraints are not too crazy of a concept. It’s not much different than say, writing a traditional Schoenberg style 12-tone composition.

You would create your tone rows and then write your composition. If you follow the rules, then it is also 12-tone serialism.


Presumably you code and compose in separate contexts, unlike what the sentence describes


For fun I suppose? See: esoteric programming languages


Why shoud we suppose if the author himself can give us an authoritative answer?


It's very obvious.


Whenever I see questions like this I have to wonder: Do you really lack the creative spark that lets you imagine why something like this would be fun to create?


I guess not everyone can be a genius (like you?)


How did you manage to arrive at that interpretation?


Have you ever read Hermann Hesse's _The Glass Bead Game_? (also published as _Magister Audi_)

Every time I see alternative representations of knowledge/computer code/algorithms it comes to mind.

Would you expect a person to be able to achieve a mastery of this to the point where they could play and control something in an improvisation? Say something like to the character Agatha Heterodyne of Kaja and Phil Foglio's web comic _Girl Genius_ controlling an army of clanks (robots):

https://www.girlgeniusonline.com/comic.php?date=20061229


Funny you should ask; someone interviewed me about a few of my esolangs for their dissertation last year and referenced the Glass Bead Game.

It would take a lot of practice to improvise Velato, but that would be amazing!


There are times when I worry that the ubiquity of computers is crushing experimentation in computer interface concepts.


_Magister Ludi_ (stupid auto-correct)


Is there any reason why your website does not support HTTPS?


I wish more websites were still HTTP! I can't access most of the modern web from my vintage computers and I see no reason I need security on websites I'm not logging into.


Even for non-login sessions, HTTPS is key. It isn't just about credential protection. It guards against data tampering in transit and is therefore crucial for end-to-end data integrity. What you are saying is basically that you don't care about integrity, fair enough, but many people including me do.


It will move to https when I update it later this year


This is a very creative project, congratulations!

One obvious step is to try to make it bootstrapped. Have the velato compiler be a velato.mid file.


Extra meta-bonus points if the quine's MIDI notes are from a transcription of a Robert Quine guitar solo!

Fascinating project, xpointer!


In 2009, I made Velato, an esolang where code is written in pitch values (https://github.com/rottytooth/Velato) encoded as MIDI files. So sort of the opposite of writing algorithmic music (where the human programmer writes music to satisfy conditions of the program). Before switching to LilyPond, I'd used GUIDO with a GUIDO-to-MIDI generator, but it was always awkward. Part of the challenge is that notes can be sounded simultaneously to make the score work better musically, but still need to appear in the correct sequence in the MIDI file for the program to succeed; something that LilyPond handles correctly. There's a transparency to how LilyPond functions that is not always there with programs that try to be "helpful" and clean-up or rearrange information.


I see the more creative esolangs like this as beautiful and strange to think and code in; a formal play on language design. Not everything needs to be practical or a learning experience.


Previously done as an art project: http://metriclock.com/


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

Search: