
Orca – Live Programming Environment - tobr
https://github.com/hundredrabbits/Orca
======
afandian
As a software developer and new father, even though I'm lucky to work in a
very intellectully rewarding field, I'm starting to feel a net negative
feeling about computers. I think back to the excitement of 8-year-old me with
a BBC Micro and a BASIC prompt and wonder what I can help my (still very
young) child to discover in a few years. Looking at the majority of software
experiences available I feel some amount of dispair. Is he going to find
satisfaction in a blank screen when contemporary computers are jostling for
attention and employing all kinds of dark patterns to subvert mental space?
Will be be as excited about putting a pixel on a screen or writing a byte on a
disc when there's AR and VR, and who knows what's around the corner?

And then something like this comes along. This is something I can see us
exploring together, that rewards creativity and doesn't try to impose
anything. I'm so glad there are people making esoteric software with depth.
Thank you, hundredrabbits.

(I've not actually tried Orca, but it looks very cool)

~~~
purplezooey
Well I hope you didn't teach him to spell disk with a c :)

~~~
indalo
If only there was a country out there that preferred the c over the k. There
may even be hints in the gp post of where that may be!

------
amatecha
YouTube user Allieway Audio has started posting a series of great tutorials
and introductory videos for Orca:

[https://www.youtube.com/watch?v=RaI_TuISSJE](https://www.youtube.com/watch?v=RaI_TuISSJE)

[https://www.youtube.com/watch?v=CR1TMGYhCoE](https://www.youtube.com/watch?v=CR1TMGYhCoE)

To give a bit of context the primary creator of this project has been
essentially living off a sailboat for the past few years and has traveled some
28000km around the world in the process. More info at their site at
[https://100r.co/](https://100r.co/) :)

~~~
Dangeranger
The introduction by Allieway really helped the ORCA software click with my
understanding. She explained the grid and the various objects and their
composition such that as someone who has never used a live-programming
environment everything just made sense.

ORCA looks like a lot of fun now that I understand how things work.

------
amatecha
To give an idea of how ridiculous and flexible Orca is:

[https://twitter.com/neauoire/status/1079220288875769858](https://twitter.com/neauoire/status/1079220288875769858)

[https://twitter.com/neauoire/status/1087846391831883776](https://twitter.com/neauoire/status/1087846391831883776)

:)

------
hamstah
Join in on the official chat at [0] If you run into performance issue or want
to try using an external MIDI source to sync, I have those in my fork at [1],
waiting for the maintainer to come back from sailing around Japan to merge
them :)

[0] [https://talk.lurk.org/channel/orca](https://talk.lurk.org/channel/orca)
[1]
[https://github.com/hamstah/Orca/releases](https://github.com/hamstah/Orca/releases)

------
bonyt
This reminds me of Befunge.

My favorite language feature ever: "Similarly, in Befunge, there is no comment
syntax: to embed documentation in the code, the programmer simply routes the
control flow around the "comment" area, so that the text in that area is never
executed"

[https://en.wikipedia.org/wiki/Befunge](https://en.wikipedia.org/wiki/Befunge)

------
tasty_freeze
* is called "bang"? I thought it was universally agreed that "!" is bang and "*" is splat.

~~~
gknoy
I noticed that as well. `!` has been nicknamed "bang" for a long time (hence
"shebang" for `#!` notation)

[http://www.catb.org/jargon/html/B/bang.html](http://www.catb.org/jargon/html/B/bang.html)

------
sly010
Think cellular automatons combined with PD/MaxMSP. Each letter in the alphabet
is a node. The node's inputs/outputs are adjacent grid locations, data
typically flows south (outputs are sent down) State advances on every frame.
There are nodes to generate data (counters, timers, etc.), nodes that have
state and nodes that are sinks (OSC and MIDI). I had to fiddle around the
webkit console to get the midi working with garage band.

It's fun.

------
angleofrepose
Orca is just one piece of the world that this guy has been building at
[https://wiki.xxiivv.com/#home](https://wiki.xxiivv.com/#home)

He's got a suite of tools: Left, Dotgrid, Ronin, Marabu (text, graphics,
super-graphics, audio).

Then a logging/personal wiki setup that I think is fascinating: Nataniev,
Horaire, Oscean. Which goes all the way down to his own database formats and
time format.

The philosophy and aesthetic of his work is awesome in the completeness of
associated art and the connection between the build-up of his own software
ecosystem. I've been following xxiivv for a while, and it's always changing
and always inspiring. I'd love to hear anyone's thoughts on his system and
would be happy to talk more about it!

For example, Orca, featured here, used to be Pico which was a sort of
playground environment like Orca but before it was the audio playground it is
now. I'm not sure this is the best commit to pick out, but I just wanted to
share how active he is on his software projects, and that _environments_
really are a theme for him.

[https://github.com/hundredrabbits/Orca/tree/8cd3827fb6e01005...](https://github.com/hundredrabbits/Orca/tree/8cd3827fb6e01005d8db1647065f996d917e25f1)

He's built a synthetic human language: Lietal, and his partner has a recipe
sharing and cooking exploration site at grimgrains. Which also shares a unique
personal aesthetic. They also live on a boat (see Pino).

I am personally most interested in Ronin (under tools). It explains itself as
a cross between vim and Photoshop, and though it is in a semi-broken state
now, I had a great afternoon hacking on it playing around with pens and magnet
mode. I play around a lot with processing and p5, and love to build generative
style systems like Casey Reas shows off in his Compendium [1]. I see Ronin as
an example next step towards creating an environment in which to mess with
these things, rather than my standard of playing around in vim, and running it
with each new tweak.

Edit: at a computer now, so links for some of the above:

\- [https://wiki.xxiivv.com/#tools](https://wiki.xxiivv.com/#tools)

\- [https://wiki.xxiivv.com/#nataniev](https://wiki.xxiivv.com/#nataniev)

\- [https://wiki.xxiivv.com/#lietal](https://wiki.xxiivv.com/#lietal)

\- [https://grimgrains.com/#home](https://grimgrains.com/#home)

[1][http://reas.com/compendium_text/](http://reas.com/compendium_text/)

[1][https://drive.google.com/file/d/0B9h469--
G5OwOGVfVmUxZUQ5VzA...](https://drive.google.com/file/d/0B9h469--
G5OwOGVfVmUxZUQ5VzA/view)

~~~
eggy
I've been into livecoding for a while, and never heard of Orca until now.
You're right, there is a lot more to Orca when you dive into their site and
other projects. I have been playing with living on a boat my whole life, so it
was refreshing and inspiring to read their logs.

I am interested in porting Orca-c to Windows by ridding it of Posix
dependencies, but I am not sure how much of a task this is going to be. Also,
I didn't see any links or dependencies to SuperCollider, Soundpipe, or other
sound engine/dsp libs.

EDIT: I now see it is just MIDI output to your MIDI device, so no need for
sound engine or DSP lib.

------
sense
Basic convention for sending midi .. in orca ..

1D8 * :02c99

Sends midi message to channel 1, octave 2, note c, note velocity 9, note
length 9 it doesnt have to stay simple tho :) build from there ..
[https://www.dropbox.com/s/3rku66su1ckrj94/Orcanimseq.jpg?dl=...](https://www.dropbox.com/s/3rku66su1ckrj94/Orcanimseq.jpg?dl=0)

[https://twitter.com/sense_amr/status/1088507367547785216](https://twitter.com/sense_amr/status/1088507367547785216)

------
cozzafrenzy
Wish I could drive this thing from Emacs...

------
sumitsrivastava
Interesting. Really great to see music programming environments!

What a coincidence, I posted about a music programming language called
Musicblocks, just a few minutes ago!

[https://news.ycombinator.com/item?id=19118738](https://news.ycombinator.com/item?id=19118738)

------
wsgreen
Awesome to see how developed this tool has become.

Unrelated: Always love watching your sailing videos!!

------
ingenieros
Here's a video that offers an introduction to the "Algorave" scene:
[https://www.youtube.com/watch?v=S2EZqikCIfY](https://www.youtube.com/watch?v=S2EZqikCIfY)

~~~
jarmitage
Please note that the editors of this film interviewed lots of prominent women
in the Algorave scene, and then mostly cut them out of the edit, soundtrack
and credits.

Resident Advisor (who commissioned the film) have since apologised:

[https://twitter.com/residentadvisor/status/10938265596669911...](https://twitter.com/residentadvisor/status/1093826559666991104)

The Algorave community does not consider this film to fully represent the
diversity of the scene and the contributions being made by non-men.

~~~
ingenieros
I was completely unaware of this so thanks for sharing.

~~~
jarmitage
You are very welcome.

Aside from the issues mentioned, there are of course some great people
featured in the film, saying great things.

There will be a public response from Algorave community at some point (a blog
post or video perhaps) to address the issues.

------
the_librarian
I'm a big fan of hundredrabbits or, as they are also known, [rekka and
divine]([https://hundredrabbits.itch.io/](https://hundredrabbits.itch.io/)),
and my Playnite Library has a section called "Gamedev Tools" that is filled
with all the Borgesian wonders that they have made, including Orca. To find
out more about their awesome stuff, like how the freaking built many of these
tools while on the ocean, literally sailing around the world, [here's their
site!]([https://100r.co/](https://100r.co/))

I'll let you explore on your own, but I will offer here some links to my
favorites that they have made. (Including more music related apps for those
who like Orca!)

FORMAT \------ >Itch.io or download page, and... >Short description, and git
instructions... >`git clone`/`npm install` if available.

 __*

 _Marabu_

\-
[Marabu]([https://github.com/hundredrabbits/Marabu](https://github.com/hundredrabbits/Marabu))
\- Open source tracker built on
[Soundbox]([https://github.com/mbitsnbites/soundbox](https://github.com/mbitsnbites/soundbox)).
(Also, look into [Super
Collider]([https://supercollider.github.io/](https://supercollider.github.io/))!
\- `git clone
[https://github.com/hundredrabbits/Marabu.git`](https://github.com/hundredrabbits/Marabu.git`)

 __* _Left_

\-
[Left]([https://hundredrabbits.itch.io/left](https://hundredrabbits.itch.io/left))
\- A minimalist text editor. \- ``` git clone
[https://github.com/hundredrabbits/Left.git](https://github.com/hundredrabbits/Left.git)
cd Left && npm install npm start```

 __* _Ronin_ \-
[Ronin]([https://wiki.xxiivv.com/#ronin](https://wiki.xxiivv.com/#ronin)) \-
Self described as a cross between Vim and Photoshop. This one is definitely
worth a look. \- `git clone
[https://github.com/hundredrabbits/Ronin.git`](https://github.com/hundredrabbits/Ronin.git`)

 __* _Markl_ \- [Markl]([https://markl.100r.co/](https://markl.100r.co/)) \-
An upcoming game with a very hundredrabbit's vibe. \- `git clone
[https://github.com/hundredrabbits/markl.100r.co.git`](https://github.com/hundredrabbits/markl.100r.co.git`)

 __* _Paradise_ \-
[Paradise]([https://hundredrabbits.itch.io/paradise](https://hundredrabbits.itch.io/paradise))
and an artsier
[link]([https://wiki.xxiivv.com/#paradise](https://wiki.xxiivv.com/#paradise))
too. \- _' I have always imagined that Paradise will be a kind of library.'_
This one is very interesting, as if you were born in a command line with
symbolic links disabled. A text adventure game, I'd say, but loosely. \- ```
git clone
[https://github.com/hundredrabbits/Paradise.git](https://github.com/hundredrabbits/Paradise.git)
cd Paradise && && npm install npm start ``` ___

~~~
the_librarian
I'm so sorry about this formatting. It's my first comment and I couldn't find
any syntax rules so I just went standard markdown. Not a good idea. In any
case, I've tried to edit it but it won't allow me to make changes, and I
apologize for this. I was not hasty, and this took me an hour to write up.

~~~
grzm
They're few, but here are the formatting rules:

[https://news.ycombinator.com/formatdoc](https://news.ycombinator.com/formatdoc)

~~~
the_librarian
Thank you so much! I am going to try to fix them up knowing

that now, though I did produce the original look I inteneded

for the comment here.

[[http://pixelpioneers.org/library/stacks/tools/praise-the-
bun...](http://pixelpioneers.org/library/stacks/tools/praise-the-bun.html)]

------
ngcc_hk
Should use uncommon name. Even ocra midi is not narrow enough enough

~~~
codetrotter
They get around that by substituting the a for another glyph, giving them a
unique hashtag to use on twitter #ORCΛ

------
gyrgtyn
I spent some time trying to get it to do like a conway's game glider, but
couldn't figure one out -must be impossible.

~~~
aliceffekt
Let me know if you manage to make a self replicating pattern in Orca, I've
been working at this for the past few days myself.

------
kostadin
Looks great! Looking forward to diving in.

It is strange, I've been in the planning/research stage to build exactly this
tool!

------
sense
orca is awesome ..
[https://www.dropbox.com/s/3rku66su1ckrj94/Orcanimseq.jpg?dl=...](https://www.dropbox.com/s/3rku66su1ckrj94/Orcanimseq.jpg?dl=0)

------
frabbit
I guess it doesn't matter that much, but the author may want to rename. Orca
as a name suffers from a collision with the relatively well-known windows
installer table editor.

------
smlacy
Fails my "WTF is it" test right out of the box.

The first paragraph of any software README should answer:

What is it? What does it do? Why would I use it?

ORCA is a ... that ... and can help you ...

~~~
Obi_Juan_Kenobi
I mostly agree; ideally there would be a prominent link to a 30 second video
that does a very quick demonstration of how/why this works. This is an example
where video is just way better than text for introducing a concept.

I get that not every repo is going to have a nice readme, but it definitely
would be nice here.

~~~
amatecha
A link to an introductory video is the third sentence in the readme :)

"Each letter of the alphabet is an operation, lowercase letters operate on
bang(*), uppercase letters operate each frame. Have a look at some project
created with #ORCΛ, or some example files. Here's an introduction video. "

------
LeoNatan25
What is it with web project in particular writing "OSX"? Even the C port,
linked from the JS repo, writes correctly "macOS". How can web projects be
taken seriously when they won't even take the platforms they supposedly
support seriously?

I'm not generalizing just because. The overwhelming majority of "npm projects"
I visit write "OSX".

~~~
losvedir
Because it was OS X for like 15 years and only just changed to "macOS".

~~~
LeoNatan25
It has been three and a half years. Hardly “just”.

~~~
tobr
It’s such a stupid thing to even debate or bring up in the first place. But
you are also wrong, the first “macOS” was released 2.5, not 3.5 years ago.

