« Back
Generated:
Post last updated:
version control system
Permalink Mark Unread

When Kaitlyn was eleven, she couldn't finish a story.

Usually, you could tell a damaged book because the covers would be as bad as everything else, but this one must have had a peculiar exposure because the first half was fine but the second half became progressively more unreadable until the pages might as well be blank paper.

She promptly swore vengeance on all the monsters in the world — then checked to make sure nobody had actually heard her, because that was a silly thing to do. She did start reading about them and making her own notes and lists and theories. Sure, someone else had probably done the work already, somewhere, somewhen, but redundancy is the thing, is it not?

When Kaitlyn was fifteen, her parents paid half the price of buying her her own computer so she could stop hogging the only one in the house. She promptly got on the internet and discovered online programming manuals and tutorials — open source — people more like herself than the kids in the neighborhood — and started writing her own distributed backup software. It wasn't very good, of course, but it was the principle of the thing and it was hers.

A distributed system in which every node is in the same house is no good, so she talked some online collaborators-acquaintances-maybefriends into running their own nodes. She picked them as carefully as she could, because she knew it wasn't secure even if she didn't know how to make it secure.

Seeing other people's backup files turned into sharing files on purpose, and her system became a forum of sorts. It wasn't as good as e-mail, it wasn't as good as a web site, but it was a tiny bit of preserving and creating the collective knowledge of humanity and it was run by ordinary people — well, ordinary nerds — for hardly more than the price of an internet connection, and it was hers. Kaitlyn was pleased.

When Kaitlyn was eighteen, she went off to college knowing perfectly well what she wanted to do — the same stuff, but better, and preferably somehow paid for it.

Permalink Mark Unread

The University of Illinois at Urbana-Champaign is probably a very good school. It's on the higher side as far as tuition and room and board goes - not quite as high as an Ivy League school, but up there.

But the campus is pretty and modern, the computer labs were very impressive when she toured them, and its academic achievements are many (even if it's most well-known for agricultural science these days.) The transistor was invented here, for crying out loud. In fact, the guys who invented it lived in this very same dorm hall! As well as some group of musicians who everyone else seems rather more interested in.

Most of the paperwork is already done. The process of moving in is surprisingly smooth, thanks to groups of volunteers unloading cars and pushing little carts piled high with suitcases around industriously. The dorm's front desk hands her a very peppy 'student handbook' along with her room key, the bathroom key, and a bag containing an internet modem and a few cables. "Oh, and there will be a mandatory floor meeting in the common area at eight tonight."

Permalink Mark Unread

“I’ll be there!”

And then it's off to the car with a Helpful Volunteer in tow, back to her newly assigned room (no roommate yet), hugs for parents, promise to call on Saturday or sooner, see them off, back to the room and set up her computer. How's the internet connection?

Permalink Mark Unread

The internet is...Acceptable! Though it forces her to use Ethernet, wi-fi is forbidden. (Despite that, some enterprising soul has already created a wifi access point called 'F1ght da P0w3r'.) And the handbook warns her that her speed will be automatically throttled if she uses more than two gigabytes a day, just above the contact number for Campus IT Services.

Permalink Mark Unread

It'll do for most of her purposes. There's supposed to be better connections in the labs anyway. Her friends all okay? Her backup network all okay? Yep. Good.

She unpacks the rest of her things into an organization so as to vaguely claim half of the space in the room.

She goes out to acquire her student ID and maybe textbooks (if the store's not too busy), taking a slightly meandering path to start getting familiar with the layout.

Permalink Mark Unread

The dorm itself has a big dining hall in the same building - they'll scan her student ID once she gets it (at the Illini Union Bookstore over past the main quad, can't miss it.)

The bookstore is not yet super crowded. And most of the textbooks are in the basement, conveniently organized into stacks with labels like "ECON 100s" "ECON 200s", etc. Some sort of bank shares the same real estate as the ID printing station in the back of the bookstore, and is pressuring kids into opening accounts, by almost acting like it's required. They back off at the first sign of balking, though.

The physics building is basically right across the street from the dorm hall, along with a few other (non-campus-sponsored) apartments and so on. On the other side of the dorm hall, a big theater takes up a whole block of space. All of the academic buildings she can see look very old and regal, in that university way.

The Main Quad is pretty much a straight walk out the door and to the right from the dorm - it's a wide, grassy field with academic buildings around it and a few tasteful, pretty trees, plus sidewalks. A stream with bridges and concrete banks marks the border to the Engineering campus is to the north, with a smaller Engineering Quad and a lot more outlying buildings. There's a very impressive, four-story Engineering Library. Past the main quad to the south tends to be agricultural and liberal arts type places. "Green street" (with a lot of popular restaurants and shops) and the official campus bookstore are on the far side of the main quad.

There's a bus stop right next to the bookstore. A bus arrives as she approaches, with "13N SILVER" on a digital display. Student IDs come with full free bus access, so figuring out the bus system at some point would probably be a good idea.

It will take a few hours if she wants to find all her classrooms in advance - or maybe less than an hour if she just takes a quick look around various places.

Permalink Mark Unread

This is not time to plan detailed routes. This is time to go put away her textbooks and then flop on her bed or maybe her computer and take a break before there is Meeting.

Permalink Mark Unread

Her roommate shows up before the meeting. "Sandra Bouvel, nice to meet you!" Three of her family members help cart in - a lot of stuff, particularly clothes and makeup and such.

Once the helpers are gone, "So what are you studying? I'm here for General Engineering. Haven't decided what kind I'll transfer into yet."

Permalink Mark Unread

“Kaitlyn Corbett.” She attempts to stay out of the way of the moving process and vaguely nervously fiddles with the positioning of her own stuff.

“Well, I declared computer science but that doesn't feel like the whole story, and I think I'm waiting until I know more about what classes are actually like, versus how they are described in the catalog, before I try for a minor or something to get closer to the course of study I actually want.”

Permalink Mark Unread

"Yeah, we've got time to figure this stuff out. I hear there's great clubs and programs here. D'you mind if I rearrange my furniture-" she starts on it without waiting for confirmation

 

Sandra remains idly chatty while she arranges her closet, knickknacks on her desk, and setting up a clunky desktop computer, and soon it's time for that floor meeting thing.

Permalink Mark Unread

Idle chatter does not demand prompt and explicit responses! She can arrange her own stuff and do computer things too!

She heads out to the meeting well after the “hey come to the meeting” hollering in the hallways but before she would actually be late.

Permalink Mark Unread

The RA introduces herself and points out where her room is. "If you have any issues with the facilities, problems with another resident, things like that, come talk to me, slip a note under my door, send me an email. Whatever. I'll help you figure things out if you guys need it. Now, about rules..." There are a few base rules ("no smoking in the building", "if you see a monster, walk away and call 911, not that we get many on campus" "don't let non-residents stay over for more than a few hours without talking to me") and then the RA invites them to discuss 'community standards'. Things like 'don't play loud music at 1 AM' and 'if you make a mess in the minikitchen, for god's sake clean it up'.

Permalink Mark Unread

Kaitlyn would like loud music and related activities to stop at 11 PM but understands that that probably won't go over well. She suggests signage pointing at the cleaning supplies (and possibly in general the correct places for things), because people are more likely to do the right thing if it is also the easy and obvious thing.

She doesn't say much otherwise, though she sometimes looks like she was almost going to.

Permalink Mark Unread

The group eventually settles on "11 PM Sunday through Thursday, 1 AM on weekends" for the end of loud noises.

Cleaning supplies can be checked out from the front desk. If she wants to print out papers explaining how to check them out, or explaining what should and shouldn't go into the recycling bins, the RA will post them.

"And oh everyone, the freshman commencement ceremony is tomorrow morning at 11, down at the football stadium. You can take the 22-S bus and get off at the stadium. You really should go see it. There's going to be a free lunch and they'll hand out bookstore coupons, if nothing else will tempt you."

Someone asks if there is a Spirit Association branch on campus. "It's in downtown Champaign, actually. The local fighting Bearers spend most of their time dealing with things in the farmland 'round here, though."

Permalink Mark Unread

(That doesn't sound like an optimal strategy for a clean kitchen but this is not the place for arguing that.)

Okay that is slightly too many facts that she actually wants to keep straight time to pull out the voice recorder and quietly repeat all those times and places — “quiet hours 11 sunday to thursday 1 AM otherwise — ceremony tomorrow stadium via bus 22-S — spirit association is downtown" while stepping back and doing her best to not actually interfere with anyone else listening to whatever is next. Then it can keep recording.

Permalink Mark Unread

There is an argument over whether the bathroom door should be locked - it's going to be annoying to keep using your key especially if you're in a hurry or something - the RA says that official policy is that if even one person requests the bathrooms be locked, then locked they shall be.

Then she goes back to explaining rules. Particularly, she repeats the university's extremely dim view of plagiarism and cheating.

A sheaf of forms is passed around. "Inspection forms for your rooms. If something is broken at the end of the year they might decide to charge you for it unless you note it down now. If something is wrong, don't hesitate to submit a work ticket. The maintenance crew will take care of it sooner or later. So, note down any obvious damage, sign on the line that says you read and understand the rules, and slip it under my door. Also, make sure you sign the clipboard that's going around, that says you were at this floor meeting. Once you do, class is dismissed, but I'll be hanging around for an hour or so if you need anything."

Permalink Mark Unread

Good good, clipboard form and not-clipboard form and leave and go over the room's condition in an adversarial frame of mind and now figure out how the preparing-for-bed-routine works with a bathroom shared with strangers and — go sit down at the computer and catch up with actual friends rather than impersonally interact with maybe-possibly-future-friends. Then it is time to go to bed at a reasonable hour and lie awake trying to get used to new nighttime sounds.

Permalink Mark Unread

The bathroom is spacious, has a long row of sinks and mirrors well away from the toilets, and individual shower stalls with individual (cramped) changing rooms.

Her room is in pretty good shape overall.

 

Fast forwarding to commencement - Thousands of undergraduates crowding into the stands of a football stadium (and not by half filling it to capacity). There are speeches by self-important administrators and a few professors about the power of dedication, hard work, and creative learning, and how you the students are the future of America. There is bragging about the school's academic achievements and history - the story of the transistor features there. There's a reasonably impressive display by the school's marching band.

The promised free lunch and coupons appear, at least.

Permalink Mark Unread

Yaaaay uuuuussssss.

Live music is a thing, at least. And lunch is a thing. Anybody chatting about something actually interesting in the vicinity of lunch?

Permalink Mark Unread

There's a group discussing what they hope to learn in the CS classes.

Permalink Mark Unread

Eh, sure.

Permalink Mark Unread

"What do you even mean by 'hard algorithms'? Isn't that more math than computer science?"

"Well, it's kind of both? I agree that it's closer to math, though." The guy shrugs. "I think you might call what I really want to see 'data structures', not 'hard alhorithms', though."

Permalink Mark Unread

“Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious,” she quotes.

Permalink Mark Unread

"...Is that from a book?"

Permalink Mark Unread

The Mythical Man-Month, Fred Brooks. I haven't actually read it, I just like the quote, even if I don't entirely agree with it — the thing which should really come first is the interface, the API, the abstraction, not either the algorithms or the data structures. But maybe I'm too influenced by networking.”

Permalink Mark Unread

Someone else pipes up, "Yeah, what good is a program if the interface is unusable?"

Data Structures Guy shrugs. "I'll have more fun doing things that don't involve interfaces."

Permalink Mark Unread

“Not user interfaces — interfaces between different components of your program, and your program and others. If you don't get them right your program's a mess.”

Permalink Mark Unread

"That's the whole point of TCP/IP, only on a grand scale, isn't it?"

Permalink Mark Unread

“You gotta think about it on all scales, I'm saying.

“Hi, I'm Kaitlyn Corbett, CS major, and I look forward to arguing with you in the future.”

Permalink Mark Unread

"Welcome to the circle of curmudgeonly coders-hopeful!" He raises his can of Sprite. "I'm Teddy Greens."

Ralph Crishom, Miracle Davies ("call me Mira, hippie parents, you know"), and Samara Wilkens introduce themselves as well.

Permalink Mark Unread

“Nice to meet you!” she says, with a vague attempt at eye contact around the circle. “Got any plans for the future besides curmudgeonhood?”

Permalink Mark Unread

The score is two people who want to make games, one person who wants to go into AI, one who just shrugs, and Teddy who says, "I hope to write programs that actually help the world, one way or another. No idea what that might be yet, so for now it's just learning."

Permalink Mark Unread

“Well, I've got a plan, wanna team up?”

Permalink Mark Unread

"Well you'll have to sell me on the idea, but it's not out of the question."

Permalink Mark Unread

“Okay!

“What's the biggest threat to civilization? Monsters. The big ones are the obvious unsolved problem but you know what the the small ones do? They destroy information. How do we know what we've lost? How do we know they're not destroying exactly what we need to fight them better?

“Sure, there are effective backup systems. But they're expensive, and vulnerable in their own ways, and people have to think the information is worth keeping around and actually get around to arranging for backups and — depending on the type of system — verifying that the backups are actually working.

“What if something important would be found by analysis of historical records that just rotted away? We need cheap, effective, universal backups. We need people looking at the little things, and sharing what they find.

“I've already got something that works — I see myself as here to learn how to make it a real, secure, scalable system. Though there's still the problem of convincing people to use it, which isn't exactly computer science.”

Permalink Mark Unread

"Hm. Well, once you have all that extra information, data, knowledge that's been lost, you still have to make use of it. Analytics companies have a lot of work ahead of them already. And when you say 'I've got something that works'... There's a lot of levels that could be at. I can agree with the sentiment, though."

Permalink Mark Unread

“What I've got is a distributed backup, file sharing, and forum system that runs on home computers — mine and my friends'. I know it will totally fail if anyone involved actually tries to break it.

“And yes, doing anything useful with the data is another not-CS problem. You need scientists for the big idea; I'm sticking to the smaller problem of at least making sure that anyone using the system can learn that the data exists and get in touch with others to collaborate.”

Permalink Mark Unread

The other CS students have gotten into a conversation about game AI.

"I might need to learn more about what exactly it does. But I already have some shiny ideas."

Permalink Mark Unread

“Like what?”

Permalink Mark Unread

"Well, does everyone need a whole copy of everything? As long as there are a few copies - a few dozen or hundred copies if we have a large network - out there, even in pieces, little-used files can be retrieved on demand without taking up vast storage arrays."

Permalink Mark Unread

“—okay, that could work, but you would need to make sure that the copies aren't accidentally, like, too close together, and make more if some get destroyed. That sounds complicated to maintain. Not like too complicated but just another thing that would have to be done.”

Permalink Mark Unread

"You can turn maintenance tasks into algorithms with enough effort. And, uh, yeah, I'm sold on this idea. Toast to distributed storage?" He waggles the sprite can.

Permalink Mark Unread

“To maybe saving the world and getting not very much of the credit!”

Nearly empty juice bottle and aluminum can: a very unmusical sound.

Permalink Mark Unread

And he downs the remaining soda to finish the toast. "I think I'm going to go back to my dorm now. Exchange email addresses?"

Permalink Mark Unread

“Sure!”

She pulls out her recorder. Stops to think.

“I should prrrobably start carrying around some variety of actual paper. Practice handwriting, because tests. And it makes more sense for writing down email addresses anyway. D'you have a notebook?”

Permalink Mark Unread

"In fact, yes. Pens too." These items appear. He writes his email down and tears off a corner of paper to hand over.

Permalink Mark Unread

She writes down her college-issued email address and another one. “This one feeds into my system, so it's less private than regular email. There isn't a whole lot of point to that yet outside of exercising the functionality, but hey.”

Her handwriting is legible but wandery and painstaking.

Permalink Mark Unread

"Huh. I probably won't use that one, honestly. Anyway, bye!"

Permalink Mark Unread

“Bye!”

This thing is probably kind of winding down, right? Right. Back to campus. Maybe she'll locate her classrooms while she's out and about.

Permalink Mark Unread

The returning buses are predictably super crowded. Walking and finding her classrooms is a good plan - though most of them are on the north side of campus, closer to her dorm.

It's a nice day out, at least. The buildings are mostly pretty old, especially near the center of campus, and look it inside and out. The math building (Altgeld Hall) in particular looks like some kind of castle, with weird staircases, old fashioned desks and blackboards, and a maze of halls.

Siebel Center, the computer science building, is easily the most modern and nicest building of the ones she has classes in.

Permalink Mark Unread

It would be entertaining if the math building had secret passages or was topologically interesting. She'll have to ask someone who would be amused by the question.

For now, she will return to her room and peruse her textbooks.

Well, go to her computer first and catch up on things. Oh hey it's dinnertime, let's not forget to eat.

Permalink Mark Unread

 

The next day is Quad Day! Almost every inch of the grass and paths along the Main Quad are covered in stalls supporting various clubs and organizations. Anime club, gave dev club, yoga club, Engineers Without Borders, book clubs, various advocacy groups, a couple dozen ethnic-focused clubs, a bunch of people sparring with foam weapons over there, improv theater club...

Permalink Mark Unread

Okay so a club that she bothers with should be one of

  1. useful to her education (having something to do with information technology),
  2. useful to her mission (having something to do with networking in the non-computer sense, or monsters),
  3. useful to her health (a minimally annoying form of exercise), or
  4. just plain fun.

She meanders towards the game dev club's table. Games may not be her thing in very particular but it could be a bit of № 1 and a bit of № 4.

Permalink Mark Unread

The game dev club is a popular club. They have a small swarm of people around them and two laptops with a sign-up web form open on them.

"-No, I don't think you'd be able to find someone who will just make your game idea. We all have our own ideas already! But you're welcome to come to our meetings and watch people, maybe learn how to do it yourself, maybe join a team and suggest some of your ideas..."

"-Actually programming a game is tricky yeah, but if it's not a good game design it won't be fun no matter how much great art and music and programming goes into it."

"Hi!" Someone greets her. "Are you interested in making video games?"

Permalink Mark Unread

“I wouldn't say it's my life's ambition, but I know a thing or two about network programming and it might be interesting and educational!”

Permalink Mark Unread

"Ooh, an actual programmer! Well, if you don't like it you probably shouldn't do it, but making games is a, ahem, satisfying creative enterprise..." He talks about what the club actually does - mostly a newsletter and securing lab time for its members, and arranging for people to give advice to each other. "You would not believe how much easier programming is if you have someone else who's competent in the room with you."

Permalink Mark Unread

“I can imagine! Well, you're on my list, but I gotta see what else there is I might want to do.”

Onward. Who else is doing programming-type stuff?

Permalink Mark Unread

There aren't too many.

A group called the Simulation Club appears to be catering more toward hard engineering majors than computer science ones.

The local chapter of the ACM is recruiting, with a cleanly made poster espousing help with CS classes and the beauty of optimization.

Permalink Mark Unread

Okay the parent organization has a cool name but what do university chapters of the ACM actually do?

Permalink Mark Unread

They have meetings to talk about programming news and programming career advice and have subscriptions to scientific journals about computer science and get lots of lab time on the good computers and organize programming contests!

...And Teddy's signing up. "Oh, hi! I definitely forgot your name, but not the backup system idea."

Permalink Mark Unread

—yeah this is more her speed, she'll sign up too, and randomly making friends and sticking with them is part of the college experience, yeah?

“Kaitlyn! And you're” — exaggerated thoughtful look — “Freddy, right?”

Permalink Mark Unread

"Teddy. Seen any other good clubs so far? I might join one of these athletic ones. Just so I don't turn into sticks and bones."

Permalink Mark Unread

“I'm talking to the computery ones first and then I'll see about what else I noticed on the way. Game dev seemed like sensible folks but it's not quite the thing for me. And something for exercise is definitely on the checklist but I have no idea what I would actually stick with.”

Permalink Mark Unread

"Yeah, that's the trick. Sticking with it. You don't have to join a club, strictly speaking, though. There are athletic centers you can get into by showing your ID."

Permalink Mark Unread

“Sure, but that's boring — I strongly expect, at least — which is not how one sticks with a thing. What athletic clubs do you know there are anyway? I saw the yoga and the I-dunno-whether-it-is-martial-arts-or-LARP.”

Permalink Mark Unread

"The foam weapons? They call it Numenor and it's more martial art than LARP. Though not much like either. I saw cycling, soccer, basketball, swimming, and tennis clubs earlier. They're mostly huddled up between the art building and the big theater."

Permalink Mark Unread

She does not look excited by any of those additional options. “Well, I'll have a look. Thanks.”

Permalink Mark Unread

"I guess I'll see you in the ACM meetings and maybe class. Bye."

Permalink Mark Unread

“See you!”

She continues her initial tour looking for more CS-related things first, but nothing else is a good fit for what she wants to be doing in her spare time. Time to work on a different checklist item.

What are the foam-swords people doing in more detail, and is this a hobby for Upper-Body Strength People only?

Permalink Mark Unread

Being slightly fit will probably help, but the foam weapons are actually really light! She gets a foam shield too if she'd like to try it.

The rules boil down to- only hit in such and such ways (no stabbing, no headshots, etc.), and if you feel a hit act as if that limb is disabled. A second limb hit, or one to the main body, makes you out.

Permalink Mark Unread

—you know what sure let's give it a try.

She steps into the ring with her best I Have No Idea What I'm Doing But That Won't Stop Me face on. Speaking of knowing what she's doing, any pointers?

Permalink Mark Unread

"Put one foot forward of the other. But not too far forward! And don't swing your shield out too far when you block!"

They match her with someone else who's new. He looks just as nervous. "Should be fun no matter who wins, right?"

And then they fight with foam swords.

Permalink Mark Unread

Does “mostly hide behind your shield and try to reach around it” work?

Permalink Mark Unread

The other guy dodges back rather than try to use his shield to block everything. She leaves her legs too exposed! The other guy hits one, and the organizer tells her to kneel on one knee. "You still have a shot though. He has to get you again to win. Keep your shield lower."

Permalink Mark Unread

She attempts this.

Shortly afterward, her attempt at defense with this constraint results in falling over sideways.

Permalink Mark Unread

When that happens, it's easy for the guy to finish her off with a whack to her back. She does manage to hit one of his arms, forcing him to drop the shield, first though.

Permalink Mark Unread

“Okay so that was terrible but fun show me your signup form.”

Permalink Mark Unread

The guy leading signups laughs. "Glad you like it! So we do have a five dollar due, that covers supplying our pile of loaner equipment and bureaucratic stuff, but you can pay that whenever as long as it's in the next month or so. Here's our rules and regular meetings," paper is handed over, "And we also have a waiver you need to sign. Just acknowledging that this is a contact sport, you might get hurt. Standard stuff." Another paper.

Permalink Mark Unread

She will review the waiver carefully for the more obnoxious clauses that can be in such things, sign it, and pay later.

“See you then!”

Now, how about more things worth checking out. Anything on agenda item two?

Permalink Mark Unread

The waiver doesn't have anything more suspect than 'this club and the University is not responsible for injuries sustained in this activity'.

...For item two, aside from the shooting club's kitschy display of monster-shaped targets, there's the Spirit Bearer Appreciation Society. Apparently it's a bit of a running joke to call them the Magical Girl Fan Club?

Permalink Mark Unread

Easy jokes don't communicate very much. How do they actually present themselves?

Permalink Mark Unread

They are a research society! Though it's pretty clear after talking to them for a few minutes that they don't do much if any actual research, as in peer-reviewed studies, on magic and monsters, more like a newsletter or gossip club on it. Though one of their members is supposedly writing a book about monsters (he's not here today).

Permalink Mark Unread

Do they, like, publish the newsletter for non-members?

Permalink Mark Unread

Well, there's a (badly put together) website she can visit, and they donate a copy or two of each one to the school libraries, but printing things is expensive so they don't have a lot of extras.

Permalink Mark Unread

— would they be interested in help with their web site.

Permalink Mark Unread

Well, that depends. It'd be volunteer work. And it'd be a little iffy to let some random freshman change up the web site on a whim, even if she is in CS. Maybe she should come to meetings and get to know people and, like, write up a plan and propose it then?

Permalink Mark Unread

She'll consider it but not make any plans right now; this would be a nontrivial intellectual effort and presumably there will be, like, homework competing for that.

Nice talking with you. Next?

Permalink Mark Unread

Nothing especially relevant to her interests can be found after that.

Permalink Mark Unread

Then it is time to go.


On Sunday she actually manages to peruse her textbooks. Thing she already knows, thing she's heard of, nifty thing, what even is this…

Permalink Mark Unread

Freshmen are required to take an annoyingly high ratio of 'basic' classes. Math, physics, English, some kind of liberal art (whichever she chose). She only has two actual CS classes - one is 'Introduction to Computer Science' and one is 'Foundational Programming'.

Formal logic is not programming-y! It's pretty weird, actually. But the intro to computer science book claims it will be invaluable in later classes.

Permalink Mark Unread

Hey, it's good to know a little bit about everything. Well, some things. She's totally behind the principle here. And she knows that bits and Booleans are the foundation of computing.

But then it's lunchtime and then she will spend some time vaguely beginning a prototype of Teddy's suggestion of partial copies and catching up on network things and then it is dinnertime and okay better try to be well rested for the first day of classes.

Permalink Mark Unread

Classes! Has she bothered to try and learn the bus system, or will she just walk? Either way, physics 101 is up first. The lecture hall is easy enough to find - and it's a big lecture hall. Easily 300 or more students are crammed into the seats when the professor introduces himself!

"I know almost all of you are engineering students of some description. A lot of you will have already covered a lot of what we'll be doing in advanced high school classes. But pay attention and get into the habit of good schoolwork. I will tell you from experience that high-level classes are much harder."

TAs then pass out a syllabus to everyone as the professor does a variety of flashy physics displays - bouncing balls, tricks with springs and spinny things, setting off a small explosion - interspersed with descriptions of when they will cover the concepts involved.

There is no score for attendance, but they will have weekly quizzes on Fridays and those are a decent fraction of the grade. There are also discussion sections where they do work on problems as a group (attendance is graded there), homework (can be completed on paper or online), and practical labs. Plus, of course, two midterms and a final exam.

Permalink Mark Unread

Well, this looks like it will be reasonably interesting.

Permalink Mark Unread

The rest of the course introductions go to a similar tune. The list of topics they'll be touching on in CS 101 is enticing in its variety - A brief history of computing, basic computer architecture, concepts like the operating system, compilers, all the abstraction that computers use, introduction to algorithms, a primer on some data structures, the general idea of how to optimize code, a short look into systems architecture and APIs, and finally three full weeks on debugging and case studies of particularly interesting/important bugs.

Permalink Mark Unread

Ooh, levels of the systems she hasn't actually gotten to know very well already. (Going to college for what you're already doing does have this problem.)

Permalink Mark Unread

And the CS class launches into the first topic and gives her homework right off the bat too! Learning! This is exactly what college is supposed to be about.

Teddy shares the CS discussion section with her, but the first bit of lab work is simple enough that the TA holds her own sort of mini-lecture after the standard academic introduction and getting everyone's credentials sorted out, so he doesn't actually get a chance to talk to her, and then-

Time flies. It's Saturday morning almost before she knows it.

Permalink Mark Unread

The first thing to do is to call her parents like she promised.

Now, what else is on the agenda for the weekend? Any club meetings? Events-announced-on-flyers? Optional continuing orientation things?

Permalink Mark Unread

The ACM meeting is this afternoon in the Siebel Center building! Plus the foam-swordfighting club will be in a park about half a mile outside of the main campus for a few hours.

Permalink Mark Unread

One homework thing! Some work on the idea Terry had about partial backups! Catch up on forum doings! Lunch! Meeting!

Permalink Mark Unread

The ACM meeting is mostly an introductory sort of thing. They have a small social and the speaker at the front goes over all the events and activities the ACM actually does.

Terry is there, of course. He finds a seat near Kaitlyn. "I've been thinking more about my 'distributed storage' idea, I want to talk about it after this if you have time?"

Permalink Mark Unread

“Sure. I wrote a little bit of code for it already, but I'm not sure how to routinely verify that all the pieces are right; not that this isn't a problem already but if you're storing less than everything it's reducing the margin for corruption —”

But she should also listen to what is being announced.

Permalink Mark Unread

"I bet we can do something similar to backup systems, they do some neat tricks with checksum and similar mathematical checks, I think. It's just on smaller sub-files now."

Permalink Mark Unread

"I've tried to read up on how the ‘real’ systems work but there's lots of math I don't know where to start with. Guess that's what I'm here for.”

Permalink Mark Unread

"Yeah. I did some self-study, but..." Headshake. "Computer architecture on the basic level is really tricky. One neat thing I found they do - Say there's a difference in the file checks, something is corrupt, we can run the same check on each half of the file and find out which half the error is in. And then do that again and again on smaller halves - Binary search in practice. But then it went on about how there might be more than one error per file, or an error in the header or index, so they need to do some other check and it got really complicated really fast and I put that paper down. But like you said, learning this stuff is what we're here for. It's exciting."

Permalink Mark Unread

“But why would you bother checksumming half the file when you can just compare the files — oh, over the network, saves bandwidth. Yeah.”

What was that they were saying about access to computer labs?

Permalink Mark Unread

"Technically not bandwidth. That's about frequencies of radio transmission..."

They were saying that the ACM can get you desk time on most computer labs as long as you schedule it in advance, and non-schedule-needing 24-hour access to two of the less shiny ones. Those might be full in peak hours though.

Permalink Mark Unread

“So I've heard, just they're related through some equation I don't remember so it's wrong but not that wrong.”

Nifty, though she's surprised that usage is consistently that heavy considering that you have to be a member.

Permalink Mark Unread

"Bandwidth and ability to transfer data are related, sure, but they are fundamentally not the same thing."

Lots of other people can access those labs for a lot of different reasons - being in the ACM is just one.

The organizer encourages everyone to sign up for some additional ACM programs and closes the meeting.

Permalink Mark Unread

“I've got an hour free, want to head to the open lab and see what I've got so far for sub-file synchronization?”

Permalink Mark Unread

"Sounds fun. We probably want to make, like, a whole architecture plan or something at some point..." Off to the lab!

Permalink Mark Unread

“This is a deployed system. That means it isn't a plan, it's documentation. Uh, unless you mean a plan for the new synchronization in particular. I haven't been much for detailed planning of a program I'm going to write, at least outside of my head, but we can give it a try.”

Permalink Mark Unread

"You're saying it's, like, TCP/IP and not Internet Explorer, what you're doing?"

Permalink Mark Unread

“—no? Sort of? I mean, it is actively in use so the most important thing is not breaking it, and a new feature has to be compatible with the versions that are already running or you have to specifically get everyone to restart their node all at the same time. You can plan changes but you can't plan the system because the system already exists. That sort of thing.”

Permalink Mark Unread

"I think I get it. I mean, like, documentation of how it all works and then documentation of how it will work with the upgrade... Hm. I need to install your system and poke around with it."

Permalink Mark Unread

“Ooh, my network expands.” Grandiose hand gestures.

 

Lab! Internet access! She can type in an address and download a copy of the node software and show him how it's structured. Or not so structured. “Like I said, it's gotta work with the existing system. I want to rewrite these parts in a more suitable language but it doesn't have to happen now, and I'm sure I'll have a better idea of what a suitable language is in a year.”

Permalink Mark Unread

Terry spends a while 'hmm'ing at code.

"Honestly, looking at this... I mean, like... Maybe you should organize it differently? For the new version. We can, uh, plan for what features we want it to have better that way. No, that's not what I meant... Auugh I can't find the words for it."

Permalink Mark Unread

She helps assemble a better explanation of what he has in mind and takes notes.

Permalink Mark Unread

Coding is surprisingly fun. And rather difficult. They've only just had their first week of formal CS classes, after all. "I can't help but feel like we'd be better off waiting a few weeks and starting once we have more class in our heads."

Permalink Mark Unread

“Sure. This isn't the time to actually write new versions of anything. But I find that having a concrete thing you're working with that just might possibly benefit from whatever you're trying to learn is useful.

“When I was reading Introduction-to-This-Programming-Language books I could never get myself to stick to the little tutorial programs; I would go off on a tangent more generally interesting or relevant but close enough to follow along with. Like, the tutorial is a little database of ‘employees’ and I make a todo list instead.”

Permalink Mark Unread

"I guess I can see that. And speaking of tutorial programs... Wait, where was I going with that? Nevermind. I should probably go back to my dorm around now."

Permalink Mark Unread

“—I should too, I'll be late to a thing! Bye see you later!”

And she runs back to her room to change into clothes appropriate for getting hit with foam swords in because that was the next thing on her schedule.

Permalink Mark Unread

It's a tutorial session! They have lots of single pairs with veterans showing newbies how it's done instead of the big group battles that are the norm.

Does she have her $5 and waiver?

Permalink Mark Unread

She does.

Permalink Mark Unread

Then she can have a fun, exercise-y Saturday.

Permalink Mark Unread

Then she can go back to her room and shower and do some easy homework and check on her network and go to bed.

Permalink Mark Unread

And school life proceeds. Classes get surprisingly hard surprisingly fast. Her roommate annoys her with minor things sometimes. The dining hall's food starts tasting a little more bland than before. Teddy works on the upgraded mutual backups system with her occasionally. Time passes.

Permalink Mark Unread

Oh good some actual challenge.

She does end up joining the “Magical Girl Fan Club”; they may be mostly silly but they are an information-gathering-and-distributing organization and she can nudge them into being more useful from the inside, and they can have a spiffier sparklier web site.

On an otherwise ordinary Monday, she overhears something about Spirit Bearers having been seen on campus. Anyone know what that was about?

Permalink Mark Unread

The Fan Club finds the original blog post with pictures - yep, that sure is two Spirit Bearers, on campus, with a few police officers. Maybe there was a monster attack or something? But there's nothing like that on local news.

Permalink Mark Unread

Huh. That's something to keep an eye on.

Permalink Mark Unread

 

A few days later there is a press release that goes out on a lot of local news and gets posted in the dorm halls.

A genie has taken up residence in the Undergraduate Library. The genie is not a danger, but please do not interact with the genie without clearance. Pestering genies that want to be left alone is a crime.

Permalink Mark Unread

She has no intention of pestering the genie, but she does need to use the library sometimes.

Permalink Mark Unread

The library is still usable. The little sunken outdoor courtyard that nobody really used anyway has been sectioned off and most of the doors locked. The genie is a vague silhouette of dust out there, blowing from book to book and using the wind to turn pages.

Permalink Mark Unread

She glances at it discreetly as she walks past the windows (always gather what information you can).

She finds the book she was looking for, and also checks out one of the low-end laptops the library has available — she may have her own but she is working on a three-node interaction in her software that is hard to realistically test on a single machine, and the open computer lab schedules are inconveniently short blocks.

She leaves with her acquisitions, past the courtyard again.

Permalink Mark Unread

The wind speaks in her ear. "That is not a book. Can you get things that are not books from a library?"

Permalink Mark Unread

—eep.

“Yes. This is a computer. The library offers things that are not books but are for learning.”

Permalink Mark Unread

"Books are not always satisfactory. Would this thing be better than books?"

Permalink Mark Unread

“It depends on how books are not satisfactory. Books have specific information written in them. Computers start out with not very much useful information but can be used to obtain, store, or process information, but they require more knowledge and specific steps to use.”

Permalink Mark Unread

In a remarkable display of planning ability (for a genie), instead of asking about its current obsession it says, "I would appreciate if you showed me how to use the computer to find information."

Permalink Mark Unread


"Um. Okay."

She sits at a small table by the windows and opens the laptop, arranging it to be as visible through the windows as still lets her type. While it boots:

"Computers are delicate and complex machines so they need to be treated carefully — don't get them wet or dusty or shake them up too much. And they need electricity. This one has a battery but I will have to plug it in some of the time," doing so, " for it to keep working."

It has gotten to the desktop. "This part is the screen, or monitor, which displays information. Some of it is always about the computer itself, like page numbers on a book. On this half are the keyboard and trackpad which are used to control the computer and to put in information, such as what you are searching for."

She roughly explains the idea of a graphical user interface while finding the icon for the web browser and opening it. Of course, the start page is set to the university's site.

"Is there some information you'd like me to try to find, so you can see how it works with something you are interested in?"

Permalink Mark Unread

The genie can't follow her, but it seems to be aware of the general area anyway. Little breezes play around, kicking up dust on the desks nearby.

"I will remember to treat computers gently. How would I search for information about corn history?"

Permalink Mark Unread

"We can have this computer ask other computers for information. Those computers all together are called the internet, or the web."

She types "history of corn" into the search field and gets some results.

"This list is all different things that another computer called a search engine guessed are good for those words. It's sort of like a library catalog but it is made only by computers looking at information stored on other computers so it is not as well organized. One of the skills of using the internet is judging whether something is likely to be a good reliable source. For example, this is Wikipedia — it is modeled after the kind of book called an encyclopedia, but it can be edited by anyone so anything in particular might be wrong because no one else fixed it yet. It's often useful for getting a general overview of lots of subjects."

She has lots more to say on how to do research on the internet, and will continue as long as the genie seems interested or she actually has to be somewhere else.

Permalink Mark Unread

The genie listens for about five minutes then says, "This is useful. I will remember this process. I will remember you. I will go back to researching now."

Permalink Mark Unread

She collects the laptop (she half expected to have to let the genie have it) and leaves.

—.pauses when out of sight of the genie; whew.

Permalink Mark Unread

Getting a thank you from a genie is extremely unlikely anyway. It might have granted a small wish if she'd asked - but then again, maybe not.

Permalink Mark Unread

Hey, (1) “I will remember you” and (2) lack of anything actually going wrong is pretty good!

Permalink Mark Unread

The next day the library has a new sign by the front desk.

The Spirit Association would like to speak to the person who demonstrated the use of computers to the genie currently residing in the Undergraduate Library Courtyard if possible. Please call (555) 555-5555 if you are this person. Please do not call if you have information about this person - instead, ask them to call us directly.

Speaking to or making deals with a genie is not illegal - You are not obligated to report any deals agreed to with a genie - Requesting criminal actions of a genie is a class III felony punishable by up to three years of prison or a $25,000 fine.

Permalink Mark Unread

—they could try a little harder to be friendly and inviting about it, really.

But she will call that number.

Permalink Mark Unread

"This is the Urbana-Champagne Spirit Association office, how may I help you?"

Permalink Mark Unread

“I am ‘the person who demonstrated the use of computers to the genie currently residing in the Undergraduate Library Courtyard’.”

Permalink Mark Unread

"Ah... Yes, that. You are not obliged to tell me anything about this. It is perfectly legal to speak to a genie under most circumstances, including yours. To verify that you are who you say, what did the genie get you to look up on the internet? Can I ask why you ignored the cautionary notices and talked to it?"

Permalink Mark Unread

“It asked about the history of corn. I spoke to it because it spoke to me first.”

Permalink Mark Unread

"Fair enough. We just want to follow up and if possible learn what exactly you taught it, and if you made a deal with it. The ability to somewhat predict a genie is something the Spirit Association really likes to have, so we know what to do if there are any incidents or emergencies involving it."

Permalink Mark Unread

“I showed it the basic operation of a laptop and web browser and told it some basic advice about internet research before it lost interest. It said it would remember me but nothing more deal-like than that occurred.”

Permalink Mark Unread

"Yes, that's not out of form for a genie. But it spoke to you first about the computer? It initiated the conversation? Hmm... Well, that's all we really wanted to know. Thank you for calling in about it! Do you have any questions?"

Permalink Mark Unread

“Not particularly, unless catching a genie's interest qualifies me for non-public information on the subject or something. Oh, I remember what it got interested in first — I was carrying a loaner laptop I checked out from the library and it was surprised that I had something that wasn't a book.”

Permalink Mark Unread

"We do maintain a list of charitable wish requests if you earn a genie's favor enough for it to offer one and don't particularly know what to do with it." He sounds like he doesn't think she'll be interested but is vaguely hopeful.

Permalink Mark Unread

“I'll keep that in mind. Do you have another number or address you would prefer to be contacted by in case of that or any sort of followup?”

Permalink Mark Unread

"This is the public number, you should just call this again. We have a general email address and an office in downtown Urbana too." He gives the email when she is ready to note it down.

Permalink Mark Unread

She will use her handy voice recorder to capture what he says in lieu of bothering with paper. “Thanks!”

(She could probably look up that information herself, but you never quite know and It's worth acknowledging people being polite and helpful as best they can.)

Permalink Mark Unread

"And thanks for calling in to tell us about this. More information is better when it comes to genies."

Permalink Mark Unread

And life goes back to normal. The ACM has decided that the usual presentation at Engineering Open House should be augmented by a very simple 'coding challenge' suitable for older grade-schoolers and middle-schoolers. Terry volunteers for a time slot manning the booth, too.

Permalink Mark Unread

Kaitlyn volunteers to help with the problem design. She would like to make sure that the problem — and how it is explained — are actually suitable for the target audience.

Permalink Mark Unread

"So the current leading ideas are a robot game - write instructions in a stupidly simple play language we make to make a virtual robot pick up dots or something - and an RC car obstacle course with an actual RC car that you pre-program commands for."

Permalink Mark Unread

“—Thaaaat's not going to work, unless we're talking about an RC car plus a lot of sensors to make it go exactly as far and in the direction it's supposed to every time. Real world physics is not easy to program against. Let's stick to the virtual robot. What are we going to do to make it more interesting than entering the correct sequence of forward-left-right instructions?”

Permalink Mark Unread

"I think the idea is to show them how to use loops and if statements and how much less tedious that is."

Permalink Mark Unread

“But it has to be still quick and not so complex that they get stuck in understanding how to design an algorithm. Hm.

“First thing that comes to mind is a little bit of maze with long corridors so that it makes sense to write sections like 'while there is a right wall, go forward, end while, turn right'. Seems almost too simple but it might be on the right level.”

Permalink Mark Unread

"Should work. Oh, we could - make the walls or floor different colors and give them a color sensor too, once they get past the basic one? And it'll help that the game isn't the only part of the display."

Permalink Mark Unread

“Don't want to get too complicated for the couple of minutes they're probably going to want to spend on this,” she says dubiously.

But they can try things and program prototypes with colored or plain walls, or multiple levels, or different sections of one big screen…

Permalink Mark Unread

It's productive! The upperclassmen come along and suggest changes. 'Suggest' might mean 'require', but if they have good arguments defending something they can keep it.

After an hour and a half the meeting disperses, they can continue working on it next week.

Permalink Mark Unread

You know what else they can continue working on next week? Homework! Classes! Schooooooool! Walking past the genie in the library while trying to pretend it isn't there! And a sprinkling of other things!

By Saturday she has to contribute: an explanation of the problem (left vague where they hadn't actually finalized whether it is a maze or an open field or what) and of a simple programming language, and a rough but adequate parser for the same language. This should fit in neatly with the others' work, but you know how group projects go…

Permalink Mark Unread

Group projects contain a lot of duplicated work if you don't plan it all out ahead of time!

Her code and two upperclassmen's code can get assembled into a working prototype. Terry says he knows an artist and can get simple graphics made. What-all animations and graphics do we need hmm...

Terry seems distracted and a bit stressed, though.

Permalink Mark Unread

Well, it does all have to get done in less than a week of days that also have classes in them.

In a moment when neither of them is needed for a piece of the work: “You okay?”

Permalink Mark Unread

"I got bad news from my family, is all. Nothing - earth shattering."

Permalink Mark Unread

“Oh.”


“I wouldn't up and assume we're that kind of friends but I'll listen if you want to vent? But not right now in any case.” Attention back to assembling the never-fit-in-the-first-place jigsaw puzzle!

Permalink Mark Unread

"Yeah, we're friends but not super friends yet. Maybe I'll vent later. I'm going to go home early today."

Permalink Mark Unread

She will get out of the way so he can exit as discreetly as possible.

Permalink Mark Unread

"Sorry to be awkward about it."

And he's gone. The meeting continues without him.

Permalink Mark Unread

So it does.

Permalink Mark Unread

A few days later Teddy find Kaitlyn when they have a moment to talk. "I wanted to tell you what was wrong the other day. If you don't mind. I was being weird about it and I might be being weird about it again now buuuut I would like to tell you. It's nothing - bad."

Permalink Mark Unread

“If you're sure. I am naturally a nosy busybody when I have an excuse but I try to keep it down.”

Permalink Mark Unread

"...My parents had a car wreck with my brother while he was visiting. They're all okay and I'm glad for that, but apparently hospitals are ridiculously expensive even with insurance, so. There was a small spat about that... It sounds so petty. But that's my family for you."

Permalink Mark Unread


“—oh.


“I literally don't know what to say. Uh. 'That sucks'?”

Permalink Mark Unread

"Yeah, pretty much. I know it seems weird to talk about this when we're not super close, but I kind of want to - tell someone. It sucks. I'm not entirely sure why you're, like, socially not supposed to talk about money? Anyway. Hopefully I can keep my scholarships."

Permalink Mark Unread

“—isn't the general point of a scholarship to, uh, be at least independent of the money you have?”

Permalink Mark Unread

"Yeah, but two of them are merit scholarships. One for being from a semi-rural area and one for having good SAT scores. They go away if my grades are bad."

Permalink Mark Unread

“Oh. Right. That kind of losing them.

“Well, let me know if you need a study partner or something?”

Permalink Mark Unread

"I might take you up on that for the next programming assignment. Pointers are weird."

Permalink Mark Unread

“I can say some things about pointers.”

Permalink Mark Unread

"Then we will have a productive and insightful study session. Does the basement lab at four work?"

Permalink Mark Unread

“Sure.”

Permalink Mark Unread

 

Pointers are, eventually, manageable. "I'm starting to feel like software development isn't for me. I like - tinkering, making things work, more than making things from scratch."

Permalink Mark Unread

“But still digital things, or something else?”

Permalink Mark Unread

"Probably still digital. But hardware stuff is neat too. Server administration maybe?"

Permalink Mark Unread

“—I wouldn't have thought of it in those terms but that sounds like a good idea.”

Permalink Mark Unread

"Yeah! I think it'd be interesting. More on the keeping things working side instead of the writing arcane code side. I don't think our curriculum is optimally designed for that though."

Permalink Mark Unread

“Well, if you want to study hardware, switch to computer engineering. That doesn't really bear on administration, though.

“For what it's worth, do you want to hear about what I've learned and read running my network?”

Permalink Mark Unread

"...Ooh, definitely. I didn't think about that. You have actual client-facing experience. So to speak."

Permalink Mark Unread

“Keeping in mind that this is all strictly amateur …”

She sure does have a lot of thoughts on the subject.

Permalink Mark Unread

"Amateur it may be, but it at least gives me a direction to start with. There are probably books about client management somewhere."

They discuss for a while, and then school life resumes pretty much the same.

Permalink Mark Unread

It does! It is educational! Useful in the future! Allegedly!

Six days in the future, the open house starts. It is time to see whether their efforts produced a suitable solvable and fun challenge.

Results: mixed. Considered as a game, it really could have used some playtesting. But they can make it better for the next two days — anyone feeling enthusiastic enough to work on that on a Friday evening?

Permalink Mark Unread

Sounds distracting. Sure, why not.

The next day it turns out a short demo/lecture of what programming is like makes it significantly easier for all the middle schoolers to figure out the game! It's almost like a tutorial, except in real life.

Permalink Mark Unread

Gosh, such patient visitors! They shall be rewarded with free education!

She maybe gets into it a little too much and has to be reminded that they should also get to try the actual game.

On Sunday they've got the routine down really well.

Permalink Mark Unread

On Sunday the crowds are much thinner, too. "We can relax a bit. Shouldn't get too overwhelming on them anyway, handholding isn't learning either. I might even take off early and look around some of the exhibits some more. The civil engineering guys have a neat quicksand thing."

Permalink Mark Unread

“Ooh, physics demos.”

A bit later, the crowd gets really thin and, indeed, they don't need nearly as many staff as they've got.

“Mind if I come along?”