Good morning everybody. Welcome to the workshop once again. Today we are primarily going to discuss file IO and all related issues. One of the problems which I am going to discuss today although it is about handling file but it is more about handling data in the file. And this is something that I would like to start our discussions with. File IO is merely a container of our data. What we are handling in our program are the values in the data. Files do tell us how the data is best organized and how the data can be accessed efficiently. These are the topics that I wish to discuss today. First, the need for processing data in files. Next, the operating system view of files. How does operating system view files? More specifically, every operating system gives a particular environment to any running program. So whenever we say dot slash a dot out for example, that means we are asking the operating system to run our program, the operating system actually gives our program a certain environment. What is that environment? It is called the execution time environment. In particular, we will see some standard files which are automatically given to our program at the beginning of its execution. Then we will look at files in C. More specifically, before the T break, we will look at simple IO operations and the dreaded scan F and print F which we have so far as seriously kept away from our discussions. Subsequently, we will look at various other file operations. For example, can I directly access a file? Can I write anything anywhere in between? Can I read without going through the sequence of records? The answers are yes, particularly for this files and we will see what are the functions that C programming language provides through its standard library. We will specifically discuss binary files also and C functions for file handling. Of course, as usual, we will have examples not necessarily at the end but throughout the lecture. So first of all, what are files? A file actually is regarded as a large collection of bytes stored outside the main memory, typically on a disk. Disk files are the files that with which you are most familiar with, but there are files associated with other devices as well. We shall see that in a moment. Files on the disk are managed by the operating system. Operating system has various components such as memory management, process management. One component is file management. So, the file system of the operating system actually handles management of data on desk. The files are organized in directories and sub directories. We are very well familiar with them. Each file can be created. We can write data to it and we can retrieve data or read data from it. So, operations like create a file, read data from the file or write data onto the file are natural operations. Additionally, if there is a file on the desk, we can insert data into it. Obviously, this is effectively like an external memory. So, if I insert data into a memory location which already contains something, that data would be lost. Such responsibility we will have to take. So, we will have to find out the available space on the disk and write in the file and write it. Typically, when you write to an existing file, you always write at the end. This is called an append operation and there are specific modes for that operation. That means when you say I want to handle this file in append mode, automatically you are creating an output file, but not new file. You are appending to an existing file. Similarly, you can delete data from an existing file. Each file has certain properties. The file has a name, the file has size, the file has a path, the file has permissions. These permissions are called excess permissions and the physical location of a file along with its properties, as I mentioned, are known to the operating system. So, it is essentially when we say in our program, we are handling files. We are never directly handling any data on the file. We do that strictly through the operating system. It is the operating system which is in charge of interaction with all external devices. Our program actually runs in a shell provided by the operating system. And whenever we want to interact with the external world, particularly with this to read or write files, we take help of operating system and all our statements which are essentially function calls in C, because as we had noticed, C programming language does not have any instruction for input and output intrinsically. So, whenever we make a function call, the calls are executed by internal function calls, corresponding function calls of the operating system. For those of you who are not familiar with the organization of data on DES, I thought a small pictorial diagram would be useful. I have found it useful when showing it to students. I also have an animation. I will show it to you after the tea break of how the DES rotates and the data gets written. Since most of you would be familiar with these details, I will just mention it in the context of how to explain it to the students. It may take about 5 to 10 minutes when you explain, but it is worthwhile to tell people that there is a spindle which actually rotates and these DES rotate along with it. You can also have a single DES which is the case when you have a floppy DES drive or a CD drive or something, but typically the magnetic DES are put together in form of a multi-platter drive. There is an arm which moves forward and backward, covering different tracks on the disk and since there is an assembly of arms, the entire assembly moves forward and backward in one shot and therefore if the top arm is on let us say track number 44, then all the arms will be on the track number 44 and the circular track number 44 on each of the DES together will form what we call a logical cylinder. Whenever the arm is over a particular track, the data can be written onto the track or read from the track. For convenience, the track is divided into several sectors as is shown here. So essentially a sector becomes roughly equivalent to a block. Incidentally, all disk IO at the logical level is always done in terms of blocks. That means a block of data is written onto disk or a block of data is read from the disk. The location of the block could be anywhere and that is determined by the surface on which the block lies, the track in which the block lies and the sector within the track where the block lies. But all these computations we need not worry about in our higher level language programs. As far as we are concerned, we can consider the entire disk to be a series of blocks. Various files are allocated space in this disk. The space is released when this file is deleted or is shortened because of the editing etcetera or changes in the data. All of this is handled by the operating system. In a nutshell then, as far as we are concerned as programmers, we get a very clean interface to the file system through the operating system. How does the operating system view the files? I had mentioned it briefly in the first slide. Here are some more details. Files residing on disks are logically organized into directories and subdirectories. We have seen that. In the Unix file system, the directory itself and every subdirector is regarded as an independent file. So, just as file has a name, a directory has a name. Only thing is that data contained in a directory is not usually manipulatable by us and operating system organizes that data. Because it organizes the files in directories and subdirectories, the operating system is able to give us some kind of a niche area on the disk. It is not a single physical area. It is sort of logical space which is governed by what we call the home directory. In fact, whenever we log into a Unix system, operating system automatically takes us to a home directory and all our files or subdirectors will be contained in that home directory. As far as the operating system is concerned, a file is essentially a number of bytes which is the size of the file. It is important to note that for operating system, a file is just a collection of bytes and I am talking about files which we use in our application programs, not directories and subdirectories, the actual file. Now, it is possible that in some file, we may sort of put in numerical values of data such as values of the elements in matrices. In some files, we may keep data about employees of the organization or student's roll number, name, etcetera. In some other file, we could keep digital images such as what we had seen. In still another file, we could record a song. Now, the fact that different type of information exists in a file that is created by us is only known to us. That means to the program which created it and the program which is going to read and interpret that information. The semantics associated with the bytes stored in the disk is completely unknown to operating system. So, this is important to note as far as operating system is concerned, it does not care at all about what is the meaning of the contents inside the file. For it, it is merely a file. It is a set of bytes, ordered bytes. So, there is a notion of first byte, second byte, third byte, etcetera. The fact that a few bytes together form a disk block is also hidden from us. We need not know how physically file is organized on the disk. It actually creates a great simplicity for a programmer who can therefore regard a file as a stream of bytes. Just like a stream of water, the water flows in one direction. Similarly, the bytes flow. The flow is bi-directional in a file. I can let the bytes flow from a device to me or I can let the bytes flow from my program to the device. The first one will be reading operation, the second one will be writing operation. When the operating system reads data from a file, it is capable of detecting when there is no more data left in the file to read. This is important. If I am reading data from a file, let us say I have stored record of 2,000 employees. I do not know the exact numbers. It may be 1,958 because unlike in my program where I say give the number of employees and then read the data, etcetera, etcetera, which I might do while creating the file. But I will not necessarily maintain the number of employees as a separate information inside that file. That file may contain merely information about whatever 1,958 employees or whatever. There would be a program which will be maintaining this file. If a new employee joins, his or her record will be added. If an existing employee goes away, his or her record will have to be deleted. In short, at any point in time, the file may contain records of as many employees as are there on the roll and on a day to day basis, any user of the file may not know exactly how many employees are there as of now. Consequently, when I write a program to read data from the file and let us say I am reading the data sequentially one after another, I merely want to let us say get the names and let us say salary information about all the employees. Now, when I start reading the file, I will read it record by record. One employee data at one time. We shall see exactly how a record is to be described, etcetera. However, since I do not know in advance how many employees are there, suddenly while reading it will so happen that I have already read the data of the last employee. And when I say read data again, there is nothing in the dish to give it to me. Now, what will happen in that case? Should the program abort with an error? No. First of all, I should provide in my program some instructions which will say what is to be done in case the file ends. And second of all, my program must know when the file ends. It is the operating system which is capable of detecting the end of file. And it gives us a signal. It is called an end of file flag or EOF flag. We shall see how exactly EOF flags are handled in our program. But it is important to note there is the operating system's responsibility to tell us that file has ended. So, we can keep reading as long as we have provided for handling end of file situation, we can keep reading. And we can rest assured that the operating system is capable of giving us a signal saying file has ended. This is also important in the context of files which are not necessarily on the disk. Unique operating system in particular when it deals with other devices such as keyboard or a terminal. It actually treats these devices also as files called special files. Now, what is the meaning of keyboard as a file? Imagine that the keyboard was a disk and the data is not pre-written in that disk but a user is typing data. So, whatever user is typing data, that type data is available for me to read. Similarly, imagine terminal to be a file to which I am writing data. What happens to the data on the terminal? Well, some people read it. Even if you do not read it, if I keep throwing data on the terminal on the monitor, that means the data will keep vanishing. In fact, monitor represents effectively an endless target or endless capacity target of bytes. I can keep pushing bytes, infinite bytes because nothing is stored there. It evaporates in thin air. Similarly, a keyboard can be regarded as a limitless content of a file which is being fed to me to my program. Of course, I am careful. I will read characters by characters or line by line from a keyboard and I will write character by character onto a monitor. The point is while I write to the monitor, the end of file is to be signaled by my program. Whenever I stop writing, that is the end of the map. But when I am reading from the keyboard, I have to create something equivalent of an end of file. There is no end of file because as long as a human being is sitting there and I am reading characters, well, the data field can continue. But if for some reason the user of the program wants to tell me why my program is running, then look, Baba, there is no more data. Then there is no mechanism by which the user can signal an end of file and that is detected by the operating system. And the operating system is capable of giving me that signal, the same EOF signal that we saw earlier here. Incidentally on Unix systems, when you are sitting on a keyboard and you are expected to give any input because the program is waiting for an input, you can type control D as shown here. This control D signifies end of file on the keyboard. That is the convention that the Unix operating system follows. Now, I will describe the program execution environment. There is much more to the program execution environment than what is described here. What I have described is merely the set of standard files which are automatically opened by the operating system whenever my program starts execution and the operating system hands over these files to the program. Actually the operating system runs my program as what is called as a process. There is a context to a process. The process has a number. The process is allocated some memory. The process has several associated other paraphernalia called environment variables. For example, which will include a variable called path which will say which directories or sub directories would be searched if at all I am going to open a file. In fact, when I run a program if I just say dot a dot out then no program executes. But if my path contains the current directory dot then it will execute. Otherwise I have to say dot slash a dot out. So this is some peculiarities of the environment. More importantly whenever a program runs for example I have written a C program which has input output statements and may have some files. Whenever my program compiled program starts execution the operating system automatically gives three standard files to every program. These files as far as my running program is concerned are called standard input file or STD in, standard output file or STD out and standard error file or STD err. So STD in, STD out, STD err are the names of the files which are always opened by the operating system and they are attached to my program. Every program if there are ten programs running each of those ten programs actually will get these three files opened. As the direction of arrow indicates and the names suggest STD in is an input file that means the program can read bytes from the STD in. STD out is an output file that means a program can send bytes on to the output file. But when I say I will read in where from do I read in? When I say I will write out where do I write out? Well we shall see that in a moment. Let us very quickly look at STD err. STD err is a file which the operating system uses to send error messages to. So suppose the program has terminated or you are running a compiler, compiler is compiling your program and compiler is producing error messages. In general all error messages by convention are sent on STD err. As a matter of fact a good programmer will write a program in C also where the error messages will be directed to STD err. What is the objective? Let us quickly look at the first question that I asked. I have an input file but I do not know where the input is coming from. I have an output file I do not know where the output is going to and I have an STD err where again I do not know where the output is going. The operating system when it starts my program actually gives me a logical connection automatically also along with opening these files. This is the logical connection. By default the operating system connects these standard files to meaningful devices. So STD err is connected to keyboard so that means whenever user types a character that character can be read my program. Alternately whenever my program has any input command such as C in or scan F as we shall see later. By default characters will be read from the keyboard that means user will have to type something that will be ready. Similarly whenever I have a standard output command such as C out in C++ or print F. This is a function in C. Notice that print F does not mention any file where to print my formatted output. That file actually is STD out by default and STD out by default is connected to a display monitor. Curiously the STD err 5 which is given to my program is also connected to the same monitor. Why?  So if user wants to give any input it will be done through keyboard but if user wants to see the output produced by the program it is the monitor. Since only one monitor is there if there is an error while executing the program an operating system has to give an error message it will also come here. This then is the organization of default file arrangement that operating system provides. Now perhaps we are in a better position to understand the notion of redirection. Whenever at the command prompt before running the program I use redirection you already see what redirection is. These standard files are disconnected from the default devices and are connected instead to the named files. For example when I execute .slash a.out that is all and press return I will be expected to give input on keyboard and collect output or see output on the terminal. But if I say .slash a.out less than in data.text greater than out data.text then effectively what I am saying is please disconnect my STD in connection to the keyboard and instead connect it to in data.txt which is this file. Similarly I am saying when I say greater than out data.txt I am telling operating system you give me the STD out plus but please disconnect it from my monitor instead divert all the traffic of bytes that my program will generate to a file called out data.txt. Notice how easy then it becomes that while testing a program I may use keyboard and monitor. Let us say that I have primarily got my program errors more or less routinely moved out then I can simply create an output file. If I have a large data I can always make it read data from an input file. This is what will happen if for example I have to feed in the data of 2000 employees or feed in a data about a 200 by 200 matrix.  So we have seen how important and useful the real direction is and this is what happens inside in terms of the file system and file handling. Now we will look at the basic input output in C. First of all I reiterate that intrinsically the C programming language does not have any instruction for reading or writing data. This is very peculiar why if you take all earlier languages Fortran, Coball, Baskar they all had input output statements as part of the instruction set of the programming language itself.  So formatted and formatted read write etcetera are intrinsically instructions built into the programming languages. C is a programming language which does not have any such instruction. Does it mean that C cannot do any input output? On the contrary it can do very powerful input output but all the input output is done through functions. So this is what is important that all input output operations in C if it all you want to do any reading any writing any insertion any deletion whatever whatever you have to use functions. So you have to invoke function calls. Spatial functions have been written and made available in the standard library to permit us to do that particularly to perform IO with keyboard and terminal. These spatial functions are scan f and print f as we know in C plus plus there are object classes and operators such as C in and C out which perform exactly the same. Parameters to these functions include a format stream followed by data values or expressions to be read or printed. So these are very special functions and the exact syntax of these functions is defined. Every textbook defines the simple syntax. What I have tried to do is I have gone to the website of the C programming standards. There is a standard library standard. It is very detailed how exactly format strings are to be supplied or specified what is the meaning of this etcetera etcetera. I am going to very quickly run through all of those not because I believe that we should discuss all of these with our students. Some simple formatting statements are good enough for the students initially and later on some additional details can be provided. But we as teachers ought to know the details about all flags, all parameters, all possible combinations that we can give etcetera so that if a student does the question we are in a position to answer it correct. What C does is that since as I said it has a format string followed by data values. So C applies the appropriate pattern to each value either for interpreting input characters or for generating formatted output. Very obviously then these are text files and more importantly these files are always read or written sequential. It is not possible for you to write a data on STD out which is let us say third record and later on write the first record. Because whatever you write is a sequence of byte in a stream is going as a sequential stream and this is an important difference between the STD in STD out files and the other files which I may want to open and handle on the disk. These files are different these are special devices. On the disk also I can write files which are written sequentially byte by byte or read sequentially byte by byte. In fact I can write to STD out and simply redirect it to a file on the disk and what gets created is a regular disk file. But it is read or written sequentially. Coming back to this scanf and printf therefore form perhaps the most widely used input and output commands for reading formatted data or writing formatted data. So let us look at printf. This function displays one or more values on the user terminal. Please take this with a pinch of salt. The statement technically should read this function writes one or more formatted values on STD out as far as Unix operating system. But mostly since STD out is connected to the terminal this statement is correct. Here is an example given printf percent d is a number backslash n n. Notice that the first entire string is a format string. What follows after comma is the parameter whose value is to be printed. So n is the value which I want to print. The string only tells the computer how exactly the value should appear. So look at the format specifier. In this case it is percent d. This means that convert n into a formatted value using this format specifier. We shall see shortly what are the different format specifiers and what they mean. The other characters inside the format string are displayed exactly as they are. Consequently I will get this percent d will be associated with the value that is to be printed n. So output that will be produced will be the value of n. Let us say n is 28. So it will say 28 is a number. That is what will appear as the output. Backslash n as you know represents a new line character. We can use backslash t for whatever whatever we want. What is important to notice whatever is written in this string is reproduced verbatim except for the format specifier. And format specifiers are always preceded by a percent symbol. So percent symbol followed by a character means I am specifying a format. Also if I am specifying a format I have some variable or expression in mind whose value I want to print. And therefore corresponding to every occurrence of a format portion here I must have a corresponding value to be printed. The format specifiers can appear anywhere but as I said each must correspond correctly to the corresponding value following the format. So if I have two format specifiers there should be two elements n, m, whatever x, whatever. And depending upon the type of value that is being indicated here for printing the corresponding format specifier should be applicable to those type of values. This is a slightly complex way of describing output format specifier in print m. This is also a very formal way. I have deliberately included this here for the sake of completeness. I remind you again of what I said sometime ago. This is not the way we should teach our students. However many times what happens is that when we are teaching fresh students we ourselves get used to get so much used to simple things that we sometimes forget the power of the specification that is available to us through the parameters of the function in the specification. This is to remind all of us that the format specification is very powerful in print f and scan f. This material I have given somewhere the reference. The reference is I think from a C++ website but any website which gives you the standard library description of functions will contain these things. So here is some very quick glimpse of what a format specification would look like. Format specification takes the following form with optional parts shown enclosed in angle brackets. Percent flags with precision length conversion. So notice now that optional parts are written in angle brackets. That means flag is optional, width specification is optional, precision specification is optional, length is optional. Only the conversion is mandatory after percent. So recall that the previous slide we had percent d. Obviously that d must be this conversion. So there are letters which are actually conversion letters and we shall see those letters also and ordinarily that is what we use percent d, percent d, percent f, percent d whatever. We rarely use these details. We do occasionally use length that occupies so many bytes on the output. This is a term to remind all of us that there is much more to the specification. So let me very quickly describe something more about as I said we are only having a glimpse of all these data. This is not exactly what we should ever teach students at least in the initial classes. However I would like to mention that there will be a few students in our class who will be interested in knowing more and it is always a good idea somehow to locate those students. You will know them within a month or so and sort of feed them or feed their intellectual hunger by something more and more and more and you can throw them to the larger part of the standard. So zero or more of the following flags can be given. Minus psi means left justify the conversion within its field plus psi means a signed conversion will always start with a plus or minus psi. So if a number is positive it will always have a plus, a number is negative it will always have a minus. Plus does not mean plus is printed. Plus means the conversion is signed conversion and minus means the left justify the conversion within the field. So observe that minus and plus have widely differing implications. Space if there is a space after percent if there is a space then it means if the first character of a signed conversion is not a signed insert a space it is over written by plus if it is present. Look at how precise the prescription is. A hash symbol forces an alternative form of output which is what?  Notice that yesterday when we were seeing C out and we were printing values of the pointer. Notice that the pointer value which is essentially an address was printed in the sample output that I showed you in hexadecimal format. Notice that we observed that when the hexadecimal value of the address was printed it was preceded by 0X. Obviously internally the C programming language is using this as a default for printing hexadecimal numbers. Take this. So it will say pad D I O U X X E F F N G conversions on the left with zeros up to the field width. So if you have a zero flag that means the number 99 if you have asked it to write in five spaces it will not be written as blank blank blank 99 but as 0 0 0 9 9. If a precision is specified for any one of these conversions the flag is ignored but if the precision is not prescribed then this is what will happen and the behavior is undefined for other conversions. So look again at the precision of specification. Incidentally you would have now guessed that all these letters that I have you see here are actually the conversion specified. That is why ordinarily you will see in our programs percent D percent I percent E percent capital E percent F percent G etcetera. The decimal point which is a decimal integer specifying the minimum output field width I will not go through these details. These slides are available on the model you can actually go through these details but more importantly more than the slides these slides are only if you want to use them in the class at some later stage for a longer explanation or for yourself to peruse. Ideally you should see the standard library. As a matter of fact most of us even though we are teachers and we supposed to read tens of books when we are teaching a subject because the hustle bustle in life it does not happen that if we end up reading two or three books while we are teaching a course many times we say it is good enough. But it is important I believe for us teachers to occasionally look at reference material such as programming language standard or the complete description of standards library. Believe me there is a huge amount of very rich knowledge and useful knowledge which many times we do not apply because we do not know about it. So, this is just one suggestion. So, you can read these details I will just keep this precision for example. So, it specifies the minimum number of digits for some of the specifiers for the conversion. And then it says exactly how these will happen how these will be printed for which conversion what will be printed etcetera etcetera length. It precedes a specifier to print an integer type causes it to be treated as if it were a short look at again the procedure. Sometimes the meaning of these is not very clear even when you read that standard description two or three time. The best way in such a case is to casual up an example write a small program assign values to some variables arbitrarily and print them using this print f 1. Then that will clarify when we see on the output what is appearing that will clarify to us many of the doubts I strongly suggest that we should practice these things. Here are the format conversion specifiers D stands for signed decimal I stands for signed decimal U stands for unsigned decimal O for unsigned octal X for unsigned hexadecimal which will include digits 0 1 2 3 4 5 6 7 8 9 a b c d e f. Observe that if I use small x the hexadecimal number will be printed wherever the digit a b c d e f occurs represent the values 10 11 12 13 14 15 these will be printed in small alphabet. If I use capital X it will be printed in capital alpha f is for printing a double value. So all these specifications are useful to us in deciding how I can print as a particular value and I can control the exact way in which the printout will appear on my output device. Here are some more details on e g c e s etcetera you can go through these later. Here is an example this is simple and this is this kind of things we definitely use and should use while teaching our students. So percent six d will print a integer in six spaces percent seven s string fitted in seven character space percent eight point two f means it is a floating point number totally eight digits two after the decimal point percent eight point two g same but it will switch to exponential notation if required that means if the number is too large it cannot be fitted in this then it will print a mantissa write a letter e and write the appropriate exponent of course the number will be seen in a convention decimal notation not in the binary or hexadecimal notation. Here is an example include std i o dot h int main int a b c float p q r a is equal to minus 1 b is equal to 10 c is equal to 100 p is equal to 123 point 456 456 q is equal to 0.1234 r is equal to minus 12.34 these values have been these are obviously artificial values but they have been chosen to indicate what happens to our print out when we give different format specification. Also observe that in this entire workshop this is probably the first pure c program that we are writing there is no name space std whatever whatever we are using actually including of c functional library std i o dot h is the header five which gets included when I write the program and this is standard with most c program here is what will happen. So, these are the print out statements the first three print out statements use percent five d followed by a back slasher and they print the values of a b c if you recall that the values were minus one ten and hundred then this will print five decimal places. So, it will produce so many blanks before that what is important to notice that if my specification of length is only two and if a number is larger than two then it will occupy three places but you still print that number correct. Let us look at the print f with float numbers you recall the values of p q n r was 123 456 0.1234 minus 12.34 etcetera look at this specification the first three print out statements all ask the value of p q n r to be printed in eight digits with four digits after decimal point. So, here I have these eight spaces four digits here 0.321 that is the correct value the next one 0.1234 the next one actually r has a value minus 12.34 but since I have specified 8.4 it will print four digits after decimal point. On the other hand imagine if I have given a specification 4.2 f then the values will be printed like that 123.46 0.12 minus 12.36 observe that here I have said four total digits out of which two after decimal point. So, here I am getting two digits after decimal point two before the decimal point but here I have a larger number it will get printed. So, it will occupy one more space exactly similar treatment is given to the scan f function scan f needs to be passed pointers to its arguments remember we already discussed passing by reference and passing by value. So, scan f in order to print values it need to be passed pointers to its argument. So, that the values read can be assigned to the proper destinations forgetting to pass a pointer is a very common error please note that output we are taking the value and giving it out but input which is scan f we are taking a value from outside and that value has to be deposited in the storage memory location allocated to a variable. So, consequently if I want to read a value and store it in n then when n is mentioned in my scan f I must remember to pass a pointer. If I just say n the compiler would not know where to put it and arbitrary things will happen this is something that we ought to warn our students that they need to pass a pointer. By the way this should also tell you why I dislike scan f function for introduction to our students in the early part of the course remember at that time we have never discussed pointers. So, we have to tell our students that they have to imagine that this is like a rule in Bible, Gita or Kulaar that they have to say and n or and p at that time they have no clue what these and are they know n and m with some difficulty they associate that with storage locations. Maybe we I use the model of a Dumbo you might use some other model but the moment you say scan f something something and something believe me the students do get completely confused this is the reason why I strongly recommend that while you might have a course in C programming. But if you use GCC then there is absolutely no harm in using C in and C out for the most part of the early course and only at a later stage not necessarily towards the very end of the course you can introduce this scan f and print f somewhere in between. You may not even discuss pointers in complete details but describe in a few slides such as the examples that I had taken and that would be adequate for most students to understand the need for putting a pointer in scan f. But other than that I have found it extremely difficult to explain it to students if you are attempting to do that to sort of first year programming students this is my opinion.


I want to thank the members of the Denver police department. I can't thank you enough for the involvement with special Olympics in 2014 We had the plane pull the polar plunge and the torture and that you all participated in To raise over twenty thousand dollars for this department is huge It's the in history the most we've ever raised here I also want to pledge our commitment for the upcoming year in the upcoming events and also encourage other members in law enforcement Of course the state of Colorado get involved. What a wonderful cause Special Olympics offer 22 sporting events for more than 14,000 people with intellectual disabilities 14,000 people that's a lot of people whose lives are better than they would be without the support and caring you provide Thank you so very Very over-the-top very much Denver police department for raising money and for helping out special Olympics with all the sports We do. Thank you so very much


Hi friends, my name is Mahirubali, I am the Assistant Professor of the Department of Civil Engineering, WIT, Saulapur. In the first discussions, we have done the theory of settling of discrete particles. Today, we are going to discuss about the problems on settling of discrete particles. The learning outcome at the end of this session, students will be able to solve the questions on settling velocity of discrete particles in sedimentation time. Let's have a quick revision on the formulas. Now, the terminal settling velocity that is vs can be solved by two laws. The first we have seen is Newton's law. That is, vs is equal to the root of 4G bracket, specific gravity that is as small as minus 1 into D, that is diameter of particle, divided by Cd into 3. The second law we have seen for the discrete particles of spears. Now, its formula is vs is equal to 1 by 18 multiplied by G by nu multiplied by as small as minus 1 D square. We have also seen for the different temperatures, we have different settling velocity formulas. At the standard 10 degree Celsius temperature, we have vs is equal to 418 s small s minus 1 D square. And for the other temperature, different than 10 degree Celsius, we have vs is equal to 418 s small s minus 1 D square multiplied by 3T plus 70 divided by 100. Here, the small t is the temperature. Let's have the first question. The question is, a settling tank is designed for an overflow rate of 4000 liters per meter square per hour. What temperature of diameter 0.05 mm and 0.02 mm will be removed in this tank at 10 degree Celsius? It has been asked that for the discrete particles of diameter 0.05 mm and 0.02 mm can be settled down, or if they can settle down, then what is its percentage? Now, how we can solve it? Now, we know that the overflow rate that is Q by A is given as 4000 liters per hour. That is, small vs is equal to Q by A. Here, the Q that is our overflow rate is given in liters per hour. So, as per the standard format, we have to convert it to meter cube per second. How we can do that? You have to first convert liters to meter cube. That is, by multiplying the 10 raise to minus 3, we can convert the liters to meter cube. Now, the hours can be converted to seconds by multiplying 60 by 60. That is 60 minutes multiplied by 60 seconds. Here, the area that is our surface area has been given indirectly. If you see the overflow rate, overflow rate has been given that 4000 liters per meter square per hour. Here, the per meter square means surface area has been given 1 meter square. So, we have to get that our area is 1 meter square. So, now we know Q and we also know the surface area that is our A. So, from that, we can find the vs that is our terminal settling velocity. By putting Q and A into the formula of settling velocity that is vs is equal to Q by A, we will get 4000 multiplied by 10 raise to minus 3 divided by 1 that is our area. That is 1 meter square multiplied by 3600 seconds. So, now it is in meter minute per second. So, we have to convert it to centimeter per second. So, by multiplying 100, we will get in the form of centimeter per second. So, finally, we will get answer vs is equal to 0.111 centimeter per second. We know the Q and A here has been given in the question only. So, vs is the given vs in another way we can see it. So, this 0.111 centimeter per second is the given vs. Now, let's see the particles of diameter 0.05 mm. Here, the specific gravity of particle is not given. So, we have to assume that specific gravity of particle to be 2.65. It is typically normal at the temperature of 10 degrees Celsius and as per the standards of discrete particles, it is always assumed to be 2.65. So, if in the question specific gravity is not given, you always have to assume a specific gravity of particle to be 2.65. So, here we assume as small as to be 2.65. So, from the Stokes law at 10 degrees Celsius that is our normal formula at 10 degrees Celsius, which is vs is equal to 418 small s minus 1 d square. So, putting the value of ss and the diameter of particle that is 0.05, we will get the answer in mm per second. So, our answer will be 1.72 millimeters per second. But we have to get the answer in cm per second as the given vs is also in cm per second. So, we can write the 1.72 mm per second to be 0.172 cm per second. So, you have to divide by 10 to get convert from mm per second to cm per second. So, in this way we will get 2 vs. One will be the given vs that is 0.111 cm per second and the second will be from the Stokes law that is 0.172 cm per second. So, now the percentage settled particles will be the calculated vs, the calculated settling velocity from Stokes law divided by the given vs multiplied by 100. So, how we can write it? The percentage settled particles will be 172 divided by 0.111 multiplied by 100. So, it will come up to be 154.95 percentage. Here it is greater than 100. It means every particle which is having the diameter of 0.05 mm will get settled fully. For the second diameter that is 0.02 mm particles same with the same equation we can find out the settling velocity. We know the specific gravity of particle which is 2.65 and the given diameter that is 0.02 mm. By putting in the formula we will get a settling velocity to be 0.0276 cm per second. In the similar fashion we will get the percentage settled which is coming up to be 24.86%. So, here it is not greater than 100. It means the only 24.86% of the 0.02 mm particles will get settled down and remaining will flow from the settling tank. Now, let's have another question. The question is, find the diameter of particles with a specific gravity of 1.2 removed in the tank having a surface area of 250 m2 and treating 8 million liters of water per day. Assume temperature to be 26 degrees centigrade. Here you can find overflow rate as we have found out earlier. So, it will come up to be 1.33 m3 per m2 per hour. From which we can also find the settling velocity that is Vs from the previous question. From that, we will get the settling velocity to be 0.037 cm per second. But this settling velocity will be the given settling velocity. We have found out from the overflow rate which has been given to us. We had not calculated by appropriate equations. Now, what they want us is the diameter of particles which will get settled. For that, they have also given temperature different than 10 degree centigrade. So, by applying the formula for the different temperature, we will get Vs. So, by putting the formula of 418Ss-1d2 multiplied by 3t plus 70 by 100. Here, we know SS, we know the temperature, also know the settling velocity which is given to us. So, from that, we will get the diameter of particles. So, in this way, we can find out the diameter of particles which is going to be settled. It also means the diameter which is lesser than 0.019 mm is always going to settle. The diameter which is more than 0.19 mm will not settle 100%. It may settle lesser than 100% but it will not settle fully 100%. Now, we will have some questions. These are the two questions which you have to solve. So, just pause the discussion, solve both the questions. Then you will again unpause that and so that you will get the right answers. So, this is the answer for the first question. The hint is you have to use the formula for different temperature. And this is the solution for the second question. So, just check it if you are not getting it. Please revise the video and think again so that you will get to know how to solve every question. So, this discussion I have used two references. Thank you.


Hello again in this lesson. We are going to talk about charts. Let's go to our practice topic Actually, let's change the name to practice Our previous lesson was about icons. I'm going to take them out list some of them and our arrows By holding the shift key on my keyboard on Windows and dragging with the mouse I Can select several objects at the same time and group them so These two objects, which is the girl with the glasses Will behave as one element So then charts, let's go to insert chart and We have a series of pre-defined library or Some templates for charts lines bars pie charts columns scattered type of charts with multiple access and Hierarchy Let's use bars Select a simple one For today the first choice that we have to make is if we want a dark or a light chart and the only difference between them is The color of the text and the rulers The color of the text if you choose a chart for a dark background it will present a light Text and lines and if you have a light background, then you prefer a light a chart Let's put them the other way around So we can see Okay, this chart is for light backgrounds and this chart is for darker backgrounds It's your choice the kind of charts in the advanced lesson we talk about the scatter Multiplia axis pie charts and also how to upload external data to modify the values on your chart in order to modify your chart select and click here on Edit chart we have basically options to edit the data or Different settings for your chart Do we want to show the values in numbers of our? chart Can you see here and do we want to show the values inside the bars or outside? For now We will keep them inside. I will show you why next colors you can use different colors For different Values do you want a grid or not? In this case the only option we have for the grid is vertical because we have horizontal columns But with other types of charts, we will be presented with more options Do we want the grid to be stronger or? Lighter and we can also set the title for each of the axis We want to start at a specific point This is very useful to manage the amount of space that the chart will use on screen Let's make a test Let's say that we have one of our columns That is very long You have one of the columns because the number is very much higher than the rest This column is too long, which means that the chart Will use a lot of white space and eventually use a space in your presidency and your presentation On your screen that you don't want So then let's set a maximum display data of let's say 10,000 what happens is that these two bars for USA and China Which are predefined values Are cut to a maximum of 10,000 why did we choose to keep the numbers inside the columns just because of that? If we show the values outside the columns Some will not show If we want at any time we can reset to the original This is for internationalization Where you can have the formats using dots or commas different decimal separators Do you want to abbreviate thousands and millions? See what happens? Do you want to change? How it's visualized and this is a chart that we end with keep tuned For the advanced lesson on charts because we have some more information to share with you


Alright Mambo VIP in PENZI, it is a maji wa ASP in bias. My name is Julika Napalegonya, mi tandao yake jamii kama silba kido. Nalau hi, nimaeza kum patana na amstana ambae, mdade ambae, amekua hero in Chini Kenya, amejituma, aliwacha starezake, akawacha mazingirayake, akatoka. Janiyake yawusani, janiyake asana, wile wile janiyake, janiyake asporti, haikoraisi. Na zingumzi amasi wanyama, kiski yama wanyama, basi wana kumbukawali wanyama sungine, tunna Victor wanyama, tunna McDonald Mariga wanyama, wile wile kuna heiski. Nifamili amae ime leta, nifamili amae ime toa mazana, ime toa wasani, ime toa mazta, in Chini 2.5.4. Naniyameza kum patana na amasi wanyama, tuze kuzumza tuji omisha yake kovipi, safariyake omisha kovipi, nalau hi, ame achieve nini kumisha yake. Masi wanyama, na fry sana, putana yama raya kwanza, karib sana, hale vipi. Niko poa? Zamusiko. Salama, na shikurumungu. Ndiyo. Safariyake omisha yake, kumuka the first time ulingia kovwanza, because na believe safariyake uilianza konyuwanza. Kovwanza kivipi, ok. Niniyameza, niniyameza, kitambu ni kishimduroa, nili kwa futbol na, nili kwa na train apo landi mawe, yes, those sides, so apo niliyameza, nili yengia wanja, nikanza kuchiza futbol, so nika kuchiza futbol, futbol, futbol, yes. Uliyameza na safari, uliyameza, uliyameza kwa grau, kachi kwa bol, ulijipatal na kuchiza yu bol by chance, ame because maybe indu kuzako, marafkizako, maniba. Ame niyo kati kukutuna perewa futaka? No, see, my brothers, brothers, ndu kuzangu kwa ninda kutrenu kwa most of the time, sasa tu kutuna fortana, they wanyamas, I don't know if that's, tu kutuna fortana. Wakitoka manu kuzangu sisi nao nao, because then sasa, niye niwa dogo, sasa yo brothers are your best friends, unenda nao kila maali. So uliwaka kitoka kina mazuizi nao nao, unenda nao na chesa wa kimaliza, when men are done sasa ni sisi ladies, to kimaliza tunarudi yon, so yon dili kwa routine. Wakiyanda tuko, wakimaliza tunarudi. So ili kwa... Ili kwa, even kwa, of course, ili kwa laki kwa namu brothers naba wali kushikamkona waka kutemena wewe. Unakumuka ili kwa na miyakangapi that time? Ili kwa 11-12, ditu liyeza kunda wajan, ukosa hidza nini, ukosa hidza landimawi, yes. It's the opposite city stadium, yes. Landimawi is just like symbolic, yes, symbolic na apu. So ukanza futa? Yes. Uka upgrade kida kwa ukagro? Pa le shule piya, I don't know if I have a chance maybe kuchiza shule na ma besesako ma neighbor? Ya, shule nili yanda shule, ma shule sasa, wili nili kwa futbola kumitani, niki yanda shule sasa ni kwa netbola. Ni kwa tiza netbola shule, laki ni mtani, kulkona coacha lkwa, ah, to join, tu kona team miya, ma day miya futbola. So mta futbola, shule netbola, yes. So ulkona balansa aje, because I understand, lazimu fani homok, lazimu u train kwa netbola shule, wili, wili. Mtani ma broak yanda training, ukona waw. Um, those days, to me, I'll say we have, my family, we have a big family. So lukwam kiamka, in the morning, mo nyanu shaviyombo, mo nyanaklina hao, those things are done in the morning before you go to school. Uke, shule beli kireing saip, watu ane yanda biyombiyo, weuna mikchumisha fani homok. Those days, ma tishao me toka, now you are given an hour or 30 minutes an hour there. That's when I was doing my homework, ni ma lize, nia do ni ki yanda home sasa. Ni kufuwa uniform kwa wanja, yes. Una for uniform kwa wanja, jupia chu tu kona chesa. So kama mtrain chu, wiki di ma lize, now you are free. But most of my homework ni kuna faniya chu. Nia do ni ki toka shule, ni kutu free sasa, ni kuchesa, kuchesa tu. So safariya kwa iku shia po. So in terms of asa netbola, uli pata kuchesa maybe levels are primary, ama uli kua consider maybe na kuna zile teams a community maybe. Primary, primary tu lukwa. I was, hee, sisi tu lukwa, I all everything. My family too call everything. In kwa premo, tukwa tukimbo ane biyo, wanyamasu waka. Tukimbo futbol, dowa wanyamasu. Tukimbo ane netbol, dowa wansisi. Sosa tu lukwa kila mali. I think it was jajaribu. I don't know jajaribu ragmi. Nimi jajaribu futumi ki. Volleybol ni kutu na faniya, mtani liya for fun. But it wasn't that serious. But mbiyo tu kona kimbia, futbol tu lukwa, netbol tu lukwa. So even in primary I was just to lukwa in all everything. So in primary wana pikiwa. Wana kwa ah, you can play. When you are a sports person you can do anything. Kimbia wana zachiza. So tukwa all over. But then mesa kuku liza ilko shulegane yo? Nili nilye tu liyanzana salvationami. Nika transfer to St. Peter's Clevers. St. Peter's Clevers ikotu apo, nukwana supermarketinitu ojakanji, apo tuotisi. So St. Peter's was behind salvationami. Nia yon tukwa salvationami because of the talent again. So we were moved to St. Peter's. So it was easy for you to escalate to another level. Of course piyo kuchiza another sport because of your capability. Amo because you are diverse. Nizachiza rugby, nizachiza ee, nizachiza ee, nizachiza ee. Nika na kujo naon. On a primary level, ukaji discover. Ukwana wei. Nika naiki tu yunik flan yambayo. Brathazangu wana fanyafituza u different. Mina balance bituza u different. Now I'm attracting friends. Now I'm representing schools. The first time lakumuko liwa uniform. Kambo niaji keshutuna tiza genist. Shile flan yadono ituza. On a primary level, was it on a secondary level? It was on a secondary level. Sasa tisindo ma special students. Tisindo to go in sports. Which is that first? It was 20... It was 2016. Okay, high school. No, 2017. Okay, high school. Yeah. Sorry. It was 20... So it was probably in 2008. Let's just do the maths. Okay, no worries. So let's say we want to get it right. But the first time umengia umengia umengia. High school genu u gomenda bade? Nilenda nilenda nashainaz. So you are telling tiako wasewa ukwana quita? Yes. So kato kwa primary u kela kumazakilazete. So you are telling tiako wasewa ukwana quita? Yes. So you are telling tiako wasewa ukwana quita? Yes. So kato kwa primary u kela kumazakilazete, kwa netbola. So kila siku tu kuna fika, sisi ndo wali tu kuna fika ma level zoti, like sisi ndo wali sasa tu kungatne danga, we travel all the way to UG. Sini wali tu moku la, fruits that you know KCC, Nakam, ina sponsor, the school, iso games, yes. Hini benaficha riwa? Hini sasa ni moku na mazima. Yes. Yo ya. So so when you show high school aku lukwaja in terms of now your career growth, impact VP on what level maybe what you feel like now, I've achieved on high school level as well and be as a career level ina career kuna ima zaki na professional level. I think okay in 2007 that's when I think I was in Fumon and I went to to Shainas. So after apple my tu kuna funga langata. Isi shulu zani rubi tu kuna zi funga kama zote. Tu kuna funga 150, atta sometimes they don't reach to 50s. Ika fika maali. Ina Joe Rero, Mr. Rero. Moja moja tuyo nini sayi MP Kibra. Aka kuji aka ni discover. Aka una, hey, uyu. Vela na tufunga. Aki kuji sayi di angu. Advantage. So mimi uyo after Fum2 ni maza Fum2. Ni kama wuko. Mimi ni kenda, nika join langata high school. So langata high school sasa ikakwaile sasa ina u. Niko basketball niko. Nini niko kila maali. Yes. Leo una chizapale neti. Una funga una funga uki fiki shaka, me fiki shaka aite. Baike ina anza, mimi na toleo, ingina una maalizia. Wini o basketball anza, wini wuko wuku, nina wuku tunamza. Mimi ni me shawo mo ready. Nga ingia, kama ni me ingia. So tunafunga tupe wuko. Ivo, Ivo. Nationals. Mata. Futbol sui kwa sasa, sasa na u. Oroa misha anata kani foko. So netbol na baike. So futbol, akuna ko cheli kwa nuna. And also in langata, ladies' football was not that. Inikuwa batiku kwa that nini. Kama as, like I was, nini di kwa, I was inikuwa much better, kusabu. So tunafunga Nationals all the time. Yeah, but footballers mademin, in langata ilikuwa bat. Oroa kukwa Ivo po sasa. Yes. So. That was it. By that time, umefika high school, family support ilikuwa pipi. Because I believe whatever they are doing. Um ilikuwa sawa.  So ilikuwa rai sikuwa maburo piya. So tukub na saidi ana. Anytime nuna, ane da training, ane da kimbia mimi nai nai. Sali ane da gym, kidogo sikuwa nene danga gym. Uyo time bodutikuwa. Na gym, I wasn't since ikwa nuna importance. Bodo sikuwa nime discover. Like I really need to go to the gym. But, wakenda mimi na uyo saan ilikuwa. I was, my fear was like staki kusho nani kai, you know, those ladies. So, that was my fear. Sa sikuwa nata kai. Uyo story sana. So, me ilikuwa tu. Wakenda training, mimi na uyo sawa ilikuwa. Atana training. Nuna fuku na kimbia. So, nuna kupush. Nuna fuku sai. Spidi ako ikochini kidogo. Umangiza wei. Razimo katiwe iti kidogo nduo. Ugo na speed. So, me ilikuwa na training. Actually, nimi training now. Most of the time, yes, I train with them. Can you count yourself lucky because now, your process was very smooth, I can tell.   Then, then I will say, I will say yes, ju niko high school, nuna tu everything is smooth. You know, you getting support and everything. Now you don't even have woni bado ugumu. Yeah, woni changamoto uko tu sasa woko. Mine is smooth kusabu in high school, uko apai. You know, nuna nyeshwa the way forward every time. The teachers woko nini there in control, everything is in control. So, wu na come to, wana chesam. Kamani training muna enda wote as a school. You know, the team goes all of you muna enda, muna training, shule muna rudi. So, kuku kwa na ugumu wote. Yes, na slide link. I was like, taking advantage of it because you had working, you have the talent, everything. Now, let's talk about your transition. From now being just a netball player to become now a professional basketball player. Playing net... Did you see that coming, kunza? Yeah, because when I joined Langata, nika nzaku wei between basketball and netball. Netball, mingi mingi. So, no, no, no contact. Basketball, wu na pita na watu, kumbuki asini, nini wungu wungu wungu. I'm like, ah, this netball na kwa boring. Basketball is what I want. Yes, I need to, in story, no contact. So, nini, people are playing to na gili mitsana. Yes, so I decided like, ah, why not? So, mimi nini wu kwan meshia mwa. I need a basketball nini wu kwan meshia decide. I'm not going to do netball anymore. Apondo nini decide, kusabu nini zaku na, nini wu kwan na compare the two, nini kwan zaku na. Nani netball is becoming boring for me. It's becoming boring kido. Kusabu dho nini wu kwan na kwa limited, like the limit means so much. So, nini wu kwan na taka something that I want. Mini wu kwan taka, I want to, wu na jwa, I need to fly, kama nini fly, wacha to fly? Yes, kama na ifanya wacha to fly, nini wu zuri. Yes. S.K.B.B.B.B.


Live from Las Vegas, it's theCUBE. Covering Edge 2016, brought to you by IBM. Now, here are your hosts, Dave Vellante and Stu Miniman. Welcome back to theCUBE, everybody, the worldwide leader in live tech coverage. Jason Ponton is here as the Editor-in-Chief of the MIT Technology Review. Jason, welcome to theCUBE. It's a pleasure to be here. Good to see you. Sorry, the keynote this morning. I learned that you guys think about technology in centuries. We have a long viewpoint because the magazine was founded in 1899, which makes it the world's oldest technology publication and we like to think the most authoritative. So, and it's great publication. I still get the print and obviously do online. But when you think about long-term trends in technology, how do you approach it and how is that different from other publications? Well, we've got a joke. When everyone asks me to do some predictions, I always say I'm going to be completely wrong and in the long term, it's going to have a much bigger impact than I can possibly guess. What tends to happen in technology is in the short term, the changes are pretty difficult to anticipate and it's often much more difficult. But in the long term, these changes are really disruptive. So, it's hard to remember that even 10 years ago when we had very simple smartphones, we weren't used to carrying around iPhones where every single part of our life is now mediated.  Well, we all have our favorite dot-com stories but look back, it was probably understated at the time. Was it not? Was it not in the value creation? Well, we used to mock at the time those of us who were cynical, the idea of the next, next big thing or the dot-com era, but the companies that were founded then would survive, like Google, like Amazon, have entirely transformed the way we think about very basic human activities like shopping or looking up information. Yeah, so in your keynote this morning, well, first of all, many have seen your TED talk, if you haven't, you Google Jason Ponte Ted and check it out, it'd be 1.601. A million people. Pretty good. So congratulations on that. Now you attacked that topic in 2013 when we were all wondering, all this new technology wave, are we ever going to use it to apply to solving bigger problems? But we've started, haven't we? So the TED talk addressed why it was that Silicon Valley in particular was addressing small problems or fake problems and three or four years ago, people were very animated by the smallness of apps. Even apps that were fairly useful, like Uber or Airbnb. The question I asked in the TED talk is how are we going to feed the 9.6 billion people who will be alive in 2050? How will we provide them with clean water? And most difficult of all, how will we provide them the energy which the emerging world has a legitimate desire to have the same standard of living that we've had here in the West for a hundred years? And I think of the three years since I've given the talk, there has been a kind of an emotional shift in technology circles. People want to take on big problems. Founder's Fund, a venture fund founded by Peter Thiel, one of the founders of PayPal, says you promised me flying cars and instead I got 140 characters. So I think there's a powerful desire to take on bigger problems. But the problem is that technology is organized to technology investing and technology entrepreneurialism is organized for fairly short time periods.  And really big problems take, well, going to the moon involves 400,000 people, 20,000 organizations, and its height around 5% of the US GDP. And going to the moon was quite easy. So if you think of something really big, like reducing energy, so it's net zero with its carbon emissions, that's a civilizational challenge. That's like building the pyramids. And I think technology won't be able to do that alone. It'll require politics, it'll require social commitment, and it'll require ordinary people to say they care. I wonder, because, take the moonshot, or we're at an IBM show. IBM is over 100 years of innovating. Where do we get the massive effort and capital to make those big bets? Because there's not too many companies that can say, oh, we're going to put billions of dollars into efforts. The old sandboxes, I grew up in New Jersey where Bell Labs is there. It's no longer what it was there. So where can that great effort and innovation come from? Let's go and give due credit to IBM for having created a whole range of technologies that did create our modern technological civilization. But it is probably true that over the last 15, 20 years, the great era of corporate research labs where they were essentially liberated to do whatever they wanted has been under assault. Even, I'm sorry to say this on an IBM show, even at IBM, there's been a desire to have a much stronger connection between profit and research. But there are labs still doing work. IBM's doing really important work in memory at Baidu. And Google, they're doing fundamental work with artificial intelligence. And Microsoft is doing an incredibly daring bet around quantum computing. So you can't find these OACs of corporate research. But the truth is these big projects probably take a political commitment. So if we want to make a big inroads about carbon emissions, there'll probably have to be some kind of global agreement like there was at the COP21 show, COP21 conference to begin to reduce carbon emissions globally. So government involvement obviously is part of that. What came out of Apollo? What was the sort of societal impact of Apollo? Well, so there's that wonderful Kennedy speech where he gives a rice university and he says, why go at all? And even at the time, he knew there would be a cynical, a cynical interpretation that we were going because the Russians were there. But Kennedy says, why do we do these things? We do them because they're hard. So going to Apollo, going to the moon did a couple of things for Apollo. First, it was a grand statement of human adventure. Everyone who went to the moon, all the surviving astronauts, sort of created a new sense of the fragility of our earth. But it also created a whole variety of technologies that we now take for granted. And not just the silly ones that everyone knows like Velcro or the Byro, it created fundamental breakthroughs in navigational technology, in the way operating systems work. It created a variety of operating system languages. So you can never predict what the benefits of these big projects are going to be. But every single time in history we've made these big bets, it's paid off in technologies that ordinary people have used as well. Thoughts on SpaceX? I love SpaceX. So I think in the beginning of space travel, it did require a kind of governmental effort. Most of the people working for NASA had been drafted from the Air Force and it probably took an effort like that. But we've made about as much progress as we're going to make and now we need to unleash the entrepreneurial power of markets to do the next things. So between the Bezos Blue project and Elon's SpaceX project, we need to drive down the cost of putting things into space to the point where they're a fraction of what they are now. And then I think a whole bunch of interesting startups might arise. So I would infer from your comments in your TED talk and other comments that you're a proponent of a Mars shot. As opposed to, and there's been some debate regarding where do we put the resource? Should we try to habitate the moon? It might be more productive for society if we do that. What's your take on Mars versus the moon? I think we did the moon. I think we've already been to the moon. And they've done that. And human beings have always explored. You know, there was no record at all of Neanderthals ever leaving the bounds of Europe. And but think about it, for hundreds of thousands of years, human beings did something really strange. They got to the edge of a body of water and with no reason to believe there was anything out there, they got into a tiny little boat and they set out because that was next. And what's next is Mars. A couple of years ago, we went to interview the slightly miserable guy whose job it is to plan the Mars mission. And he knows in his heart of hearts we're not going anytime soon. He knows going to Mars would require a colossal investment of money. And there were some basic technology problems we haven't solved yet. Human beings would get cancer probably if they went to Mars with all the solar radiation. So my deputy editor, a guy called Brian Berkstein, said, why are you doing this? This guy is approaching retirement. And he said, well, here's why. Because one day, 10, 15 years from now, someone's going to want to go. And they're going to say, didn't they plan that back in the teens of the century? And they'll take down my plan. And someone will say, there it all is. That kind of heroism in the face of frustration I find very appealing.  Which is a gloomy and morbid but also kind of heroic vision of that Mars is next. You made a comment today in your keynote about AI had a 30 year winter. And it's true, right? AI, we used to, first of all, we were intrigued by it. And then we just sort of laughed at it and then just ignored it for a decade. And now it's back in a big way. What kind of problems do you think we can solve with AI? There've been a couple of things in the last five years which have truly surprised me. One was gene editing, but the other is artificial intelligence. And what's amazing about the breakthrough in AI is it didn't come from a brand new technology. It came from a technique called deep learning, which had been proposed in the 60s. The algorithms had been written in the 1980s and they didn't get anywhere. And for reasons that would make a lot of sense to IBM, we didn't have powerful enough computers and we didn't have enough data. So the early deep learning programs, they stacked pattern recognition just three or four levels deep. You can't do much when you do that. But when you have gigantic data farms with thousands of servers yoke together, you can begin to build up layers a thousand deep. And really fundamental forms of intelligent activity suddenly become possible. Things like pattern recognition, seeing patterns in weather, in financial systems, driving, driverless cars, really weird things start to happen that you wouldn't anticipate. Now, a word of caution is in order. The history of AI has always hit these moments of frustration. So there are going to be things that deep learning can't do. There are going to be things that deep learning is bad at. But at the moment, it is probably the most exciting era in computer science in decades. Jason, in the keynote this morning, you spoke a little bit about the innovators under 35. I did. Can you share with our audience a little bit about it, maybe a couple of examples? Yeah, so for 16 years, Technology Review has identified 30 innovators under the age of 35 who we think are going to transform the world. Now, we've had some success during this. You'll recognize some of the names, people like Mark Zuckerberg, like Larry and Sergey from Google. It's important to say that when we found them, they were, if not unknown, they weren't very known. There have been other people who are perhaps less famous than the tech titans, but who have been tremendously influential in their way. Folks like JB Straubel, who's the actual technology genius at Tesla, and Helen Greiner, who created the first commercial robots. Here at the Edge, tomorrow afternoon, we brought 12 of our, excuse me, nine of our young innovators with us, and we're going to give the IBM audience a taste of the kind of thinking which these young people have in common. What they all share, they're members essentially of an attention deficit order. They can't focus on anything for very long, but when they do, they bring this kind of blinding attention to the thing while they're in the midst of it, and then they go on to do the next thing, and they are also all powerfully motivated by desire to do good in the world. They don't mind getting rich as well, and some of them are at this point, but they were essentially motivated by the desire to solve a big problem, and that's very MIT-ish, and that's very MIT tech-review-ish. Global security, I think of Stuxnet. Again, government involvement, even though nobody will admit it. Global security and technology's ability to solve those problems. Well, I used to say that no one would take seriously the idea of their internet security until there was a Pearl Harbor moment. But that happened with Stuxnet, right? Some unnamed nation-states essentially took down the national infrastructure of Iran and devastated their nuclear program. Imagine how we would feel if the Iranians had done that to us. At the same time, there have been really embarrassing corporate leaks to Sony, and just recently, we've watched the Democratic National Committee and a former Secretary of State, Colin Powell, have their emails hacked. So, I have to believe that after years of saying no one would care, and people still not caring after Stuxnet, the sheer social embarrassment for companies and individuals might be beginning to shift this just a little bit. I know this, that many CEOs now regarded as one of their biggest liabilities, and they're looking to companies like IBM, like HP, like FireEye, to give them a measure of safety. But in the end, internet security only derives from us using these things with a modicum of responsibility. There are some basic things we should all be doing, like not clicking on a pop-up when it says, click on me to go and keep our system safe. Bad behavior trumps good technology every time, doesn't it? All right, we have to leave it there, but I'll give you the last word. Sounds like you're doing some really interesting things at Edge, but what's new for you guys? What should we look for? Well, the thing which I am most interested in writing about at the moment is this idea of gene editing. It's a technology called CRISPR Cas9. It allows people with very basic biological experience to go in and directly edit the genome of a plant, of an animal, or even of a human being. So just as I describe it like that, you can hear that with a little bit of science-fictional speculation, it will have tremendous power, but it will also give us some real challenges. We'll have to ask, how much do we want to rewrite ourselves? And with that, I'll leave it to your audience to read about CRISPR technology review.com. Jason Ponton, we'll leave it there. You guys do great work. Thank you very much for coming on theCUBE. Thanks. All right, keep it right there, everybody. Stu and I will be back with our next guest. This is theCUBE, we're live from IBM Edge. We'll be right back.


Hopefully lunch coma is not setting in for you guys So I'm here to talk about a project that I do in a junior level class combining type and image and this particular assignment was interpreting constitutional amendments The backstory is these students are juniors most or it's a required class for all the visual communication designers in the program But we also have interaction designers and industrial designers And so there are a few of those that take it as an elective They would have had one sophomore class before a 60 person class So they know what kerning and letting and those kinds of things are but they forget a lot of it over the summer 26 students two sections of this class So in this I usually run three to four projects. Some of it is mobile screen-based typography Others are posters. We talk about type as a form of expression Type as practical type setting long chunks of text. So these are some examples of some of the projects that they've done This was the brief that I gave them which was to design a poster representing one of the 27 amendments in the US Constitution they could remind people of its original purpose and importance Rate is awareness about a particular issue related to the amendment call for a change to the amendment itself and their Audience with students at UW. It's about three weeks I start with a lecture about combining type and image We do an in-class exercise and then the rest of the time is based on Class crit all-class crits or one or two desk crits and we meet twice a week Deliverables pretty straightforward a 16 by 22 inch poster this could have been bigger But I try to be aware of costs for them and we have some Epson printers that print 17 by 24 So this allows them to full bleed it so it's a slightly random size But it helps them cost-wise So this was last fall and about this time in the news We've got Trump attacking everyone in the press. So free speech is under attack We had the protests in Charlottesville, Virginia. Harvey Weinstein has been arrested or has been called out for his sexual harassment Colin Kaepernick and the NFL are right up there in the news for taking a knee And then we had the shootings in Las Vegas that took place. Maybe one or two days before I Assigned this project so plenty of fodder in the news for the students to pull from The learning objectives for me This is always framing around how do they combine type and image because most visual communication designers are going to have To work with text and image together and so I work with a book I don't know how many of you are familiar with the Skolas Waddell type image message book But the purpose that I give them is to understand the power of type As a way of creating image, but also just combining type and image and then to help them learn to work at a large size And again 16 by 22 isn't a particularly large size But it's bigger than the eight and a half by 11 that they're used to or a small mobile and Then we want to encourage them to engage the viewer at various distances And I imagine some of you teach in a similar way You might have heard of this rule the 10 30 10 3 rule or 50 10 5 are you frame it? But it's basically from 30 feet away a student or a reader should see something that attracts them to bring them to the 10 feet where they get something else to get them to the 3 feet which gets them something else and a lot of my Students will design for the 30 feet and never get any closer Or they'll design for the 3 feet and never draw the viewer in so we try to talk about how can you have something different on Your poster or your piece at these various distances So I start off my lecture talking about the differences between type and image and as we've heard this morning a lot about typography It's language made visible. It's learned and so in the case of our class We're talking about singular geometric letter forms that combine to create words then sentences Usually read left to right and least in English and images represent the physical world And I often put up pictures of my kids or or a dog and I'll say you come with your own You know Experiences so you might think I miss my dog or I hated trick-or-treating at Halloween you all come with your biases So we talk about that when you're using type and image together This is the book that I pull from my lecture and is anybody in here familiar with this book or is seen in It's from 2006 and man I would love it if they would update this book because it's got terrific content But it's a lot of images that are now you know 12 years old so it would be nice if you know Nancy and Tom push them to do a second edition But in there There's actually a really great way to talk to students about these four ways to combine type and image and for those of you That are familiar with the book sit tight. I'm gonna do a super fast explanation One of the first ones is separation So separation is where the type and image just operate independently and this is a You know an hour-long lecture for me. I'm condensing it into about two minutes Type remains on its own layer type is placed in compartments or windows And this is super useful if you have a complicated background or especially in mobile or screen-based type And then the type can react to an image but remain on its own layer So these are some examples of that and you can imagine again if you have a picture or a photograph That's got a lot going on some of your students might struggle with how do I fit type on there that can read? And so these shapes the red shapes or on the right That's actually a screenshot from a mobile app just using bars And this is you'll you'll find it everywhere, especially in screen-based stuff The middle one is an example of where the type is operating on its own layer It's almost not acknowledging the images back behind so I hope that by showing them lots of examples along the way They can start to see okay. This is separation Fragmentation is another one. This is where the type and the image Disrupt one another or displace one another so here are some examples of that This is a poster on the left on Song Siu for Hangul day You can see the letter forms are actually being interrupted by the building or they're in front of the Of the street, you know on the right I think the challenge here for the students is how can you still see the letter forms and how can the letter forms and the Imagery engage one another in a more interesting way than just a layer sitting on top So this is a way to talk about again fragmentation combining type and image The third one is fusion and this is where they merge into one entity and it's almost like Fusing it makes sense. It's sort of on the scan it fuses to the surface so they share a surface or a texture Or they might even be connected through space So on the left, this is a good way for you to maybe introduce a variety of designers that you've seen or historically So this is Philippe Appelog on the left But it's a famous poster that he's done by just creating the same perspective with the typography The middle one, you know, the letter forms themselves are being affected and by the the shapes the lines that the paint likes Blue stuff that's in there whatever that is and I don't think you can get much more fused than Stefan Sagmeister's poster Where his intern actually etched the letters on to him with an exacto blade So that's fused on the skin literally and then the final one is inversion And this is where type and image trade rolls the type becomes the image and so examples of that are, you know Hand-drawn letter forms is sexually the project on the right or the poster on the right as a project I do with sophomores in typography where they have to pick a line from a song and then make the letter forms But it's where the type is starting to do the work for you as opposed to the photographs or the imagery that's back behind it So we do that we I go through those four and then I have the students bring in their own images And we just do an in-class exercise where I I give them a quote And I've got an hour to basically try and combine Type and image using the four different methods and you know most of it's pretty crappy stuff You can imagine but it's it's a pretty quick exercise for them to even start to articulate why is one different than another almost everyone top left is separation and then we've got Fragmentation down below fusion upright and then the type is image They almost always just resort to a typeface and mask the image in which is a lame-o way to do it But that's how they're starting I Show them lots of examples of type on posters. We look at unit editions We go to typographic posters or I've got lots of examples for them So I'm I'm primed and ready and critique one where I say present two to three different concepts So at this point they would have had to pick their amendment do some research on it And then show these initial concepts don't try and get bogged down in the perfect kerning or the right color But we want to know what your idea is Rather than I'm sure plenty of your students will put up stuff and then spend 20 minutes talking about what they want to do But there's nothing up there for us to talk about because they haven't tried to visually translate it But inevitably what do they all do they resort to images first? And so this is an example of process work from one student starting from first crit moving along I'll show you more images they all resort to images and I have spent so much time This is a particular student who is dealing with the Second Amendment and gun rights And so this is actually a picture of him He hasn't been affected by guns in any way, but yours your left wondering What do I do with this text and and what do the numbers mean was he shot six times like this? You don't they're having a hard time figuring out what their ideas are here, and that's obviously part of the process Moving along he started to get a better sense of what he wanted to say Which was that the NRA was somehow distorting the Second Amendment? And so he's actually got the text from the Second Amendment back behind and and I'm during critiques here These are group critiques reminding them. How can the type do the work for you? Why is it that you have to rely on a single image? What can text do for you? And so he's got you know images of guns, but if you're saying NRA Maybe guns aren't needed So it's sort of a matter of when can you show something and when can you say something? And so what he ended up with was this one which is that and you can see a well-regulated militia That's part of the Second Amendment that text in the back And it's being distorted by the NRA which is sitting up top So he's working on that 30 10 3 kind of read and around the outside This is a detail of the outside He is highlighting the various congressmen who are receiving money from the NRA and at the time There was a quote from John Thule who's Republican who said in the case of a shooting get small So that's actually what this small text is that's in the center So he's kind of worked hard to sort of combine. It's all text at this point But to create that that various levels of the read This was another student and he was all over the map again This is process But you know when you stick a picture of Melania Trump up there in handmade tail We're not going where he wants us to go and this was about the 19th Amendment and that everyone has the right to vote at the time And so it just became a very confusing for him to rely on images rather than text Trying to talk about women's rights in the middle and part of this is them trying to figure out what their exact idea is Along with being able to visualize it. So he moved then later into Angela Davis who's a political activist trying to sort of put text in there that people would read But of course then we have debates about well, how much text you want on a poster and are people going to actually come up and read all of this Again starting to hassle him on how can you make type do the work because he's trying to get across the idea that No matter what group you're part of whether you're handicapped LGBT a Woman whatever race you are you all have the right to vote and so rather than try and find one image that ends up being Clichéed he started to play with words and this was his final solution Which I thought was actually quite strong in terms of just being able to engage people from various distances and let the type do the work for you another student this was There are other process works in between but she was playing with the idea of Colin Kaepernick and taking a knee But again starting on the left with fairly cliched images Moving again into the middle. You also can't get terribly good quality images for a large poster So she ended up with a version on the right She had many versions in between that looked a little like the Death Star in being constructed with the typography But these were quotes from Colin Kaepernick How could he get across the idea of football or she could get the idea of football across without actually showing that So being able to understand that maybe typography can do some of that work for you a Few more examples This was a student that was going after the first amendment But also using Colin up Colin Kaepernick just the idea of him being able to take a knee So his text is the white text, but she's also used Martin Luther King His text is the black text and she was trying to get across the idea that Struggle is a part of progress and so she's actually got both of them there and this becomes a matter of okay You didn't need an image of a football you could get across the idea through the the grid structure on a football field And then she has the the text in there from the first amendment a Few others, you know again raising generation hate. How can you this was after the first amendment? This was there was an uptick in Bullying and students, especially in elementary schools Bullying other kids about race and and gender After Trump was elected and so just playing the scale of typography on the right was gun control The idea that it is complicated that there's two sides I thought this one was a little less successful because you just read complicated, but you don't get much more I think you know it's guns and complicated These two were about right to privacy so again along the way as we're critiquing we're talking about what are the ways You're combining type and image so you can see fragmentation is being used on the left You still have to be able to read the word commodity This was about students and right to privacy and the one on the right was about the government How they're actually using technology to collect some information from you We have the power he actually use these are all googly eyes those little googly eyes that move around and so his actual Poster has all googly eyes It's hard to make them all look in the direction of DC But it was the idea that states have the rights have rights and power versus always just looking at the federal government And then on the right, you know the the idea that yes, you can get across pretty quickly This is about Donald Trump and this is about his view of Freedom of speech but distorting the type in some way rather than just sitting it on there and type setting it neatly So the students start to see again separation. How could I get that small type on there and have it be readable? So reflections in the project the pros I think is it's a it's a really useful way Or it has been a useful way for the students to learn about combining type and image And the students obviously get to choose a topic that they're interested in which is good rather than me Assigning them all to the same one The cons I think here are that some of the amendments tend to be a little more complex than others and when only one or two Students are working on one of the amendments. There maybe aren't enough people in the room To respond to them or give them more critical feedback on their specific topic So if you were interested in trying this you might either choose two or three of the amendments that are more popular And have them work on those and we'll say that it you know in later classes that I have them I can make it show up in the work So I can remind them wait. How are you combining type and image? And is there a better way to do that? Excuse me the separation one. I think works quite well, especially when you're on screen They learn about the power of using types so a lot of them, you know Again, they initially rely on images, but they start to realize oh the typography can actually do the work for me here Which is good So I'm going to do a quick test with you guys on the far left Which one is that fusion fragmentation separation inversion stuck on the skin on the far left Fusion right excuse me. So that's Sagmeister What about the second one buck this type only has to be inversion What about the third one? separation right so that's from the guilt group, but you can see if you have a Complicated image. It's a lot easier to put those kind of shapes on there and then on the right far right Fragmentation right so I think there just is more depth when the images in front or behind of the text Which is great slow more interest So thank you


AirMiles descends. Empire company switching to SYNPLUS from August. Groceries under Empire R, Sobys, Fresco, Safeway and many more. Partnerships. Empire taking one-third of SYNPLUS with Cineplex and Scotia Bank. Recently, AirMiles also lost, LCBO, Lowes and Staples. Future Strategies. If you're into AirMiles and other viewers' points or miles, it may be time to rethink or redesign your strategies. Thank you for watching this video. There will be more videos coming up, so I'll see you shortly. Thank you.


I'm here overlooking the frozen Humber River in the west side of Toronto and makes me think that winter time really is this time of everything just stopping. I mean look at this river in any other season would be flowing, moving, rippling and yet here it's like it's frozen in time. It's like time itself has stopped. And it seems like you know when you look at chemistry and biology the temperature affects the speed of everything happening in life so that you raise the temperature and you increase the speed of these chemical biological reactions. When you bring the temperature down especially below the freezing point of water and you get into this kind of stasis, kind of state where we use the metaphor frozen in time and it's very fitting. It's hard to believe that all this water is simply just frozen into essentially a solid rock. That's what I see the winter is about. This time to, this time where everything slows down. All the processes of life slow down. The world solidifies into stone. Obviously in the human world everything is carrying on but there's this feeling throughout the winter of this kind of frozenness, this silence, quiet, and of course the darkness only short eight-hour days now. And it really is sort of a dead time of the year. So how can we use this as part of human life? It seems to me this is a good time to completely stop to let everything come to a stop. I think like the warmer months are a time for action, movement, change. The winter is a time to go inside, let everything stop, and bring everything to a stable point. Work on the foundations and get ready to start again in the new year. I don't know exactly how to describe it. I wonder if any of you have any way to describe this feeling that winter brings. It's usually not the most pleasant time of year. If we had to pick one season to live all the time, it certainly wouldn't be the winter. It's not a time where you can enjoy being outside as much. You have to huddle in and try to protect ourselves from the cold most of the time. And of course the long darkness doesn't lend to enjoying time in nature. But what would it be like without a winter? There's something that is added. And of course as a Canadian, this is a country with known for a lot of winter. Even though I'm in the south end of Canada, I can still call myself Canadian and experiencing some level of the Canadian winter and there's something so refreshing and renewing about having this complete stop. So we have this phase where the whole year, whole phase of life, it's like each year is like a life. Born in the spring, it lives through flowering in the summer, bearing fruit in the fall, and then in the late fall it dies and the winter is this dead time where everything can come to a stop and then we get ready to start again. So while the dead time itself is not my favorite time of year, I am glad to have this time for the chance to let things come to an end, stop the whole progress of the summer, let it have a natural course, die away, bring everything back to the basics, to the foundation, everything coming back to the essential things in the winter, and then as the light starts to return, starting to plan the adventure of the new year.