Show more

"In the ongoing and growing opposition to the seemingly dystopian world technology companies are building, convenience is often overlooked. But it’s convenience, and the way convenience is currently created by tech companies and accepted by most of us, that is key to why we’ve ended up living in a world we all chose, but that nobody seems to want." onezero.medium.com/the-tyranny

instructables.com/id/Solar-cha

Adding solar panels to charge e-reader.

This may seem pointless since it's not gonna save you much electricity bill, but how dope would it be to own an e-reader that doesn't need plugging in ever, just like a real book?

@neauoire I think these shouldn't be assigned the same colour as the background. you can easily lose track of them like this

okay, phew, I could re-enable my firefox extensions with this workaround news.ycombinator.com/item?id=1

@neauoure have you thought about adding a multiply operator? it would be so damn useful for many things. multiplication for one, but also for subtraction. it would also be really nice for sequencing music, as it would allow you to dynamically skip steps in a sequence (i.e. playing every n'th note), or even playing the sequence in reverse!

in conclusion: you can get the additive inverse of a number in orca using only A's, or a combination of A's and F's plus some plumbing (i.e. J, Y, X).
initially, I had somehow hoped that this could be more compact than doing the same thing with a lookup-table (a string of all 36 numbers in reverse order where the input determines which place to read from), but it obviously isn't ^^

in the second gif I only multiply by (m/4)-1, so one of four inputs are the additive inverse. I then check whether I need to add (m/4), 2*(m/4), 3*(m/4), or nothing at all to get the correct result.
in the third gif I also multiply by (m/4)-1, but four times in parallel, each instance offset by a multiple of (m/4). then the logic in the bottom only needs to determine which result is the correct one and push that to the output

about the maths of this thing:
you can get the additive inverse of and integer in mod m by multiplying it with m-1. multiplication can be done by repeated addition of a number. the conceptually simplest addinv circuit in orca would therefore be a stack of 35 `A`s feeding into each other, which would be rather large. luckily, multiplying by only (m/2)-1 already yields the additive inverse on every second input. on the others you just have to add (m/2). that's what the first gif above does.

ok so I updated from my ancient version of orca, and reimplemented the additive inverse circuit. in fact, I made multiple versions ^_^
I quite like how tight you can build with the new checkerboard-style operators.

@neauoire I have a little nag, which is that neither C nor I can count up to z. they both jump from y to 0. I guess it makes sense in that they operate in mod 36 space, but it would be nice if at least one of them could output z.
proposal: make I count one step further, so that I01 counts from 0 to (including) 1, and I0z counts from 0 to (including) z

second version of the inverse calculator. turns out the more you shrink the ladder, the more if-cases you have to add to the bottom.
first one had 18 adds * 2 cases = 36
this one has 9 adds * 4 cases = 36
this might be the sweet spot for compactness (or maybe 6*6 is?)

calculating the additive inverse in without using lookup tables.
is it more compact? no 😂
is it faster? yes, it computes in 0 ticks (the lookup method has a 1 tick delay)!
is it more elegant? that's subjective...
I have some ideas for making it a bit more compact so I hope this isn't the final form

Show more
Merveilles

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them. Check out our Patreon to see our donations.