In which a lost Earthling takes personal offense at the 'lost Age' trope of Suinel.
+ Show First Post
Total: 270
Posts Per Page:
Permalink

" - we both did, but uh, possibly revolutionizing magic covereth a slightly delayed lunch, I hope?"

Permalink

"Oh well.  I don't suppose you figured out how to duplicate people to get a dozen things done at once?  Aeslin, do show her to the dining hall - I'll be there as soon as I get these things delivered, I hope."

Permalink

"Oh, all right.  And I do want to hear more about computers!"

The dining hall is several hallways away in the same building, without any obvious method or mention of payment.  The table of food is showing clear signs of having already been picked over, but there's still the tail end of some sauced roast meat, some salad, lots of bread, and a few different sorts of pies with notes saying "Sheep," "Veggie, Spice," "Veggie, Smooth," and "Apple".

(Aeslin takes the salad and smooth veggie pie.)

Permalink

"Not quite anything that exciting, unfortunately; I'll see what I can do on that front, though!"  She grins, though she's only mostly joking.

 

Ooh, pie.

She'll try a little bit of the roast meat, a little bit of the smooth veggie pie, definitely grab some bread...And, of course, the apple pie.  She just does not pass up desserts.

 

"So, what would you like to know about computers, Aeslin?"

Permalink

"How do they even work?  How can they do math without magic?"

Permalink

"Hmm, alright.  Let's start with binary.

"So you know how numbers can be written like...

"Expanding 543 to 5 times 100 - ten to the second power -, 4 times 10, 3 times one?

"Every computer these days would represent 543 as...

512 - 2 to the... 2 4 8 16 32 64 128 256 512 ninth, plus 16, two to the fourth, plus eight, plus four, plus two, plus one - two to the zeroth.  Or, one zero zero zero zero one one one one one.

"And you can represent those ones and zeroes with a simple on-off switch or similar easily-monitored thing.

"The original computers used punch-cards for data entry, which they inherited from mechanical looms.  Which I'm assuming y'all have, because you have that sort of mass-produced clothing quality going on, but actually, do you?  Anyway.

"You have binary representation of numbers.

"The next part of how a computer does math involves boolean logic.

"Boolean logic is a whole field of math that this one guy named Boole came up with, so I'm guessing that if you have it you have it under another name, but if you can tell me what True XOR parenthese False NAND True close-parenthese would evaluate as, you know it.

"And through hooking together enough NAND gates in particular ways, you can take a binary integer from some register A and a binary integer from register B and add, subtract, multiply, divide...hell, even exponentiate.

"It gets more complex when you start involving negatives and decimals, especially arbitrary decimals, but it's possible."

Permalink

"So... you'd be representing numbers as something like the dots and dashes of heliograph code?  Except more systematized, so 13 would be... let's see, base 2..." (she counts) "8+4+1 so 1101, which would be" (she taps on the pie with her fork)

**_*

"I haven't worked with this Boolean logic... but it sounds vaguely familiar?  Maybe I heard about it at school once?"

Permalink

"Heliography is also one of the predecessors of computing!  Or, well, telegraphy; we did ours with wires and magnets instead of sunlight and mirrors.  Heliography is an example of a character encoding - agreeing that a sequence of bits means this specific thing.

"It's also a good example of networking."

Permalink

"Telegraphs must be a lot more convenient; you wouldn't need manual relay stations everywhere in line-of-sight!  We only have a few lines because of that.

"So... how do computers actually do things?  How do these logic gates work?"

Permalink

"Well, I don't actually know the specific structure of silicon logic gates.  But it's about how electricity does or does not flow through them.  ...And I could probably figure out how to make y'all telegraphs, but honestly I'm tempted to see how much you can just skip it with magic."

Permalink

"... Because we can get magic conditional gates, so if I just had enough materials and knew the designs, we could build a magic-run computer right now..."

Permalink

"Oh!  I can run down the list, then.

"I think silicon computers are built mostly off a foundation of NAND gates - Not X AND Y.

"But see, you shouldn't actually just...slavishly reimplement the computer.

"What sort of ability to store information does magic have?"

Permalink

"Store information?  Pretty much anything it can sense, it can react to.  We can't read it directly, but it can make some records - I've got a setup for that in my workroom."

Permalink

"Well of course you don't go trying to read individual bits on the hard drive when what you want is the document you put in there yesterday -"

luxbuf init → red

loop_unroll("for(int i = 0;i%=128;i++, this.wait(100ms)){display_binary<Tuple<Light.ghost_blue_sphere, Light.bright_white_sphere>>(i);}") | luxbuf

luxexec -ambient luxbuf

"- but this is a form of data, isn't it?"

"Especially when I..."

suspend luxexec

from luxbuf display_binary<Tuple<Light.red, Light.green>>(i);

"Can do this, I think."

Permalink

She feels a weird jerk on her wand, and after a moment the flow of magic stops.

Permalink

"Oh, for...'Do what I mean' seems to be looking more and more 'do what I say' every time I try to do something the least bit complicated.  What's missing this time..."

"...Think it choked on, of all things, binary.

"And I might have gotten the concepting confused with how I stole a particular sort of notation, but dammit, singletons are valid type-shaped things."

Permalink

"Hmm...  Maybe binary notation is too complicated a system for you to really be visualizing the whole system?  I haven't gotten magic to display any text except what I specifically tell it to, either... not even a crystal, though I haven't really tried there.  Let's go to my workroom; I've got a power sensor there you can tell it to push a calibrated amount instead?"

Permalink

"Maybe if I turn it around - but then, ugh, no.  That's even less of a way to co-opt parameters.  Really, it should have just been method arguments, but noo, I wanted my thing to be fancy and distinct to be easy to visualize.

"Feh."

"Alright, let's try this again."

luxbuf init square red

"#define (binary)int i

bool[] brep;

int n=0;

do{n++;}while(pow(2,n)<i);

brep=new bool[n];

do{if(pow(2,n)<=i){i-=pow(2,n); brep[brep.length-n]=1;}}while(--n>-1);

return brep as binary;

#enddef" | luxbuf

cat "#define (int)bool[] b, (int)(binary b as bool[])

int val=0;

for(int i=0;i<b.length;i++){val += b[b.length-i]*pow(2,i);}

return val;

#enddef" luxbuf

"...what was I even doing with this...Oh, right.  Statefulness."

cat "binary c = new binary{0,0,0,0,0,0,0,0};

main(){ while(true){this.display_bool_array( c++, light.cube.white, light.cube.ghost_blue ); this.wait(100ms);} }" | luxbuf

loop_unroll(luxbuf) | luxc | luxbuf

luxexec -a(mbient) luxbuf

"And now we wait a little bit, just to see it roll..."

suspend luxexec

display_bool_array( luxbuf.c, light.sphere.green, light.sphere.red );

"And look at that, there's still the same data.  In an entirely different display format."

Permalink

Aeslin stares at the lights.

"So you can hold enough of binary notation in your head!  Why?  Is it that you're that familiar with it?  No, in all of Suinel someone should be familiar enough with writing..."

Permalink

"I think what I have that you might not is probably somewhere in the abstraction.  The process of zooming out from 'make a light', and generalizing how it's handled.  Because every time I do this, I get away with specifying less than I did before.

"But also I am cheating by composing my programs in short blocks that I stick together as I go.  Or, well, I suppose that's also - it's not that someone from Suinel couldn't create, well...this, it's that they wouldn't think to do so.  I think?"

"Anyway.  Let me just...write this one down; I think the concepts it introduces would probably be useful to you..."

Scritchity scritch goes the pencil as she writes the 'program' down.

"Anyway, I really wouldn't say I'm overly familiar with binary in the first place; almost nothing even uses it at the levels of abstraction I work on.  I just know how, approximately, to formalize it out of primitive commands I do know well, in a sort of on-the-fly manner.

"It's..."

"Ooh, let's see if I can do graphics."

"...although, probably a good idea to not test my functional understanding of GPUs and GPU coding around people we don't know aren't possibly prone to seizures when exposed to erratic lighting."

"Shaders are honestly pretty weird, as coding environments go; you have to specify everything almost entirely relative to everything else."

"...but anyway, I got onto that tangent by wondering what the fuck magic will do if I just..."

cat luxbuf

This Thread Is On Hiatus
Total: 270
Posts Per Page: