Τετάρτη 11 Ιουνίου 2014

Software Defined Networking - Central Control

Module 1: History of SDN
- Discuss the timeline of SDN from the 1980s to present
- Gain awareness about the ideas and principles behind SDN
- Recognize architectural themes in computer networking where SDN originated.
The Four Chapters of SDN History
- Evolution of supporting technologies
- Control-data plane separation
- Developing control channels for specific data planes
- Convergence of control channels and data planes
Evolution of Supporting Technologies
- Central network control: Dates back (at least) to AT&T’s network control point (1980s)
- Programmability in networks: Active networks (1990s)
- Network virtualization: Switchlets, XEN, VINI (1990s)
Early Days: Control and Data Together
- In-band signaling
- Data and control sent over same channel
- Certain frequencies (e.g., 2600 Hz) could reset phone trunk lines, route calls
- Resulting network was brittle, insecure, etc.
Network Control Point
- Telephone network
- Signaling at NCP
- Benefits
- Services on demand
- Rapid introduction of new services
Benefits of the NCP in the AT&T Network
- Elimination of in-band signaling reduces expenditures
- Shorter circuit holding time
- Ability to determine busy/idle status before requesting a circuit
- Rapid introduction of new services
- “In the area of new services that can be supported…possibilities are limited only by imagination.
Apps from Composing Basic Primitives
- Collect N digits
- Send a message to the NCP
- Make a billing record
Envisioned Service: Person Locator
- User registers location with NCP database
- NCP routes call to the current location/number
- NCPs currently used to route 800 calls
Benefits of Central Control
- Network-wide vantage point
- Can directly observe (rather than infer) networkwide behavior
- Independent evolution of infrastructure, data, and services
- Services and resource allocation decisions can be made based on customer data, network load, etc.
Evolution of Supporting Technologies
- Central network control: Dates back (at least) to AT&T’s network control point (1980s)
- Programmability in networks: Active networks (1990s)
- Network virtualization: Switchlets, XEN, VINI (1990s)

Calculus: Single Variable - Exponentials

We'll introduce the principle hero of our story: the exponential function, and dive deeper into its definition and the implications thereof. We'll also see how Euler's formula entwines the exponential function with our principle supporting actors, the trigonometric functions. What is e to the x, the exponential function. Well, of course it's a function. Hence we can plot the graph of this function and consider what the output e to the x looks like for various inputs x.
But how do we compute some of these outputs? Let's say for an irrational input, like pi. How would we even make sense of exponentiating an imaginary or a complex number. Is it possible to give meaning or sense to exponentiating an operator like the derivative, or more unusual objects that you may have seen such as matrices. Well, we won't answer all of those questions today, but let's recall a few facts about the exponential function. Certain algebraic properties are manifest and well known to us. From your prior exposure to calculus, you should have seen some differential and integral properties. e to the x is that remarkable function that is its own derivative. And thus, it is its own integral, up to the constant of integration. There's one other fact that we need to move forward, and that is Euler's formula that tells us something about exponentiating a complex input, namely e to the ix is cosine of x plus i times sine of x. None of these properties however, tell us what e to the x really means.
This is what e to the x is and means. We define e to the x as 1 plus x, plus one half x squared, plus one sixth x cubed, plus one 24th x to the fourth, plus one over 120 times x to the fifth and this keeps on going and going. Where do these numbers come from? What do they mean? Well, another way to write this is using
factorial notation. That e to the x is 1 + x + x squared over 2 factorial + x cubed over 3 factorial,
etcetera. All the way down the line, one never stops this sum; keeps going forever and ever.
Now recall that k factorial for a positive integer k is defined to be, k times k minus 1 times k minus 2, and all
the way down until you get to 3 times 2 times 1.
That gives the sequence of numbers that we saw at the beginning. Recall also that by convention and for
very good reasons, 0 factorial is defined to be 1. Thus we could write our definition for e to the x using summation notation. As the sum k goes from 0 to infinity of x to the k divided by k factorial.
Well, definitions may be nice, but what do we do with it? How do we deal with this statement? How do we even make sense of this infinite sum.
Well, certainly for specific values of x, say x equal to 1, we can try to compute what e to the one would be, as plus one plus one half plus one sixth plus one 24th, etcetera. It seems as though this converges to the
familiar decimal expansion for e that we know.
In general, the principle that you should follow in trying to understand statements such as the definition of e to the x is to pretend that this is a long polynomial; a polynomial of unbounded degree. Now, polynomials are wonderful objects to work with, very simple from the point of view of differential and integral calculus.
Recall that when it comes to differentiation, the derivative of x to the k is k times x to the k minus one. Likewise the integral of x to the k is x to the k plus one over k plus one. Don't forget the arbitrary constant, and don't forget that something unusual happens when k is equal to negative one. Both of these properties, should be familiar from your previous exposure to calculus.
Given these facts about polynomials, let's see what we can observe about e to the x. For example, if we tried to differentiate e to the x by using our definition, then what would we obtain? Well, thinking of u to the x as a long polynomial in x, allows us to apply what we already know. For example, what is the derivative of one? That's clearing zero.
The derivative of x is clearly 1. What is the derivative of 1 over 2 factoral times x squared. Well, it's 1 over 2 factorial times the derivative of x squared, which is 2x. We can continue on down the line, taking the derivative of x cubed, to be 3x squared. Following the constants as we go. Now a little bit of simplification tells us that the 2x divided by 2 factorial gives us simply x. The 3x squared divided by 3 factorial gives us simply x squared over 2 factorial.
This pattern continues since k divided by k factorial is one over quantity k minus one factorial. And what do we observe? We observe that we obtain the definition of e to the x by simply following what seemed to be the obvious thing to do.
Will that work if we try to integrate as well? Let's see. If we try to integrate our definition, v to the x. 1 plus x plus x squared over 2, etcetera. What will we get? While the integral of 1 gives us x, the integral of x gives us one half x squared. If we have a 1 over 2 factorial times the integral of x squared, that's 1 3rd x cubed.
Now, I'll let you follow this pattern all the way down the line, and see that with a little bit of simplification, we wind up getting, not quite e to the x. It appears as though, we're missing the first term. We're missing the 1 out in front. So now, we've obtained e to the x minus 1, that's not quite the way I remember the integral of e to the x going.
However, we have forgotten as one often does, the arbitrary constant out in front. We could absorb that negative 1 into the arbitrary constant, and what we've obtained is up to a constant e to the x.
We'll recall Euler's formula that tells us something about exponentiating i times x in terms of cosines and sines. What happens if we apply our definition of the exponential in this case. If we want to take e to the i times x.
Well, this is 1 plus i times x, plus 1 over 2 factorial times quantity ix squared. That is, i squared times x squared etcetera, etcetera. There are a lot of terms here.
Then it appears as though there are some simplifications that we can do. Recall that by definition, i squared and the square root of negative 1 squared, must be negative 1. Therefore, if we look at i cubed, we have
to get negative i. And i to the fourth, being i squared, squared, must be equal to 1. Therefore, we have a sick-lick pattern in our powers of i that allows us to simplify this expression as 1 plus ix minus x squared over 2 factorial, minus ix cubed over 3 factorial plus x to the fourth over 4 factorial etcetera. You can see the pluses and the minuses coming in alternating pairs, and the real versus imaginary terms alternating with each term.
Now, if we were to do what we do when we work with complex numbers and collect all of the real terms into one part, and all of the imaginary terms into the other then what would we obtain? Well, the real portion of this expression is, 1 minus x squared over 2 factorial, plus x to the fourth over 4 factorial, etcetera.
With the signs alternating and with even powers of x. From Euler's formula, that must be the cosine of x.
Likewise, the sin of x must be the imaginary portion of this expression. That is, x minus x cubed over 3 factorial, plus x to the fifth over 5 factorial, etcetera. With odd powers and alternating signs.
Our conclusion from this rather simplistic manipulation is, that we now have alternate expressions for certain
trigonometric functions. The cosine of x is 1 minus x squared over 2 factorial plus x to the fourth over 4 factorial minus x to the sixth over 6 factorial, etcetera. In summation notation, we can use a wonderful little trick to express this compactly, as the sum k goes from 0 to infinity of negative 1 to the k times x to the 2k over quantity 2k factorial.
That builds in the alternating signs and the even powers. Likewise, for sine of x, we can write this in a summation notation, with a similar idea as the sum k goes from 0 to infinity of negative 1 to the k times x
to the 2k plus 1 over quantity 2k plus 1 factorial. This gives us the odd powers of x.
Now, you may recall that the trigonometric functions have some very nice properties, with respect to calculus.
For example, you may remember something about the derivative sign of x. Let's see what happens, when we take our newly derived expression and differentiate it, as if it were the long polynomial. The derivative of x is 1. The derivative of x cubed is 3x squared, we must divide this by 3 factorial. The derivative of x to the fifth and x to the seventh follow the familiar pattern with a little bit of cancellation of the coefficents, what do we see?
Well, we get 1 minus x squared over 2 factorial, plus x to the fourth over 4 factorial, minus x to the sixth over 6 factorial, etcetera. This is an expression that we have very recently seen. this is out derived expression for the cosine of x. And you may recall that the derivative of sine is cosine. But without any complicated proof, we've derived this expression very simply, by pretending that everything in sight is a long polynomial.

Child Nutrition and Cooking - Elements of a Healthy Kitchen

Chopping up some onion and garlic and sauteeing them serves as a wonderful base for any savory vegetable dish.
If you are short on time, keep some frozen backup vegetables in your freezer. As long as it is a homecooked meal, it is probably healthier than the fast food alternative.
In general, the fewer ingredients, the better. Michael Pollan, in his book In Defense of Food, suggests that if our great-grandmothers wouldn't recognize the food or ingredient, we probably shouldn't eat it. I never met my great-grandmother, but my grandmother certainly wouldn't know what acesulfame potassium is...
The USA currently has the highest rates of childhood obesity worldwide. In 2013, approx. one third of American children were either overweight or obese, with 17% specifically suffering from obesity. This is a public health crisis that not only threatens our children's health and well-being, but it threatens to bankrupt the nation as the medical costs of obesity-related illnesses soar. In 2008, these costs were in the range of $147 billion dollars.
Different vegetables provide different combinations of vitamins, minerals, antioxidants, and other health-promoting compounds. For some of the different vegetable categories (as chosen by the USDA).
MyPlate, released in 2011, suggests we fill half of our plates with fruits and vegetables. The other half should be made up of protein and grains (preferably whole grains!).
The USDA dietary recommendations like MyPlate contain some dietary wisdom, like fill your plate with half fruits and vegetables. However these guidelines are subject to change and do not necessarily represent all of the nutrition wisdom of traditional cuisines in the US or around the globe. Additionally, the USDA regulations are impacted by food industry lobbying. The dairy industry lobbies for a glass of milk instead of water, and the beef industry opposes a statement to “reduce red meat consumption”.

Introduction to Thermodynamics - Transferring Energy from Here to There

What is thermodynamics all about? Thermodynamics is the study of transferring energy. Obtaining energy, transferring energy, and applying energy. So, you can see all sorts of applications of energy transfer around you. And we'll develop skills, and analytical tools that allow us to understand and quantify those systems.
We'll look at first law analysis, and as they apply to open and closed systems. We'll investigate and define properties that allow us to explore these systems. And we'll look at the behavior and application of specific thermodynamic systems at steady state conditions. Including all three phases, solid, liquid and gas phases.

What are the units involved, what are the numbers involved, quantities and scale. The application of process knowledge to analyze complete systems. You should be able to identify subsystems. You should be able to indicate whether or not there's work transfer, heat transfer and what's the important of the thermodynamic state for those systems in terms of temperature, pressure, density, and other thermodynamic variables. Given a set of properties you should be able to identify the phase and the remaining properties for a substance. If I give you a physical setup, for example if it's an engine, a jet engine, or if it's a stove, you should be able to determine what are the work and heat transfer mechanisms, and what are the most reasonable approximations that you can make to analyse this system. Once you have that physical setup, the device, and a process you should be able to compute, to quantify the rates of work and heat transfer as well. You should be able to formulate an ideal approximation, as well as understand how an actual system might differ from an ideal system. And given an actual device, you should be able to correspondingly create an ideal device.
So we can have both real and actual systems and we should understand quantitatively what are the differences between real and actual systems, and we should understand how energy processes affect the environment.
We're going to start with the basic so we'll need some tools in order for us to analyze these thermodynamic systems, these energy transfer systems. And that includes concepts, definitions, and units. Once we have that information we can start defining thermodynamic properties. And in particular we'll look at how we can measure temperature and pressure. How we can describe the states of different systems and processes and pathways that connect us to different thermodynamic states. After that, we'll discuss the energy of a system, the first law of thermodynamics, which is the conservation of energy, heat and work transfer, energy analysis of closed and open systems, and how those energy transfer systems use energy, enthalpy, and internal energy.

Δευτέρα 9 Ιουνίου 2014

Principles of Computing - Introduction Part I


Computer science is influenced by how I do research or what the research I work in which is in applications of computer science to biology. So there we look at the problem that comes from biology without us being biologists ourselves.
And we think about how do we take a problem that's described in English or any natural language, whatever the language of the biologist is, and how we thinking about to solve it using computers? Of course the problem is not described in, in a language that's amenable to algorithms.

So we have to go through an entire process. Of, of, formalizing the problem, doing formal reasoning about it, thinking about the algorithm and then implementing it. So for me, I view computer science as this discipline of reasoning about
problems, designing solutions for them, which includes the algorithm design as well as the implementation to solve real world problems.

How important is it to be a good programmer? Obviously it's not that important because I'm not a good programmer. That was a serious question though. How important is it to be a good computer programmer to be a good computer scientist?
I think it's very important to have outstanding programmers in computer science but, I don't think it is very easy to be outstanding at every aspect of computer science. Again as I mentioned, for me, I look at even in the homework assignments that we give in algorithmic thinking. We do, the homework assignments spans, spans the problem all the way from the English description to the implementation and running the analysis. And, in that part of that process is
writing the program and one has to be, very capable of writing the problem, knowing the syntax of the language, knowing, you know, all sorts of tricks and so on to implement the, to implement the program. But there are many other skills that, the computer scientists need to be aware of.

So many people, for example, are very good at designing algorithms, and once they design the algorithm they figure it out, that's where they stop and say someone else, let someone else implement it, and I see a room for these things because. It's not easy for everyone to claim that, I am good at doing algorithms, I am good at, at coming up with the math. And I'm the best also at doing the program, because I am sure I can write the program that implements my algorithm, but I am also sure that there's someone who can optimize that code even better. And make it even more usable.

So, I've actually read this, and I subscribe to this little point of view, that in some sense, programming is actually probably the least important skill. I kind of view that being the janitor of computer science. And let me explain why the process of taking a well defined description and turning it into code is actually a fairly straight forward thing. The hard intellectual challenge is hearing a problem, thinking how to formulate it, thinking about algorithms,
data structures, how to solve it. It's taking that high level problem and turning into a specification and a program we can then turn into code. And I mean you'll see this, for example outsourcing. Outsource is going to take a lot of the
low end programming jobs and essentially kind of. Kind of put them out to the world where they're really done by a low cost. The people that are actually making the six figure salaries in computer science are the problem solvers, the one that a corporation can come to and say hey, I have this computational problem and I need you to take it and figure out how to solve it and build me a description that I can then give to some programmers and turn it into some code.

Discipline is very important because the wild hairy code that you write for one-off for maybe a research paper is not the kind of code you want to have in say. Maybe some kind of critical operating system for a flight control system on an airplane. So I definitely think that discipline is an important thing and I, and I've kind of come around a little bit in principles of computing where I think that it's important to train the students to be more systematic about the kind of code that they write.

Κυριακή 8 Ιουνίου 2014

Child Nutrition and Cooking - Why Home Cooking Matters

A decrease in physical activity is a major contributor to the childhood obesity epidemic.
Research suggests that eating habits begin early in childhood - before the second year of life - and taste preferences begin to be established even earlier. For this reason, the choices that we make when we begin to feed our children their first solid foods, are critically important to their later acceptance of a wide variety of healthy foods. But don’t despair if you feel you “missed the window of opportunity” when they were young. It’s never too late to start introducing new flavors to a child - with plenty of love and patience.
Approximately one third of U.S. children between 4-19 years of age eats fast food every day, resulting in an estimated extra six pounds of added body weight per child per year.
Great ways to facilitate nutritious food choices. Remember to tell your children they have a choice, and they can use it wisely to be healthy and happy!

  • Taking children to a farmer’s market
  • Limiting exposure to screen-based ads for processed foods
  • Planting something with your children that you can then eat later on
Studies that follow children over long periods of time have consistently found that the more TV children watch, the more likely they are to gain excess weight. This is related both to the sedentary behavior of TV watching, and the many advertisements for junk food that children see on TV each year. There is also evidence that increased screen time from video games and computer use is linked to obesity as well. Try to set a goal as a family -- what is the maximum amount of time you and your children will spend in front of screens each day?

Examples of food playing a social function:

  • A family sits together at dinnertime and the children share, with their parents, the joys and frustrations they have been experiencing at school.
  • Each year, Annie’s friends fly across the country to celebrate her birthday at her favorite restaurant.
  • Well done! Not quite - while it is true that Joe would have less energy to socialize, this scenario is primarily an example of food playing a nutritional role. Joe’s body needs energy from food to perform all sorts of biological tasks.
  • Guests at a business conference mingle and discuss their work over a meal.

Obesity affects almost every organ system in the developing child. Type 2 Diabetes is especially concerning as the complications associated with this disease (loss of vision, amputations, kidney failure and heart disease) depend on the length of time a body is exposed to elevated levels of blood sugar (the main problem in this disorder). This means that children who develop Type 2 Diabetes are more likely to face these terrible consequences at a time in their lives when they should be enjoying a healthy adulthood.

Πέμπτη 5 Ιουνίου 2014

Bragg on the Braggs - BBC Archives


Melvyn Bragg looks back at the extraordinary achievements of two other famous Braggs, the father and son scientists William and Lawrence. In 1913 the Braggs discovered a method of investigating the structure of crystals using X-ray radiation. They soon proved the significance of this breakthrough by determining the internal structure of diamond. Two years later they shared a Nobel Prize for their work, which founded the discipline of X-ray crystallography. Melvyn Bragg, a distant cousin of William and Lawrence, tells the story of their groundbreaking work. He visits the laboratories in Cambridge and Leeds where the two Braggs made important discoveries, and the Royal Institution, where they lectured and conducted research. And he learns how the Braggs' technique of X-ray crystallography revolutionised chemistry and biology, from the determination of the structure of DNA to the design of new pharmaceutical drugs.