Monday, July 20, 2009

Hacking

KMFE: Ok, LLF, so the data Alan left is on this harddrive. I don't know if it's encrypted, but it's hard to get at. We have a program to get at it, but this thing's some 40,000 lines of assembly, no function call conventions, no stack. Just one dense mess. On this floppy. LLF: Have you run it yet? KMFE: Yes, but here's the problem. This thing runs on the bare metal. 80386SX, I was told. Could try it on a newer 386, but to avoid debugging ten things at once we got the real thing. LLF: Nice. Get that on Ebay? Greg: Of course not. This was in my attic. Dell 320N. Nice piece of brick. KMFE: LLF, the reason it's lucky Greg had one is that we can't communicate with anyone right now. That includes the internet. So we're stuck with the tools we've got. LLF: Was the code meant to be run on the 320N? Greg: I don't know. It seems to run OK. KMFE: Right, except for one thing. It randomly fails. LLF: ie it doesn't actually run OK. KMFE: Well, the puzzle is it fails in a different place each time. 869 seconds, 1106 seconds, and 237 seconds. LLF: How do you know it fails? KMFE: The machine resets. LLF: How do you know that's not functional? KMFE: We don't. At least I don't. But I checked the floppy and it hasn't changed after a reset, so it would seem to be starting from the same parameters. LLF: How about the harddisk? KMFE: There is no harddisk in here. LLF: Does the 320N have any EEPROM or other persistent memory? KMFE: I don't know. That's the problem, dammit, we just don't know anything. Greg: Ah yes, it's "security by obscurity". We all hate it and make fun of it, but it's a nasty thing to get around. LLF: There's a possibility you haven't considered. KMFE: I don't doubt that. LLF: Supposing Alan programmed a random failure into it on purpose, to make it take longer to get the data out. Run it enough times and eventually it will get to the end without failing. KMFE: That's assuming it's some kind of decay process. God knows where he gets the entropy for the random numbers. LLF: How much time do we have? KMFE: I don't know. The bill were in Philadelphia this morning. How long will it take for them to find us and get here? I have no clue. We've got four programmers and not one guy who knows something. Greg: But LLF, if Alan wanted it to take a long time, it would be so it would become readable after they'd searched his house but before they torched it. But an exponential decay process would have too much variability for that little window. LLF: Well we don't know it's a decay process, do we? Heck we don't even know it's random; in fact it would be easier for it not to be. I'm sure he could fake a decay process. Greg: How? LLF: I don't know I'm not a mathematician, but I bet it could be done. Greg: No, I mean, how is he getting the new seed each time in runs? In fact, even if it is a bug, something is still different each time. Which is starting to look like a hardware problem. KMFE: Well if we had any other hardware maybe we could deal with it. We don't even know we have the right machine. LLF: Wait KMFE, what did you mean there's no harddisk? Isn't the encrypted/obfuscated data on that harddisk? KMFE: Oh sorry, I meant no internal harddisk. This one's read only. And I checked it after a reset - no changes. Greg: Well something's changing. It might be as simple as running the floppy drive and timing it for the seed. But we're never going to be able to inspect this code. LLF: Is there an emulator for the 386SX? KMFE: I doubt it, and even if there is, we have no way of getting it. We can try it on a newer 386, though. Greg: Man, I wish we could have two of these running at once. First, because I want to see it fail a few more times and see what the distribution of running times looks like. Second, if LLF is right and the failure is intentional, then we might get lucky and it will work. KMFE: Well it needs to read it over the serial port. We only have one serial harddisk. I suppose we could try to simulate it on the newer PC. But the simulation would be a newer x86. LLF: Man, you guys, you don't have anything. KMFE: That's the problem with programmers. Everything's so easy to simulate on modern hardware. Put em in front of a real computer and they don't know what to do. LLF: But look, if you're going to try to simulate it, could you tweak it? KMFE: Tweak it how? LLF: Well, if it's reading from the harddisk over the serial port it knows something about the hardware. But we don't know anything about the hardware. If the 320N is wrong then we'll never get it right. So it may be our only option is to fiddle with the running environment. Greg: I can try to set something up in an emulator. But I wouldn't know where to begin 'tweaking'. LLF: Can you run it in a debugger? Greg: I don't see what use that would do. Can't do a stack trace with no stack, and we don't know where to begin looking at this code. KMFE: Well how much control do you have over the simulation? Greg: What specifically are you looking for? KMFE: Well, some processor instruction is ultimately causing a reset. And some other instructions are getting it there. Can you tweak the behavior of the simulated processor? Greg: I don't like where this is going. But... maybe. KMFE: Because we can't rewrite the whole code, or we wouldn't be in this position in the first place. But we could 'rewrite' parts of it in a sense, by changing the behavior of the hardware. And we could see what instructions are being executed right before the reset if we ran it through a debugger. LLF: How likely is it going to matter which x86 it runs on? KMFE: I honestly have no clue. I'm an applications programmer. What'll probably change are the IO addresses for various chunks of the hardware. Greg: Which would kill it outright, depending on how Alan wrote it. LLF: In other words we still have no clue what we're doing. KMFE: Dead on, LLF. Greg: All right, I'm going to set up a simulated i586. Let me know if you have any new ideas. KMFE: You might be interested to know it just failed at 632 seconds. LΟF: Which happens to be yet another multiple of 79. KMFE: Coincidence? LLF: If it's exponential with a time constant around 700 seconds, you'd almost never get a gcd as big as 79.

Thursday, July 16, 2009

Meaning

There was a knock at KMFE's door. He got up from his computer and navigated through a maze of cables. It was Andrew and TDCP. TDCP: Can we come in? KMFE: Sure. Watch the cables. He led them over to where he had been working. They all sat down. TDCP: So, pretty... interesting place. KMFE: It fits my life. I'm programming pretty much 24/7 now. TDCP: Yes, we know that. KMFE: You're here to ask me a favor. Andrew: How'd you guess? KMFE: Old story. The patriarchal hero retires into a quiet life, the young people keep fighting. Then some powerful monster shows up and they come drag the old guy back into the mess. It's a classic plotline. TDCP: Beautifully perceptive, except as we are the same age I would not call you the patriarch. KMFE: Well since you're the one about to propose something crazy (I'm guessing) that makes me the wise one. So what arcane technology do you want me to beat up this time? TDCP: Actually, we weren't after your hacking skills. KMFE: All right now that is the second bad sign. The first is that you want to drag me out of my peaceful life. You know I have a job, work full time, and have given up on crazy schemes. TDCP: And give most of your money away because you don't know what to do with it. Andrew: In other words we think you're bored. Unless there's something we don't know about Democratic Republic of Congo. KMFE: Lowest per capita GDP. I don't trust silly schemes like shipping mosquito nets over to Africa. Poor people need money, plain and simple. TDCP: And the second bad sign? KMFE: You're not after my hacking skills. You see I understand hacking. If I'm working with computers I know what process I go through to get stuff done and I trust it. Of course it's not the only thing I can do, but I don't understand anything else. Even just talking to you people here is a mystery. KMFE opened the bottom drawer of his filing cabinet. He searched around for a folder and took it out. KMFE: But the other way this is like the classic story, is that I've seen worse than you. You guys have some ambitious and idealistic goals, I'm sure, but you haven't seen what that kind of thing can do. But I have. And if you want to know part of what pushed me into a normal life, is that I've seen unreal things. Things that are simply impossible. This world is messed up in a metaphysical way that you haven't even dreamed of. He opened the folder and showed them a picture of a woman standing at a train station. KMFE: And it didn't help that she died. She was the most amazing person I ever knew. She tormented me the whole time I knew her and I never resented her for it. At least never for long. TDCP: KMFE, you barely knew her. KMFE: Oh so you recognize her? TDCP: Of course I do. That's :P. She knocked down the church while we were in it. KMFE: Oh that's right. OK, well, then you have some idea. Andrew: Believe me, we do. KMFE looked nervously at Andrew sensing a hint that the favor they were about to ask involved :P. But she's dead now. TDCP: KMFE, we want you to travel back in time. KMFE paused for a few seconds, keeping eye contact so they wouldn't jump in and say something before he did. KMFE: I think it hardly needs saying that that is a fourth very bad sign. But this better not be one of those things. TDCP: No, it's not. KMFE: You're not asking me to kill Hitler, right? Because you know that's been tried before. TDCP: Time travel has been done before? KMFE: I said 'tried', not 'done'. I'm not meddling with history for you. But I assume you know better. So what is it? TDCP: The thing is, KMFE, we can't tell you. We just want you to do this. Andrew: We think you can ask :P to call you back in time. You met her a long time ago. KMFE: And you believe this because...? Andrew and TDCP looked at each other briefly. TDCP: We don't want to tell you that, either, KMFE. But we're pretty sure this will work. KMFE: Well, you haven't told me what my incentive is. I mean, you could argue that you're old friends, but I think this is a bigger deal than that. TDCP: I assume money won't work? KMFE: Of course not. Look, I'll make this easy, because it's pretty obvious what I really want. TDCP: OK. KMFΕ: I'll do this messed up plan of yours if you tell me why. Andrew: Look, KMFE, I'll give you an incentive. No one has ever gone back in time before. If you don't do this, no one ever will. KMFE: Andrew, you play mean. But come on guys, what is it? I met :P in September 2001; this better not have anything to do with that. Andrew: No, nothing to do with that. KMFE: And this better not be some silly hunt for meaning and purpose and the reason for existence because I'm sick of things like that. TDCP and Andrew looked uncomfortable. KMFE: This is, isn't it! Look, there is no meaning. There is no purpose. Not forward or backward in time. And what really gets me, is the notion that just because something's never been done before, like time travel, that it will provide meaning. People do things that have never been done before all the time. It never tells you anything new. TDCP: You sound pretty indignant for a nihilist. KMFE: Hah are you kidding? Nihilists can be the most indignant people you'll ever meet. But I'm not a nihilist because I never thought meaning mattered in the first place. Andrew: From your perspective then, your task is to gather more evidence that the universe has no purpose. KMFE: There's overwhelming evidence already. Andrew: Not from time travel. KMFE: What, so you want to turn the human race into some sort of grand proof of meaninglessness? Then when World War III comes around you can write it all up and say "look here, everything humanly possible has been accomplished and none of it meant anything"? Andrew: If that's how you want to see it. Andrew was visibly upset about this. KMFE sat there looking reproachful until TDCP tried to explain. TDCP: KMFE, Andrew's coming at this from a different angle. He keeps existing, forever, from one universe to the next, past creation and destruction time and time again. So you just go through your one life seeing no point to anything and you're OK with that. But Andrew's seen more universes than you can count, and every single one has been just as empty. Imagine how discouraging that must be. Now this girl :P comes along who can predict the future, read minds, knock down bridges by looking at them, and he thinks "I haven't seen that before". And he thinks that maybe this is the only chance he'll ever get to find a meaning to existence. KMFE: I further object to the idea that just because something seems to go against reality that it might have some mystery hidden in it. Just because something goes against the laws up physics doesn't mean it's special. TDCP: You may be right about that, but you could still do this as a favor to Andrew Andrew: KMFE, we've told you why, now. KMFE: That's right. You did. Well, I guess here goes.

Tuesday, July 14, 2009

Dog

As Jo and KMFE walked by the dog it growled and then started barking. This made KMFE nervous because it was dark and he couldn't tell if there was a fence. But the dog didn't come any closer. KMFE: I feel sorry for that dog. Jo: Yeah, he's all alone outside at night. KMFE: It's more than that. Here he's got this territorial instinct. He doesn't know where it came from or what it's for. He probably doesn't know many other dogs, he's lived around humans, who act and think differently then him. Now he's alone, bored, neglected, and this instinct surfaces, because he sees us, and he barks as loud as he can, and he keeps barking, it's the only thing that's happened all day, or else it's all been more just like this, nothing really purposeful to do, just letting some phantom desire fill the void. Jo: You make it sound so miserable. All dogs bark when people walk by. Or at least most do. KMFE: That doesn't mean they're not all bothered by it. Imagine if you grew up around dogs, and you still reacted to some things the way a human would, but you didn't know why, and no one else understood. And anyway I don't like the tone of his barking. It's not just that he's barking, it's the feeling in his voice. Jo: It's a dog, KMFE. You can't treat it like a human voice. There are different rules. KMFE: But... listen. It's still going on. They approached another dog and the same process started. KMFE: Maybe now they'll be barking at each other. It will give them something to do. Jo: Do you think they've ever met? KMFE: I don't know. At least they know about each other. When they were well past the dogs Jo asked Jo: So do you think going out with PL was a complete mistake, and you completely regret it? KMFE: I don't know. Sometimes I think I underestimate how cynical I used to be before I met PL. Jo: What does that have to do with anything? KMFE: Well I sometimes think PL made me cynical Jo: I think everyone gets cynical with time KMFE: That is the kind of generalization I do not like Jo: Why not? It's true KMFE: Supposing I killed you and said "well, everyone dies with time" Jo: That's not the same thing at all KMFE: There's a difference between something happening eventually and happening now. And there's still a right time and a right way for things. Learning how the world sucks is always hard, but there are nicer ways to do it. Jo: Arguably PL is not the world. KMFE had to think about that for awhile. Because it really was true. PL is not the world. But it didn't help him understand things. Eventually he gave it a shot. KMFE: See, the issue is, when I get to know other people well, I start to see elements of PL. That bothers me, because it reminds me of horrible things. Maybe I wouldn't be reminded of bad things if it hadn't been for PL. Jo: What kinds of things? KMFE: Well, I don't know how to say this without making it sound petty. But PL had a funny way with truth. She... was very comfortable interpreting things differently depending on how you want to. Like there are many situations that are sort of open to interpretation, and she'd explain herself one way to one person, and another way to another person, and really believe that both were correct. Jo: Well you succeeded in describing that one with no specific words. KMFE: Oh man, it's just, I don't know, I think the worst of it I'd rather not remember. Jo: That really doesn't sound like the kind of thing that'd be scary enough to block out. She bent the truth a little bit; people do that. Maybe she was a little dishonest, but that happens. KMFE: But... it can matter. A lot. It seems so silly now that I'm out of it. But when I really want to trust her, to the point that I do trust her, and then my trust keeps getting betrayed. And they way I so want to trust her that I am never OK with just not believing her -- I have to argue, and try and make her change her mind. Because what she says and thinks matters so much. Jo: But... just that she stretches ambiguous situations a little? Is that really something to argue over? KMFE: Oh I don't know. That's... what I remember describing to myself before. Or to her. See a lot of this I don't remember the incidents. I just remember how I analyzed them. And it did seem really terrible, at the time. If it doesn't seem terrible now, it's either because the emotion and the power of the situation is gone, or because there is a key detail I am leaving out. I remember what I felt, not why I felt it. Jo: I guess I'll have to trust you. But you can see why I don't like taking your word on this. You've already reached the conclusion, and you can expect me to take it on faith, but I can't use the examples you provide to justify it. KMFE: You caught on pretty fast. Jo: I take it that's one of the things that bothered you about PL? KMFE: It was a struggle for interpretation. As in, we have some anachronistic, enigmatic evidence, not good for proving anything. Now which one of us gets to decide how to interpret it? Jo: It seems at that point you should just admit that you don't know. KMFE: Oh but we thought we knew. Oh we'd talk for hours analyzing our feelings and saying what led to what and how it could be different. And we thought we could really know that kind of thing. Jo: For you, it seems just silly that you'd understand a social situation. KMFE: Thanks, Jo. But PL was really, when you look at it, just as clueless. We were caught up with this delusion that we could talk about stuff and know what we were talking about. It was all so awful.

Friday, July 10, 2009

Messenger

In the pits I asked them “Do any of you know AR?” One of them said yes. “Cool. She lived on my floor. Can you give a message to her?” “Um.. yeah. I don't know when I'll see her, though.” “That's OK it's not urgent. Can you tell her I love her, and I enjoyed knowing her. And that I'm sorry Iscrewed up her life. And that I'd like to see her some time.” When I did see AR she asked “How did you screw up my life?” “Oh, sorry, when I'm speaking through a messenger I like to embellish to get them wondering.” Then I told her how my linear algebra professor had written her name on the top of my exam. She didn't believe me because she didn't know him. Then I showed it to her and she thought I had written it there to fool her. I got upset that she didn't believe me and she got upset that I was lying to her. We left mad at each other. I kept looking through the test to figure out if there was anything there that would have prompted him to write AR's name on the top. Nothing. Just her name, still there.

Wednesday, July 08, 2009

Origins

In the beginning god played music. He did this because he lived through the metaphor. He anticipated people reading the story. He wanted to write the story for their desires. Turns out he was wrong. First they messed up the story. Then they argued over it. It was lost on their ears. When KMFE asked God for the meaning of creation, it was so apparent that KMFE knew nothing of the music that for frustration and embarrassment God could not answer him. Thus has been God since then. KMFE stood on a mountain top and asked his question and received no answer, because God could not face him. And it was with this memory that KMFE met EKA. EKA was introduced to KMFE by dead philosophers. They are weak, the new friend said, but I am strong. “Kant even discusses the morality of having gout,” KMFE explained to EKA during one of their discussions. “He does to morality what the Ontological Proof does to God: gives it life only by sucking out all the substance, till you could walk right through it.” “His counter to the Ontological Argument is quite elegant,” EKA protested. “And that's just what makes him spineless. He can see the fallacy in the ontological argument, but he can't see the flaw. The argument is invalid because it assumes that the sofa that exists can be distinguished from the identical sofa that does not, but the argument is simply WRONG because it reduces the sofa to something you can't even sit in.”

Sunday, July 05, 2009

Plastic Angel

KMFE sat in the corner of the parking lot. All around him there was lightening. He saw a small plastic angel from a soft-drink bottle on the ground and picked it up. He asked it to help him survive through the storm. Looking up at the sky he squeezed the angel so the plastic formed white creases. The lightening diminished and the sun started to show through the clouds. KMFE promised the angel not to abandon her after it was over. He headed back up the mountain. Beyond the second hill he met the Goat Man. The Goat Man was a botanist living with goats in the hills. This ecosystem is unique in the world and the blackberries are threatening it, he told KMFE. I wonder if he knows I have an angel in my pocket, KMFE asked himself. That night KMFE suffered every conceivable pain. The lonely bludgeons from C-puff's lair attacked him ceaselessly. He could never tell how many of himself existed. KMFE grabbed the angel off his pillow, tripped down the stairs and out the screen door. You cannot keep an angel. You cannot keep an angel. KMFE threw his undeserved token out of sight into the darkness. He stood silent a minute as the pain dripped away from his body. In the morning he was sure the Goat Man had found the angel.

Thursday, July 02, 2009

Life

God: I just can't do this. I can't be that cruel. He slouched in his chair and stared at the desk. Saturn walked in looking distracted. God didn't look up. Saturn found the book he was looking for, then noticed God. Saturn: Something wrong, God? God: I'm not creating life, Saturn. I can't put them through that. Saturn: Well, it's your decision. But it's the only way you're gonna survive. God: I know, Saturn. Just let me mope on this for awhile. Saturn stood silently for five minutes, then spoke again. Saturn: If you don't create life, no one will remember you. You'll disappear into an eternity of nothingness. You won't feel the passage of time. You won't exist. God shuddered. He wished Saturn would let him stop thinking about it. Saturn: You know all along you would come to this point. We knew it too, before you were born. God: I know, Saturn. Please go away. Saturn quietly left the room. Half an hour later God got up from his desk and went to find Saturn. God: It just seems so cruel, Saturn. To put people through life, suffering from birth to death. Confused, unsure why they exist, dreading the future. And so many of them, created in the world only to be imprisoned forever in immaterial nothingness. All just to preserve some old deity. Saturn: It's cruel God, I know. God: I thought you might try to tell me about happiness in life. Saturn closed his book and set it on the table. Then he straightened up and faced God. Saturn: I wouldn't try to tell you that, God. Happiness just leaves a person something to be bitter about. The universe was made to be cruel and it will be so until the end. God stood there biting his fingernails. God: It's really very simple, isn't it? Saturn: It is. But it's your decision. God walked back into his room. A few minutes later he came out again. God: I won't do it, Saturn. Saturn: Suit yourself. He didn't look up from his book. God waited a few seconds and then left to go to bed. Saturn couldn't be so cruel, either. He had know God since God was born, and hated to see his friend vanish. Saturn put his book down, walked into God's work room, and created life for him.

Sunday, December 28, 2008

The Puddle

At 0830 it was too dark to read so EKA shut "MATLAB for Engineers" and got lost trying to find the bus stop. It was colder than yesterday and starting to get windy and he wished he'd brought a second coat. Douglass campus is the only one he knew he could get lost on, and nothing looked familiar anymore.

Finally he came to the Puddle, where he knew there was a REXB stop on the other side. Walking around the water he tripped on a low stone bench and dropped the MATLAB book into the Puddle. EKA stopped for a moment. It wasn't such a great book, but he didn't like to just leave garbage in the pond. As he stood there trying to think of a way to fish it out, a person emerged from the site of the book's weird misfortune. In front of EKA was a man with leaves and branches growing from his head, vines winding around his legs dangling into the water. In his arms he carried another person, a man in his twenties who was either sleeping or dead.

EKA, unsure of how to react, stood watching until he saw the bus's luminous windows in the corner of his eye. About to forget MATLAB and head for the bus, EKA noticed that the sleeping cargo was his MATLAB professor Blase.

The three of them stood that way for hours. Buses came and went, the night turned into morning, but no one would find EKA; he never told anyone where he was going and did not carry a cell phone. Even his roommate wouldn't wonder, since Allen always went to bed by midnight and expected EKA to be gone then.

The sun was up now, and both EKA and Blase would have to be in SEC-110 soon for MATLAB lecture. Sensing class would not meet today, EKA took the bus home and went to sleep.

Wednesday, December 24, 2008

You seem like the type of person who would...

This idea is due to someone who wishes to remain anonymous.

It's an icebreaker game: you take turns saying to someone else "You seem like the type of person who would ..." and finish the sentence. The more you offend people the better it breaks the ice.

"You seem like the type of person who wouldn't use soap."
"You seem like the type of person who would write about dumb games like this."

Tuesday, December 23, 2008

The 'Math is Always Right" Principle

This idea is due to Charlie Loelius and Owen Healy.

The Math is Always Right principle:

When a mathematical model and reality disagree, the interpretation is that the math behind it is right, but it is applied incorrectly to the situation.

Corollary:

This leads to the impression that math is always right.

Corollary:

This leads to the impression that reality is always wrong.

Example:

You predict the time for bottle of ketchup pushed off a table to hit the ground. The number is close but not quite right. The math behind the model (quadratic equations, the real number system, calculus) is considered to be fundamentally valid, but other factors (air resistance) made the model not completely accurate in this situation.

The interpretation you did not use is that the model is fundamentally right (takes into account the entire physical situation) but the math behind it (the real number system) is wrong in this case. Either interpretation could theoretically have been used to resolve the situation.

Another Example:

Catholicism = 2
Protestantism = 3
Judaism = 5

Therefore Catholicism + Protestantism = Judaism.

The math is clearly right, but the application to this situation is absurd.