
Sex, Circuits and Deep House - etiam
http://www.bunniestudios.com/blog/?p=4484
======
pcl
Wow, this is incredibly well-executed. I worked in a lab with Bunnie years
ago; it's great to see he's still as thoughtful and thorough as he was then. I
wish I had the dedication, time and aptitude to execute as well as he does.

A great tidbit:

 _I designed a very simple protocol which will only reveal if your friends are
nearby, and nothing else. Every badge emits a broadcast ping every couple of
seconds. Ideally, I’d use an RSSI (receive signal strength indicator) to
figure out how far the ping is, but due to a quirk of the radio hardware I was
unable to get a reliable RSSI reading. Instead, every badge would listen for
the pings, and decrement the ping count at a slightly slower average rate than
the ping broadcast. Thus, badges solidly within radio range would run up a
ping count, and as people got farther and farther away, the ping count would
decrease._

~~~
tlrobinson
I didn't really understand this part:

 _decrement the ping count at a slightly slower average rate than the ping
broadcast_

Is he saying he's reducing the power of each subsequent transmitted ping,
causing nearby units to see more pings than far away units, or something else
entirely?

~~~
daxelrod
Here's what I think is happening (without actually looking at the code).

1\. For each person, store an integer ("ping count").

2\. Whenever you receive a ping from that person, increment the ping count.

3\. Periodically decrement the ping count, stopping at zero.

4\. When a person's ping count is zero, do not display them on the screen.

Let's say a ping is transmitted every second. "decrement the ping count at a
slightly slower average rate than the ping broadcast" means that #3 should
happen every 1.2 seconds.

The result of this is that, if somebody is solidly within broadcast range,
their ping count constantly goes up.

If they are just past the edge of broadcast range, they'll start getting
signal loss. The result is that some of their signals will be delivered and
some won't. This will mean that their ping count will slowly drop. If someone
is completely outside of broadcast range, their ping count will drop more
quickly.

~~~
jchrisa
This is similar to how direct stream digital audio (SACD) encodes with a 1 bit
dac at 2.8 MHz bitrate.
[https://en.wikipedia.org/wiki/Direct_Stream_Digital](https://en.wikipedia.org/wiki/Direct_Stream_Digital)

Cool tidbit: you can do the digital to analog for this with a low-pass filter.

------
SonOfLilit
I'd like to commend his propagating better-than-usual understanding of
biological trait blending.

At school (in Israel) we learned that you have Dominant Genes and Recessive
Genes, and Dominant trumps Recessive. Just a month ago I got to hear a more
correct description from a biologist friend, which sounds much like Bunnie's
implementation:

 _In order to capture the wonderful diversity offered by sex, I implement
quantitative traits in the light genome. Instead of having a single bit for
each trait, it’s a byte, and there’s an expression function that combines the
values from each gene (alleles) to derive a final observed trait (phenotype)._

 _By carefully picking expression functions, I can control how the average
population looks. Let’s consider saturation (I used an HSV colorspace, instead
of RGB, which makes it much easier to create aesthetically pleasing color
combinations). A highly saturated color is vivid and bright. A less saturated
color appears pastel, until finally it’s washed out and looks just white or
gray (a condition analogous to albinism)._

 _If I want albinism to be rare, and bright colors to be common, the
expression function could be a saturating add. Thus, even if one allele (copy
of the gene) has a low value, the other copy just needs to be a modest value
to result in a bright, vivid coloration. Albinism only occurs when both copies
have a fairly low value._

Also, Bunnie's blog has a great awesome to noise ratio. Check out his post
about a tour in a zipper factory:
[http://www.bunniestudios.com/blog/?p=4364](http://www.bunniestudios.com/blog/?p=4364)

 _Edit: text formatting_

~~~
smcl
I adore lots of the bunniestudios blog posts but "awesome to noise" is the
exact opposite of how I'd describe that blog. There are _dozens_ of "Name that
ware" (and "Winner: name that ware...") posts and in recent history they
vastly outnumber the good stuff.

~~~
triplesec
I think you're being unfair: compare it with the noise on many other blogs,
and he compares vey favourably. Also the density and quality of the
information in his analytical posts is very very high indeed.

~~~
smcl
I enjoy the blog posts with substance, however the majority of the posts are
"guess the mystery unlabeled circuit board" which isn't really my thing. Take
a look at the last 12 posts:

\- Sex, Circuits & Deep House

\- Name that Ware, September 2015

\- Winner, Name that Ware July 2015

\- Name that Ware, July 2015

\- Winner Name that Ware June 2015

\- Name that Ware, June 2015

\- Winner, Name that Ware May 2015

\- Name that Ware, May 2015

\- Winner, Name that Ware April 2015

\- Name that Ware April 2015

\- Winner, Name that Ware March 2015

\- The Heirloom Laptop’s Custom Wood Composite

See what I mean?

~~~
voltagex_
I can't speak for bunnie, but to hazard a guess he's bloody busy right now.

~~~
smcl
I know and that is completely what I expected. I had typed out a "disclaimer:
I know Bunnie and his team have a lot going on, I am not having a go" proviso
but I figured HN was a place where we don't need to have be so defensive :-/

~~~
voltagex_
Yep, I think we're in agreement. My reply would have been better if I'd added
a note that I've seen that kind of pattern on other blogs before. It's hard to
keep a highly technical blog going while also doing the projects that give you
material to blog about in the first place!

------
jchrisa
tldr: Light badges that breed patterns by communicating with each other. Worth
skimming the illustrations are great.

"I wanted to make a bit of lighting that my campmates could use to stay safe –
and optionally stay classy by offering a range of more subtle lighting
effects. I also wanted the light patterns to be individually unique, allowing
easy identification in dark, dusty nights. However, diddling with knobs and
code isn’t a very social experience, and few people bring laptops to Burning
Man. I wanted to come up with a way for people to craft an identity that was
inherently social and interactive. In an act of shameless biomimicry, I copied
nature’s most popular protocol for creating individuals – sex.

By adding a peer-to-peer radio in each badge, I was able to implement a
protocol for the breeding of lighting patterns via sex."

------
edkennedy
I remember running into the Institute on Esplanade and asking "The Institute
of What?". They had all kinds of interesting gadgets on their front lawn. I
really love the concept and implementation of this, in particular the careful
consideration of proximity detection instead of a chat client. Really lovely
way to promote human interaction instead of drawing the user in to interacting
with the device itself.

~~~
josh2600
The village is called "The Institute for Higher Yearning".

Also worth checking out BattleBlimps, which was developed by False Profit
Labs: [https://www.indiegogo.com/projects/battle-
blimps](https://www.indiegogo.com/projects/battle-blimps). Hydrogen filled
blimps, controlled by an xbox controller talking to an Arduino over a custom
bluetooth protocol. When you collide two blimps together, one of them blows
up, Hindenburg style.

Also, also, Horse Tornado, which was a persistence of vision art piece:
[https://www.tilt.com/tilts/horse-tornado-interactive-
phantom...](https://www.tilt.com/tilts/horse-tornado-interactive-phantom-
video-carousel/description).

Lastly, we had a revised art car this year too:
[https://www.youtube.com/watch?v=C0JzPgd9f9g](https://www.youtube.com/watch?v=C0JzPgd9f9g).
It was fun watching the muse dry-eeg light up the brain during the Thursday
night party we attended.

Twas a good year.

~~~
triplesec
if that was once a name (and I've not ever heard that from any of the original
miscreants) it's not really used now. But it's definitely a place of science,
art and curiosity.

------
gkop
> The new LED pattern replaces the current pattern on the egg donor’s badge

So there are some constraints here that point toward what a version 2 could
look like. Under the current paradigm, every child has a unique set of parents
- there are no full siblings. And there are no cousins through the egg donor
side. Like real sex, there is no way to take an exceptionally fit egg donor
and see what the child could look like with different sperm donors - you can
do this with Electric Sheep though. Electric Sheep breeds randomly and has an
upvote/downvote feedback mechanism, some kind of additional feedback mechanism
could be added to these badges to hasten evolution.

It seems like the constraints to the badge are by virtue of it relying on
physical hardware of which finite instances are available, whereas Electric
Sheep is limited only by much more vast software resources. So maybe the badge
creatures have a lifecycle, when they reproduce instead of replacing the egg
donor immediately, the child enters a pool waiting to spawn in the next
available deceased badge creature?

------
LukaAl
The idea is amazing. I just wonder if he had also implemented the Chromosomal
Crossover in the "sex" function. From his description of the results it seems
so, but he hadn't described it and it seems an interesting part to explain.

------
snsr
Amazing work.

