"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." https://onezero.medium.com/the-tyranny-of-convenience-2e7fa145ab4
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 https://news.ycombinator.com/item?id=19824410
raycasting engine implemented in the game Factorio: https://forums.factorio.com/viewtopic.php?f=193&t=69887&p=424936#p424936
@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.
@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
calculating the additive inverse in #ORCΛ 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
Revel in the marvels of the universe.