In this video, I'm going to explain something that may seem fairly obvious and intuitive, but is a very important concept in physics, and can be useful in simplifying some of the maths. This concept is the concept of ground. If we are investigating or using the amount that a quantity is changing, then there are many cases in which we may not care what the absolute value of the quantities are. In these cases, it can be easier to select a reference point from which to measure quantities. A perfect example of this is temperature units. Typically, when we measure temperature, we use Celsius. This has convenient reference points. At zero, water turns into solid or ice. And at 100 degrees, water boils and turns into steam. So we've set up these two reference points. However, if we want to use absolute values, we'll use temperature units of Kelvin. And there are many problems where we do need to use Kelvin. But there are also many problems where we're only interested in the difference. And in these cases, we typically use Celsius units. Temperature units are a good example of both absolute and relative values. But if we look at distance, there is no absolute reference point. When we measure distances, we always have to specify where we are measuring from, as well as where we are measuring to. So how does this link into our concept of ground? Consider standing on a table, holding a ball three metres above the ground, and dropping this ball to your friend standing in a nearby hole who catches the ball one metre below the ground. Let's find what the change in potential energy of the ball is. While if we do this, using our typical ground level being at the ground, we find that our potential energy is equal to mg times the change in height, which is equal to 3 times mg minus negative 1 mg, which is equal to 4 mg. However, we can also choose to place our reference point where our ground at minus 1 metres. We know that the ball is initially at a height of 4 metres, and if we plug these numbers into our potential energy equation, we find that 4 mg is just 4 mg, and we have our result. So this seems pretty obvious, and it doesn't seem like we've actually simplified the maths, but this is just an example of how we can set our ground at different points to make our lives easier. So what are some ground rules for choosing reference points? Well firstly, reference points are system specific, so comparisons between values need to use the same reference point. If I'm using the ground that's at my feet, and somebody else is using a ground in a hole one metre below the ground, then we need to be aware of this if we're trying to compare values from the different systems. Another helpful hint for using reference points is that an obvious candidate for selecting a reference point in your system is to choose the lowest or highest point in your system. This can really simplify the maths. So for example, if earlier we'd chosen our ground to be 60 metres above the ground, then the person on the table would have been minus 57 metres, and the person on the ground would have been minus 61 metres.  Whereas setting our zero in the hole gave us very nice simple numbers. So why have I called this concept ground? Well the physical ground is a natural reference point in equations, particularly in potential energy, because it's usually the surface that things drop to. You will also come across the term ground when analysing electrical circuits. This ground can also refer to a physical earth or ground connection, and or to a selected voltage reference point in your circuit. As an aside, if you continue on to study quantum mechanics in any detail, you'll come across the ground state, and this term does define the lowest energy state of a system.


So, I think pretty much everybody here is familiar with the notion of transactions. I would not belabor the basic stuff, we have the usual acid property, atomicity, durability, consistency and isolation. Now, all of you know very clearly what is atomicity, what is durability, consistency is in the eyes of the beholder or another way to say it is depends on what database constraints are declared and then whatever constraints application enforces without the database even knowing about it. All of those are part of the consistency requirements that the database does not really have a major role beyond enforcing the integrity constraints which it supports. And the last part is isolation, does everyone understand what is isolation? How many do not understand isolation clearly and ambiguously, I am impressed, well I should raise my hand. Isolation is actually not very well defined, it is very hard to pin down precisely. There are in fact many definitions of isolation and the definition we use is from the Bible of Transaction Processing, but even they make it clear that isolation is actually hard to pin down. Now, what do I mean by this? Many of you will say that isolation means serializability, that is one traditional interpretation of what we mean by isolation, we will just briefly discuss serializability in a minute, but that is something which guarantees isolation. But it turns out many systems do not actually implement serializability, they do something weaker, can we say they do not provide isolation? No, they do provide some kind of isolation, but it is something weaker than full serializability. So, then what do we even mean by isolation? There are different degrees of isolation, so we cannot define you know we cannot define all possible degrees, there are maybe there are infinite number of degrees of isolation. So, if you look at the traditional acid properties the way Gray and Reuter define isolation is a simple variation which says that a transaction cannot see the intermediate state of any other transaction or in other words if you take any pair of transactions and if you see what this wrote and that read, if you take a pair of transactions it will look like to this transaction T1, it looks like T2 ran after T1 meaning it does not see any update of T2 or T2 ran before T1 which means it sees all the updates of T2. So, T1 should either see none of the updates of T2 or all the updates of T2, so this is kind of a minimal requirement, if you violate this then you are seeing intermediate results and then the transaction is not isolated, but it turns out that a pair wise serializability this is a in a sense a pair wise serializability requirement given a pair of transactions one should appear to run before the other or after the other, but it turns out pair wise serializability does not guarantee global serializability. So, this definition of isolation is not equivalent to full serializability it is only pair wise. So, this is a reasonable definition which does not force full serializability, but does insist on something which is quite reasonable which pretty much all the variations of isolation actually do support this that you would not see intermediate results of other transactions. So, it is a minimum requirement for isolation. Now, of course, you can ensure everything works fine by running transactions serially. So, why take all this trouble to run things concurrently? Why go through all this business of serializability, all this theory, all this concurrency control, why is it worthwhile? Does it even make sense? Why is it an efficiency issue? What do we mean by efficiency? Why? Why not run things serially? Yeah, exactly, while what? So, there are two motivating reasons. The first is that you may have some very large transactions and if you make other transactions wait for a very large transaction to complete. So, run them serially one after another, large transaction has to run at some point and any other transactions which come after it have to wait for it to complete and this may take a long time. So, even if they do not logically conflict in any way, you will have to force them to wait. So, this is the number one reason that you may have large transaction. The number two reason is that even if a transaction is not large, if you have a magnetic disk storage system, it may access something which is on disk and once it does a disk access, it has to wait. How long does it wait? Maybe it takes 10, 20, 30 milliseconds for the disk access. This may not seem large, but for a system which processes thousands of transactions a second, a wait of 20, 30 milliseconds is significant.  But it turns out that these days people are going back and looking at this issue and saying maybe serial execution is not such a bad idea after all in some domains. What is that domain? A, the database has to be in main memory. So, you never have to wait for this caro. B, all the transactions are very small transactions and so there has been some work which has shown that under this limited assumption, running things serially is actually much more efficient than playing the overhead of concurrency control, locking and so forth. In fact, some of the work in this area that Hancock has some publication in the area, which have implemented these systems and shown that serial execution is actually a good idea under some such requirements. But of course, that is not the whole world. There are other things. So, understanding, in fact this is very funny because Hancock's earlier avatar, when he did his PhD and for a while after that, all of his research was on providing very high concurrency.  Actually, I am kidding. He says that under certain scenarios, all that I did before is not really required. In other scenarios, it is still useful. So, moving on, we have seen this definition of isolation which I talked about. Every pair of transactions T1, T i and T j, it appears to T i that either T j finished execution before T i started or T j started execution after T i finished. This is the minimum. We also know about transaction states, transaction runs. When it finished its last statement, it is partially committed and then it tries to commit. When does it commit successfully? That depends on the recovery implementation. Typically, when a commit log record has been written and otherwise, it fails and it is aborted. We have already seen two of the reasons for concurrent execution, which are to do with transactions waiting in two different scenarios. There is a third reason which I did not talk about, which is if a transaction is waiting for a disk IO. It is not that another transaction is conflicting with it, but if it is a non-conflicting transaction, why cannot you let it use the CPU while this fellow is waiting on disk IO? In fact, for typical systems today with many disks, while one guy is doing IO on one disk, another guy can be allowed to do an IO on another disk. They have to be running concurrently. To run them serially, only one of CPU or disk or one of those disks will be activated. All the rest are idle. So, you are wasting resources. If you let them run concurrently, you can improve resource utilization sharply. In fact, this was also one of the major requirements for concurrency control in early days. Concurrency control schemes are mechanisms to ensure isolation. We are going to look at some of them briefly. There is also a notion of a schedule, which really helps us understand if a particular concurrency control scheme is actually working properly or not. What does it mean to allow concurrent execution and still nothing will go wrong? It is actually not easy. If you already know about schedules, it seems obvious, but if you do not or for the moment you pretend you do not know about schedules, how do you know that a particular execution where things are all interleaved? How do you even know that it is okay? How do you know it will not cause problems? This is actually a very non-trivial problem. The notion of schedules is actually a major theoretical advance, which helps us understand why certain things are fine and why they are not. If you were a systems guy who was there in the era before the notion of schedules was formalized, you would probably have just played by seat of fans. You say, well, let us lock this and things work, but there is no proof that things are safe. Concurrency is an area where unless you can prove something correct, it is really dangerous. For example, many people write applications which are multi-threaded today. They are concurrent applications. They do not use serializability. They use some form of locking, which does not really guarantee serializability. There is a big problem. A lot of software today is buggy. Have you ever had a browser crash on you? How many of you have had a browser crash? It is a few times. Other software crash. A lot of time it is because you have multiple threads in there and there is a synchronization problem. I have seen Firefox hang because the Adobe Flash plugin does something and gets into a deadlock. Trying to prevent concurrency, but gets into trouble and hangs. So, there are many kinds of problems which can arise because of concurrent execution. A lot of people did not pay too much attention to it. They say, okay, fine, the browser hangs. Kill it and restart it. You may think it is a virus, but in this case, it was Adobe Flash. It was not a virus. Adobe is notorious for performance and bug issues. Thief job had a field day bashing up Adobe for this. That is why it does not run flash on iPad and iPhone. Anyway, that is a digression. Coming back, handling concurrency is actually very hard and it is bad enough in scenarios where the worst case is you have to restart a browser. But if this is a bank database and lack of concurrency causes money to be lost by the bank, bank will be very unhappy. So, there is a strong motivation to understand it theoretically and be sure that nothing will go wrong. That is where this whole notion of schedule comes in. So, what is a schedule? It is a set of operation that the transaction runs. Again, one of the important parts of the schedule is abstraction. Of course, a transaction does many things. It is a COBOL program or a C program which is compiled down to machine code with hundreds of operations. How do you understand what this is doing? You cannot really deal with all this complexity and still get anything meaningful out unless you abstract away. So, here is the schedule which has several operations. One is read operation, which reads from the database. Another is some computation internally and then a write operation. One of the key things which is done by concurrency control is to say, let us throw all these operations out. I do not understand what the transaction does internally. In this case, I know it is A equal to A minus 50. In general, given a transaction, it can do very complex calculations in there. I do not know what it does. I will not even try to find out. I will just assume it can do anything in between. So, there is a read, there is a write. In between the read and the write, anything could have happened. So, that is how we abstract away details of what the transaction does and use schedules which have only reads and writes. So, these schedules are still involving operations. If I know what the transaction is doing, I may realize that two schedules are equivalent. They will generate the same final answer. If I do not know, I just wanted an example of a schedule, which involves only reads and writes. This has reads and write, read, write. And the read and write is on a particular data item A. So, now, how do I know that a given schedule like this is safe or not? And the answer is to use the notion of conflicting instructions. So, for reads and writes, again you are probably familiar with this notion of conflict. If both are reads, they do not conflict. If even one of them is a write, there is a conflict. So, what does a conflict mean? It means that if I have a particular order, the opposite order will give a different result. If I have two writes, I flip them, then the result will be different. If I have a read followed by a write and I flip them, the read will get a different result. So, this is an important notion for deciding when two schedules are equivalent. There is actually another notion of serializability, which is not based on conflicts, but on something slightly different called view serializability. Again, many of you cover it in your syllabus. I am going to skip it here for lack of time. So, I would suggest that if you have control on the syllabus, view serializability is a very special case. It is not used that much. So, if time is limited, you might as well skip that and do other stuff and focus on conflict serializability only. Ignore view serializability. Coming back here, if you have two schedules or rather if you have a schedule and you swap a pair of instructions, what do we mean by swap? By swap, I mean there is operation here and an operation here. And swap means move this down and move this up. They of course, stay within the same transaction. You do not take operation and move it to a different transaction. It is you move one up and one down. And we are swapping adjacent ones. Now, note that this also makes another assumption. The notion of a schedule here is making an assumption that the operations run one after another. Is this even a reasonable assumption today? It is not quite because you have multi-threaded processors with multiple cores. So, even a single operation may be, you know, you do not know whether this ran first or that ran first. So, in this schedule, we are assuming things run serially, but there could also be schedules where you have two operations where you do not know which one ran first. Now, this does not really matter as long as the operations do not conflict. I do not know which processor did road A and which road B in what order. But as long as they are on two different items A and B, I do not care. So, the notion of conflict serially can still be used even if we do not know the exact order of the operations. So, let us first see what happens if we know the exact order. So, in this case, can you swap write A and read A? You cannot write and read on the same item conflict. On the other hand, I have a read B and a write A. Can I swap them? Yes, because they are on different items that moves down. Now, I have a read B and a read A. Can I swap this? So, this read B can be moved up. Similarly, this write B will be swapped with write A and again with read A. So, when we move both of these up, I have landed up at this schedule. So, these two schedules which we got by swapping are conflict equivalent, because they do not swap anything which conflicts. So, if two schedules are conflict equivalent, we are sure that they will produce the same result, because the order does not matter. Similarly, if I have a schedule where I do not know the exact order of these two operations, as long as they do not conflict, I can pretend they happen in this order or I can pretend they happen in that order and it really does not matter. The end result will be the same. So, that is how schedules can actually deal with multi processor, multi threads and so on. Now, these two schedules are conflict equivalent. Moreover, this second schedule is serial, because one transaction is executed completely and then only the next transaction starts. So, this is a serial schedule and as you are aware, the notion of conflict serializability says that if I have a schedule and I can swap it to get another schedule. In other words, it is conflict equivalent to some serial schedule. I know that serial schedules are safe. There is no concurrency, so there cannot be any problem due to concurrency. Now, here is a schedule with concurrency, which I have just shown is exactly equivalent to some serial schedule. Therefore, I can say that this concurrent schedule is safe. It does not have any problem due to concurrency. This is the key insight which people had maybe 30, 40 years ago in the early days of databases when the notion of serializability came in. This was the key insight and then they can say, look I will allow concurrency, but I will prove that it is equivalent to a serial execution. Therefore, you are safe. So, this was a huge leap forward and here is an example of a schedule which is not conflict serializable, because if I want a serial schedule, either this should have come first or this should have come later. Unfortunately, all of these are operations in the same queue. So, this read write conflict, so I cannot move it up. This write write conflict, I cannot move it down. So, this is not a safe schedule. Now, of course, schedules are what we observe. What I want to do is prevent any such schedule, which is not conflict serializable. So, the question is how do I prevent it? I cannot generate a schedule and then check if it is conflict serializable, it is too late. So, the concurrency control scheme is the one which is used to prevent bad schedules from occurring.  I will show that any schedule that occurs under that scheme is conflict serializable, then it is safe. Therefore, the concurrency control scheme guarantees safety with concurrency. There is also schemes which ensure view serializability, even though it is not conflict serializable, we would not bother about them at this point. Now, it is not enough for a schedule to be conflict serializable, because what may happen is that even in a conflict serializable schedule, a transaction may read an item which is not yet committed by another transaction. So, why can that happen? In this case, they take this first one here, T1 road B, T2 red B. Now, at this point, are we sure that T1 has committed? I do not know, maybe T1 has not yet committed and it only commits here. Then T1 has read something which is not yet committed. What if T1 has not committed and it decides not to commit at this point? What do you need to do? You need to roll it back, which means you have to undo the effects, which means you have to write the old value of B back. Now, see what happens. If you have to write the old value of B back, this read B is in between two write Bs. So, if you include the roll back, this is not actually serializable. So, to ensure that a transaction can roll back, we do not want to allow reads to happen to something which has been written until this has committed. And so, recoverable schedules basically insist that once an item has been written, it cannot be read until it has been committed. So, that is a minimum requirement. Otherwise, you can get into trouble. You cannot even roll back a transaction safely. Well, technically, the condition is a little weaker. What it requires is, recoverable schedule requires is that if a transaction TJ reads a data item previously written, then the commit of TI of the first transaction appears before the commit of TJ. That is the notion of recoverable. So, that is a weaker thing. So, we allow it to read an uncommitted thing, but we do not allow it to commit. If it commits you are in trouble because the value may actually vanish because of a rollback. In reality, a stronger notion where we do not even allow it to read until it is committed is safer. Why allow it to read? And then decide later to not allow it to commit. There are certain situations where it is still useful, but typically in practice, you do not even want to let it proceed reading an uncommitted value. So, correspondingly, the minimum kind of isolation level which most databases support is what is called read committed. So, read committed isolation level ensures that nobody will read a value which is not yet committed, which then gets rolled back. So, you are seeing something which never ever existed in the database. That is prevented. Data analysis that it says that this is the probability of not committing this transaction. What is the probability of commit and failure? Then it takes the decision that we are making. That is a very good, that is a very good question. So, the question is what is the probability that this fellow fails? What if almost always the transaction will commit? Then why not let it go ahead and read it even before this is committed? And the thing is that if you read an arbitrary value in the middle of an execution, this fellow may write it again. So, that is a bad idea. But what if it has finished its last step and it is actually just waiting to commit? Then the probability that it will roll back is very small. So, many systems will allow you to read a value of a transaction that is not fully committed, but it is partially committed. And then they make sure that this will not commit until this commits. So, it is not quite read committed, but it is read partially committed. So, this is a small optimization which many systems use. But that question can also be interpreted as if a transaction does a read, just let it read whatever value is there. And if this fellow updates it subsequently, you have to roll that fellow back. If this fellow rolls back, also you have to roll that back. In fact, this is what optimistic concurrency control, a version of optimistic concurrency control, there are several versions, but one of the variants of it will let you do such things. The normal version says you will do a write only at the end, just before you commit. But there are variants which let you do a write ahead of time. And so people have shown that under certain circumstances, it is better to optimistically go ahead and read it if the probability of rollback or update is very low. But I do not know of any real system which implements it because it depends a lot on the usage environment. So, you can implement it if you hard-code it for a specific application. For a general-purpose database, it is not a safe thing to do. So, that was a recoverable schedule. Recoverable schedule can still cause cascading rollback and cascade-free schedule, what is a cascading rollback? This fellow wrote it, this guy wrote it, this fellow aborts. At this point, this guy must be aborted. So, if you do not allow any uncommitted data to be read, this prevents it. So, a cascaded schedule is basically equivalent to read committed. It allows only items to be read after they have been committed. Move on to concurrency control. But before that, I want to say a little bit about weak levels of consistency. So far, what you have said is serializability is good and it guarantees safety. In practice though, for efficiency, many systems do not actually run at serializable level. They say that we live life dangerously. And they are being optimistic. So, this brings back the issue. It says, you know, what if a problem occurs? And they say, optimistically fine, we will allow schedules which are not serializable. Once in a way, you may get into trouble. You, the programmer, are responsible for dealing with this. Do not sue us if that happens. We have documented it in our manuals, even if you do not know about it. So, in fact, almost all databases today. In the default level, by default, they will commit individual SQL transactions immediately. And the, even if you consider each SQL operation as a transaction, the serialized, they do not guarantee serializability even under this assumption. What they guarantee is something called read committed. That is the default level. We've been talking of read committed. Most databases treat read committed as the default. If you get the database out of the box and use it, what you get is read committed. It gives good performance. If you want serializability, you have to do more work. Unfortunately, most of us, including me, forget that this is the default. You know, you may know that this is the default. But when you build an application, you kind of forget about it. So, it's actually a little dangerous. What most databases do is they allow you to change the isolation level. So, for example, instead of read committed, you can tell the database move to serializable isolation level. And if you tell DB2 or SQL server to do this, we'll see how to do it shortly. If you tell DB2 or SQL server, then they will say, okay, fine. We will make sure that all transactions submitted from this connection are serializable. You may also be able to do it at the database level where you set the globally everything is serializable. Alternatively, for each connection, you set this serializable. So, every time you connect to the database, you have to say, okay, now switch to serializable mode. And then all transactions which run from here run in serializable with respect to other transactions which run in serializable mode. You may have another transaction jumping in which is not serializable. That may cause trouble. But usually they make sure that those transactions cannot mess up transactions which want to be serializable. But these transactions mess up someone who didn't say they want to be serializable. That is usually the guarantee that databases give. Now, two of the most popular databases, Oracle and PostgreSQL, cheat even on this. If you tell them run in serializable level, they don't actually run in serializable level. They run in another level which is called snapshot. And this doesn't quite guarantee serializability. It comes close though. Many applications will actually run fine under snapshot isolation and will actually be serializable under snapshot isolation. Is that a reasonable statement to make? Well, people at Oracle assumed it. Now, of course, it's not that hard to create transactions which are not serializable under snapshot isolation. The question is, do they occur often in reality? And what people have shown, you can't prove this in general. But what people have shown is that, for example, the TPCC benchmark, it's a benchmark application, reasonably complex application. And people have analyzed it and shown that under snapshot isolation, it runs fine. It will not have any serializability problems. And people have also come up with ways of checking an application to see if it is safe under snapshot. And then there's been some work including here at IIT Bombay which says that what if it is not safe? What do you do? Again, databases provide some support for dealing with this. So the work here was basically automating the analysis of applications to see if they are safe. And then you can modify the transactions using some tricks which I will come to later. And then you can reanalyze and see if it is safe. Now, like I said, the people who analyzed TPCC showed that TPCC is safe under snapshot isolation. But is it safe in general? Well, it turns out that it's not. In IIT Bombay, we have a financial application which was built by TCS. Now, the TCS programmers who built this were reasonably smart people. But they didn't fully understand snapshot isolation. And they did their best. They realized there is some places where there could be problems. And they tried to do something about it. They set isolation level to serializable. And then they thought things are okay. It turned out that there were some weird situation which was specific to this application where things were not serializable. And who found this out? It was not programmers. It was our auditors. Why are auditors? Our financial auditors found this. They found a situation where you are supposed to have a voucher number for bills. And two different bills cannot have the same voucher number. And our auditors found a situation where this happened. Two different bills had the same voucher number. And that could reflect somebody who is cheating and pocketing the money. It could, in theory. So they caught that. But all of this is automatically generated even if a human in the accounts wanted to do this. They cannot do it because it is generated by the system. So then we looked into it and said how did this happen? And eventually it was traced down to the fact that this was running under snapshot isolation. And most of the time it does not cause a problem. But there was a very specific way they created voucher numbers for bills which unfortunately did not guarantee serializability. In this case it is rare. But the rare thing did happen in IIT Bombay. And it happened very rarely. It happened twice in a year. Auditors caught it twice. Then we looked from the back end and found that over 3 years it had occurred maybe 7 or 8 times overall. Across, in 3 years we probably had 150,000 transaction bills. 100,000 bills at least. It happened 8 times out of 100,000 bills. So it is rare. But it can happen. Anyway, that was a digression to motivate what all happens with weak levels. So let us summarize the weak levels of consistency as defined in SQL. The lowest level is read uncommitted which allows you to read anything at all. This is rarely used. But it is used occasionally if a transaction just wants to get statistics about a relation. We do not care if the statistics are slightly wrong. So we do not even care if we are reading an uncommitted value. We will just read whatever is there at a point in time. So that is read uncommitted. Read committed is what we just discussed. You are allowed to read a value only after it has been committed. But that does not guarantee serializability. The next level is what is called a repeatable read. The difference between repeatable read and read committed is the following. So let us say there is a P1 which is reading A. T2 which has, well let us say readsay later. This has written A commit and this readsay. Now here is T3 which is running somewhere here. Now T3 writes a commit. Maybe it readsay also here. This guy is not yet committed. Now it readsay again. Under read committed what value can T1 see? T1 is allowed to see the value over here. It can see the value written by T2. At this point it can see the value written by T3. So the same read can return different values the next time under read committed. What repeatable read says is this is not allowed. If you read a value once, if you read it again you must get the same value. Otherwise that is bad. That clearly shows that somebody else ran in between. It does not ensure isolation. So repeatable read is the next level. But even repeatable read does not guarantee serializability. If we have time we will see this later. We understand the question is when T1 reads a value here we have two options. One is to say look it will be updated in between roll back. Another option is to give it the same value as before which it read in the first place. That allowing it to see the old value is actually used in snapshot isolation. Snapshot isolation lets it read the same value as before and therefore if you read any description of snapshot isolation you will say we allow repeatable read. But for reasons I do not want to get into at this point that is cheating. Repeatable read has another aspect also which is repeatable read with predicate. If you said give me all the records which satisfy A equal to 5 and then I ask for the same thing again you may get a different result. Now snapshot isolation will guarantee I will get the same result but it is not an up to date result. So let me leave this discussion out for the moment. But the point is that although snapshot isolation says it does repeatable read it does it by giving an old value which can cause other problems. And then serializable according to SQL should be the default level for SQL. But in reality for all databases the real default level is read committed. It is not serializable that is something which you should remember. No database supports serializable as the default order consistency level. And like I said PostgreSQL and Oracle cheat even if you say set isolation level serializable. That command tells the database to switch to serializable mode for that connection. We will actually be doing this in today's lab. But when you tell PostgreSQL and Oracle to do this they will say ok we will do it. But what they do is they do not guarantee serializability still. What they implement is what is called snapshot isolation. We will see some of the impact of this in today's lab. Now another issue in SQL is what is the transaction? We saw in JDBC you can say turn off auto commit. So every statement from the first one is part of a transaction until you say commit or abort.  In PostgreSQL by default transactions each SQL statement is a transaction and commits immediately. If you want to say that number of SQL statements together form a transaction you can say begin. We will be using that in today's lab. All the subsequent statements are part of a transaction and after that you have to say commit or rollback to complete that transaction. So that completes the high level view of serializability and so on. The next step is understanding how to control concurrency to ensure one of these isolation levels. I should also mention that snapshot isolation is yet another level which kind of comes in between these two. It appears to be a repeatable read but it is not serializable. So although it is not one of the four levels defined by SQL it is actually some intermediate level. In fact there is an interesting history to snapshot isolation. So people who only knew about locking defined SQL standards and said here are the four meaningful levels of isolation from serializable down to read and committed. Which made perfect sense with pure locking. Now somebody published a paper, some famous people actually published a paper which said that these are not the only four levels possible. Here is one more level possible which is actually in between these four. Here is the fifth level and therefore this idea that there are only four levels is not theoretically is not clean notion. And almost at the same time I do not know which inspired which but I have a feeling it was snapshot isolation had been actually implemented but not made public by some of these authors or maybe it was other way. They wrote the paper and then Oracle and PostgreSQL saw this paper and said hey let us implement this. So like I said I do not know which came first but at about the same time Oracle released snapshot isolation as this paper. So that is kind of the history of snapshot isolation. And I think Oracle mistakenly assumed that snapshot isolation guarantees serializability. And later people in fact this paper showed this that it does not guarantee serializability. So I guess that is evidence for saying that Oracle had implemented it first and this paper clearly pointed out a snapshot isolation lacking serializability.


you just don't know what you say, the impact that it might have on somebody else, even though it's an innocent comment, that's a throwaway comment, that somebody else might misinterpret and take it very deeply to heart and it could have a lasting impact on them, especially, as I say, especially children.  You just don't know, you just don't know.


Building, housing Hamas operatives, a command centre used by a senior official in Hamas' naval forces, an operational asset used by Hamas located within a mosque and an asset used by the terror group for intelligence. The retaliatory strikes come as over 700 Israelis have been confirmed murdered by the Hamas onslaught. The Israeli Health Ministry this morning, being Monday, saying around 2,400 are wounded with over 300 of the injured in serious condition. Well let's now go to northern Israel where our correspondent Pierre Eklashendler is standing by. Pierre, the worries are that this could become a war on all borders with Hezbollah in the north there. What are you seeing on the ground there this morning? I don't know if you're able to hear what's happening. There is a loud noise of uncrewed aerial vehicles that are patrolling the skies between Israel and Lebanon at this moment. And it's been an incessant loud noise here where we are standing on the Israeli-Lebanese border in an undisclosed location for obvious security reasons. But let me show you a little bit the lay of the land here. There is a first wall which is more of a protective wall. And then behind that wall there is another wall which is on the blue line, which is the UN-recognized Israel-Lebanese border in this section of the border in western Galilee. The situation looks quite on the way to the border. We've seen a few crews of reserve soldiers camping on the side of the roads. We've seen them also patrolling along the roads. There's some roadblocks along the roads leading to the border. But we haven't seen, at least it's not in the public eye. We haven't seen the reinforcements that everybody is talking about, although what we understand is that those reinforcements are not in the same amount as the forces of the IDF streaming towards the Gaza Strip. Yet there is an obvious reason to reinforce the northern border to contain any possible escalation into a multi-front theatrical operation. And this is why at this moment there are reinforcements and the IDF is in a heightened state of alert. Pierre Klosh and Laos correspondent there in northern Israel. No doubt we'll be coming to you later on in the day for more updates. With me here in studio meantime is retired colonel Dr. Jacques Neria, the former deputy head of assessment for Israeli military intelligence and the former foreign policy advisor to Prime Minister Yitzhak Rabin and Guy Azrael, I-24, new senior producer and correspondent gentleman. Good morning and thank you for being here. I'd like to start with this notification that we have just got the Thai foreign ministry says that 12 nationals were killed, 8 wounded and 11 kidnapped in southern Israel. How many more foreign nationals, apart from Israelis, are we likely to hear that have actually been captured into the Gaza Strip? And what then would be Hamas' aims with foreign nationals as opposed to perhaps Jews or Israelis? Well, the foreign nationals could be also Jews. But the thing is that what we know is that several hostages carry. I mean, like lots of Israelis carry double nationality. So we're talking about Americans. We're talking about Mexicans. We're talking about Europeans. And I think that this will, in a way, weigh very, very, very much when the Egyptians will talk to Hamas about releasing at least the women and the kids. This is the this is the first priority right now. And I think that this is they will concentrate on that meaning. I mean, but Hamas has already said that it will they will not abide unless there's something in return. What do they mean? I mean, they say very clearly that the intention of having 100 or 130 hostages in Gaza is to release to empty the Israeli prisons. We're talking about what? We're talking about at least 5,088 security prisoners, Palestinian ones. They are the worst criminals on earth and that they want to be released. At this point, I don't think that there is much to talk about with the Hamas. I don't think that there is a dialogue that can be established on this basis. And Guy, I want to bring you in here on a personal note because steroid residents have been told, as we heard from our correspondent Nicole Tzedek, who is in the southern Israeli city to stay indoors because the army is concerned that there are more infiltrations in the south. You're from Ashkelon. That's not too far off. We're talking again about these southern communities. A lot of us very fortunate to be in Tel Aviv and away from that. What must that fear be like knowing that you have to shelter in place because there could be literally terrorists walking on your street? An impossible situation that has become a reality. Unfortunately, for hundreds, if not thousands of families in on the Gaza border communities, both in the city of Starot and all the communities along that border, many families that woke up on that Saturday morning to the sound of explosions and then people breaking into their homes, slaughtering them, cold blooded in their kitchens, in their beds, in their backyards. The extent of that devastation has not been fully understood yet because Israeli forces or rescue teams have not really arrived to all the scenes of these kibbutzes, to all the neighborhoods, to all the houses, so that number of casualties could grow. But even in the days and the hours that followed, people were stranded in their homes for many hours, sometimes since Saturday morning without having, without being able to live without having to get any supplies. But beyond that, fearing that someone is outside and ready to break in and ready to slaughter them as they did to hundreds, if not more, of Israelis already killed in the hands of this called blooded murderers. And also, I want to move a bit to the political angle here because no doubt Israeli Prime Minister Benjamin Netanyahu has his hands full at the moment dealing with the security situation. The first point of call, trying to make sure that these infiltrations are pushed back and that there are no terrorists in Israel. And then obviously to figure out what the retaliation will be from there. But we haven't heard a word from his hardline coalition members. Why is that? Why would they not feel the need to possibly reassure the public or to speak? We do know that there was a statement put out about the fact that they do support a unity government. But there hasn't been much reassurance in the sense of telling the public that they hear they're aware and just radio silence almost. Well, you know, when the when the guns sound, the muses are silent. And I wouldn't say that Ben Vil and Smotrich are muses. But I mean, they realize that they are facing a disaster. They are facing a political disaster. That the the Israeli public will will certainly judge this government after the war and ask for the for accounting. And I think that this is one of the reasons that they don't they don't have anything to say, but they don't understand the situation. Most of them have not served in the army. They don't know what I mean. They haven't even put a uniform one day. So what would you expect from those people to give you an advice about how to conduct a war with Hamas? How to how not to be surprised? I mean, they are good in giving advices. But right now they understand that should not show because the people would be very critical of them. Speaking of some of those residents that perhaps may be critical, I'd like to cross now to our correspondent, Nicole Zedek, who is standing by for us in sterot in southern Israel. Nicole, the reports coming out that the army is asking residents to stay indoors to make sure that their front doors are locked, their windows are closed and not to open up for anyone. They are concerned of more infiltrations. We know that there are about six locations around the country at the moment. What are you seeing and hearing on the ground? Exactly, Batya. It is a very dangerous and ongoing situation here in the south, as you said, residents urge to stay inside, lock their doors because this is one of the active scenes here in sterot. But we are hearing that as I did hear earlier, very, very heavy exchange of gunfire between Israeli soldiers and the Hamas terrorists. We now are hearing reports that five terrorists were killed in this area. Those gunshots I heard were less than 500 meters away in a field nearby. And so we are hearing those reports now that that five of those terrorists were killed. We're not hearing any reports of active hostage situations at this time either, but all of this as Israeli soldiers continue to sweep the area, cleanse the streets. They're going door to door. They're looking through gardens, looking through these fields, blocking off streets, just like you can see behind me here. This is one of the many different roadblocks that are taking place all throughout these southern areas as Israeli forces are really trying to get a hold on the situation and see how many more terrorists continue to be in the area. So it's very, very dangerous for everyone to be out here. And while we are seeing all of this activity on the ground, we're also hearing plenty of activity overhead as well as the IDF says they continue to use airstrikes over the Gaza Strip. They say since the beginning of the war, it was about, you know, 48 hours ago now targeting 1,200 targets in the Gaza Strip. So throughout these southern cities, it still smells like smoke. I see smoke in the distance. My eyes are almost burning. So we continue to hear these loud explosions overhead really happening not far in the distance. And so all of these southern communities are feeling the effects of that as well, just the remnants of all of these explosions and strikes lasting here in the air. But for the main part, all of these residents here in these southern cities are really just asked, as you said, stay inside because this is an active situation as the Israeli the defense forces continue to sweep the area and try and get a handle on exactly how many terrorists remain infiltrating into Israeli territory. Nicole, making our way to work this morning, a lot of the storefronts in the central city of Tel Aviv are closed. People are not necessarily taking public transport to their workplaces. What must that be like there as you move along the streets in Stiroz in southern Israel, that the entire city is almost come to a standstill. We're talking about a city that is often unfortunately used to barrage of rockets coming over. But this seems to be taking on a whole different ballgame. It feels like war, Batia. That's exactly what it feels like. You drive through the streets all the way from the center. As you said, Tel Aviv all the way south here in Stiroz and streets are pretty much completely empty. You'll see gas or shards of glass lining the roads, different cars kind of pushed away to the side. Some of them lit on fire. No tires left. Other of them riddled with bullet holes, shattered glass breaking everywhere from the from the passenger seat to the back seat really busted out windows. It's it's a war scene as you're going through here. And so it's very, very scary driving around on these roads. It's an eerie feeling because that's what you're seeing. And then as I said, looking through the sky as well, it's just dark and cloudy outside and you can smell the remnants of all of these explosions happening in the distance. So as you said, most residents, businesses, everything is shut down. No one is on the streets right now as they should not be even in Tel Aviv. Most places are still shut down because this is still an ongoing situation. And as we saw last night, randomly, it seems there was another barrage of rockets targeting central Israel. So so although there is a lot of activity here in the south, we continue to see that activity in the center of Israel as well. And so residents all throughout the country right now really need to be on higher alert and listening to all of those alerts from the home front command and taking the necessary precautions. Absolutely. As do our journalists on the ground. Nicole Zedek be safe out there in sterile to southern Israel will touch base with you a little later still with me in studios retired colonel Dr. Jacques Nairie and guy as real I 24 new senior producer and correspondent. Want to touch base on what Nicole just pointed out, Dr. If I may, the last few moments that we had about we're really where the global community stands right now. At the moment, yes, it does seem that international news appears to be I would say slightly less biased towards Israel. But it seems like the minute that retaliatory strike ends up in Gaza, the tables are going to turn very quickly. Well, you just said it's right. Think we the the window we have to act in Gaza is very, very short. And if we don't do that, the pictures that will transpire from Gaza outside to the outside world will just overcome the other pictures of horror that has been that had been published and spread all over the world. Right now we I feel I mean I have all the time I'm receiving the messages of sympathy and solidarity from friends in France in Africa in the United States in all over Europe. And the the effect of the horror pictures published by Hamas has done has done it well. I mean, unfortunately for for Israel and for the first time since 1967, we feel that the international opinion is siding with Israel because the the animality and the best the best conduct of those terrorists has really upset the whole the whole world. Now, as I said, I mean, when pictures will come about because Israel right now has adopted a new tactic in Gaza. There's no more talk talk knocking on the roof and telling the people just to just point out that we are looking at live images of the Gaza skyline as you're explaining this. So the so the normal warning for the for the inhabitants of the warning has been given well ahead of time, you'd have you just have to leave. And being that taking care of taking into consideration this fact, that means that the casualties will be enormous in Gaza. And this is one detail that we have to remember. But this is the pay the price that have to pay. And unfortunately, I mean, we are right now experiencing the the effect of more than 1000 terrorists. It's an army that has invaded Israel taking over 11 military bases and 20 localities. And they are fighting that the desktop is much more bigger than than we hear right now. They are localities and communities that have been emptied totally. And this is I mean, we are in the state of all, and we have to react and that and accordingly. And it will, it will take time because there are two waves, one wave of terrorism that are already acted and the dormant ones that are waking up right now. And that we are fighting. I have to say something because we need to remember this is not the water watershed moment in the history of the conflict with Gaza. This is a watershed moment in the history of the state of Israel equal maybe only to that of the Yom Kippur war. And with all due respect to the support or not the support of the international community, Israel is not going to be the same. Israeli civilians will not accept anything other than changing the equation that we have been used to for the past 15 years or so of ongoing fighting with Hamas. The Israeli public will not take anything less than dismantling Hamas, whatever the price may be. The pogrom that we've experienced is maybe similar to sites that we saw in the Holocaust.  I'm reading more and more stories of survivors hiding in in the roofs while their neighbors are being slaughtered, screaming, shouting. Those who managed to lock themselves in the shelters were burned alive. They're burned. They torched those houses. We're talking about hundreds of Israeli families slaughtered at the hands of this murderous Hamas group. And we heard what a senior Hamas official said just yesterday. Mahmoud Azhar, the entire planet will be under our law. There will be no more Jews or Christian traders for anyone in the world that seems to think this is about territory. This is about occupation. We've heard all these statements before. This is not what we're dealing with. And this is the same threat as we're facing from Hezbollah. And if Israel is not acting now in a way that changes the equation, perhaps taking over Gaza, whatever that may take, the Israeli Republic will not accept anything less than that. This is a failure of two concepts, two ideologies. One ideology, political one, trying to contain Hamas and giving Hamas Hamas is interested by economy by money by Qatar dollars and so on. And just using this this element to make a difference between the Palestinian Authority and Hamas and weakening as much as possible the Palestinian Authority in order to this is we could afford that feeling and believing that we could we could coexist with Hamas and Hamas just used us, used our money, the money used all the the policy that and turned into a monster. This is one thing. And the second thing is that the failure of the strategy on the ground, the wall that we constructed and cost us more than four billion shackles facing the Gaza has proven to be ineffective. And it was just blown up in several places, several breaches. And this is the and we could not imagine that Hamas, we are in our mind, a small militia smaller was so sophisticated that it copied into the minute details, the plan, the master plan that his brother has has done on the on the northern border and adopted it. We just looked at two months ago about on a drill that his brother had in the south Lebanon. And we laughed. We saw that motorcycles that were attacking the wall was not our second said, Oh, this is this is what they have. Indeed, this is what they did. They blew up the in several places, the defense, and they entered Israel first with the with the motorcycles. And this is what they did. I mean, we have to just adopt a different policy and towards Hamas and towards our enemy. We cannot be complacent. This is not that we have to to stop being arrogant. And we have to look at the reality and treat it as such. We have paid a heavy price in 73. And I thought that this was the biggest lesson we had. I was a young lieutenant at the time. And I thought that this would not be repeated. And now it's repeated. It's even worse. It's even worse. You mentioned Hezbollah. We know that Hezbollah is one of the biggest, if not the biggest proxy by the Iran regime. And there's a lot of obviously conspiracy theories and theories out there at the moment of just a few weeks ago, the United States has a prisoner exchange deal with Iran, five prisoners for five prisoners plus the release of $6 billion. And there is a fortune of concern that that money was wired to Iran, which was thus wired either by means of financial money like the actual money or by weapons into Hamas, into the Gaza Strip. Iran is now saying they have absolutely no part in this. Is this something to be believed? Well, you know, I think that the master plan comes from Tehran, the master plan of what's happening today. And there are some information that Kani, the head of the Revolutionary Guards is right now in Lebanon. And he's teleguiding all these efforts that are going on in the northern part of Israel and the southern part and in the West Bank also. Now, I believe that Hezbollah has lost ahead of time, because surprise, we were surprised in Gaza, we were surprised, we were supposed to be surprised on both fronts, because this is exactly the plan that Hezbollah had right now, all the localities bordering the border with Lebanon have been evacuated. There are no more. There's no more a chance for Hezbollah to take hostages like Hamas did in Gaza. And I think that we are much more prepared right now. And certainly the presence of the Americans has is definitely a definite additive that we have taken to account. And Iran has to consider that very carefully before even waging anything against Israel in the northern part of our borders. Let's touch a little bit more and perhaps lighter spirits now. Let's cross to our senior correspondent Owen Altman, who is standing by for us in Tel Aviv at a donation center. Owen, what is the latest that you have for us? It's still early in the morning, but what is happening on the ground where you are? That's right, Bacha, earlier in the morning, but as you're about to see everyone here getting started, volunteers coming as you're seeing packing up all of what has been donated, both items for civilians from the south who have had to evacuate your home, their homes. You just saw a box of shoes onward to things needed by reservist soldiers who have reported for duty who might not have some of the equipment they need. Might need blankets, might need hygiene materials. A lot of people having to leave their homes really, really quickly and show up for duty. By the way, Bacha, this is the operation center and a donation drive run by the protest movement against the judicial overhaul. It has been such a part of the Israeli story over the course of the last nine months. But of course, switching on a dime and moving from protesting against the government Saturday night in, Saturday night out to what you see here using the infrastructure and the WhatsApp groups and the Facebook groups and the social media and all of the networks that had been built up for the protest and instead deploying them for what you see around you and bringing all of these volunteers here, many of them younger to be here and to put these boxes together and then to be able to get them to the people in need. This is at the convention center in Tel Aviv so people can come up here and donate the items that are needed. And again, here they are packed and then stored and then delivered or picked up by those who are in need. Again, whether they be civilians in the south who had to flee their homes, sometimes after experiencing extreme trauma, often with children, again, and on to reserve soldiers who may not have all of the equipment that they need given by the government. So Bacha, you can see around us this effort, again, taking in dozens, if not hundreds of people, all of them volunteers of course. And I should say this is just one of many, of dozens, if not hundreds of civilian initiatives up and down Israel, of people who have been mobilized to give of their money and of their time, whatever they can to give to those in need. In some cases maybe goods the government should have provided, but in many cases not, as you can see here, goods that seem directed more towards civilians, again, and all that they have experienced. Bacha. Seeing your correspondent Owen Altman there at a donation drive in Tel Aviv will be getting more updates from you later on in the broadcast. I'd like to thank very much Al-Gaia Israel and also Dr. Jacques Neria and just recap that the Israeli military says that aircraft continued to pound the Gaza Strip. That objective clear. To devastate the capabilities of the Hamas terror group among the targeted in recent hours, several command posts, building, housing, Hamas operatives, buildings, housing, weapons depots and also operational assets used by Hamas that were stored in mosques as well as schools. The retaliatory strikes coming as over 700 Israelis at this time have been confirmed murdered by the Hamas is onslaught with that number, unfortunately expected to rise. The Israeli health ministry this morning saying around 2,400 Israelis are wounded with over 300 of them in serious condition. We'll be bringing you more updates here on breaking news additions throughout the day on the I-24 News Desk. If anything, you must make sure to check out our website at i-24news.tv and of course our social media pages and remember the best thing that you can do at the moment besides staying safe is sharing the correct information on social media and making sure the world is aware of what's going on.


A hundred people around the world that work in social innovation. This conference started in 2007. And just to say a little bit about work, we can do it in the conference. One of the people that I worked in 2009, I went for a conference in Vienna, the name of the village is Neumannboden, and we stayed there for two months, working in a project to measure heighten weights of children. In this step, made a platform on the internet where you can get heighten weights of children and make diagnostics of children. But the problem is how you can get that heighten weight in far, far away places, in places that are not close to each other. So we produce a technology where it's kind of a table of 1.2 meters, where children can lay down or can sit down, and you can get the sensor, the weight, and after you can get that date, you can get that heighten weight. And send everything to the internet through a microcontroller through SMS. So SMS in Africa is pretty cheap, so use that. So that's one example that what this network, what this technology, what this summit does. So that's one of the projects, just the mobile child monitoring, so some slides about that. But this summit started in 2007, and there was just summits, just July, that happened on December, just one month summit, two months summit. And one of the problems that we work about social impact is how can you keep the content of the project, how you keep the project going and product coming and keep going. And from this moment, IDDS become IDIN. They call International Development Innovation Network, is an international network that work with this kind of project, and become bigger than just the summits. And to get at this, I like to say about how you can go up in the design process. So if you think about these summits, you work a lot if you design to and design with. What I mean when I say design to, design with. When I say design to, so I get some pre-requirements, I talk to some people, I came into my place and I produce the technology and I make the project, and after I return and give the project. So I'm doing a design to someone. But when I tell about design with, I get someone, I get people from the local culture and bring them to the design process to make the technology make the solution. And they also co-create the solution with us. So we create the technology together. But I think the most impactful, the most, our belief that the most, the best way to really regenerate impact is designed by when we don't design together, but we teach the design tools, we teach the maker movement to people and they can produce their own solutions. And we believe on that. And if you think on this way, together with the continued idea, a lot of names start to come from our minds. So you think that we could do a place inside of a local area, in our case, in our favela, in our communities, that could keep doing this project happening, that happens in the summits, or better than that, could do more projects, could instigate, could decrease the energy to produce more projects. So all this name came into our mind, Techspace, Hocker Space, Innovation Center, Fablas, Makerspace, all these letters and realize that what we need, it's some community space to make, to build whatever they want, what they want to build, right? Or better, what we want to build, because today I'm part of the same community, I live in the same community. So on this moment, I need to talk about this woman. So her name is Lia. She's the leader of the community where we work today. The name of the community is Villanova Esperança in Portuguese. We can call it English New Hope Village. It's a village of 600 people, 3,000, sorry, 600 families, 3,000 people, and a small village. And when we started to think about that idea, how can we build this place inside of a favela, inside a community in Sao Paulo, that could support projects, that could instigate more projects. And we realized, we started to talk to some favelas, with some community members, with some associations, some leaderships, and we met this, and today we say that they choose us to do the project, and not we choose them to do the project, because we are the same, like we are on the same place. And she's a strong leader in this community. So here you can see the first sign inside of the community. You already can see the roads behind. All the roads inside of the community like that. And so she has worked for the last three years, two years, sorry, for the last ten years, being leader of the association of the community. And when we start to talk to her, the first time they start to talk to her, we start to do some questions about, hey, how can we work together? Like, what do you like? And she started to say, I like handcrafts. The community members like handcrafts. The community members like learning by doing. But maybe how, what it can do, how you can keep working, or you can have more ideas. And she said something about, maybe we could do a protein incubator, because I talk a little bit about what he did, just briefly. And she said something about do new projects inside of the community, do green house. They want to do an ecological village inside. So we keep it talking, keep it talking. And she came with the social technology center. Good. So the community already has an idea. The organization that they want to do something similar about what people from outside want to do. So it's not something that just people from outside is coming and doing inside. So there is some synergy. There are some goals in the point of view. There are some visions that go to the same place. So we find a match, right? So there's the two sides that maybe has the same vision, is a little fuzzy yet, but maybe they can work together. But the good thing about start the center, and that's the logo of the center, Innovation Center Villanova Esperanza, is how we start to do things. How we can give the first step to do something. And I can say that we spend three months, four months, just create a relationship. Before to do any hands-on activity. Before build anything. Before implement anything. And to do that, we did emails. Maybe not. We did meetings. No. We did conversations. Not a lot. I gave lectures now. They don't care about lectures. I call them no. One of the man-good ways to start to work is hands-on activities of them. What I mean is hands-on activities of them. Don't talk a lot about what you want to do. Don't make a lot of projects. But start to work together. People, when I say work is work of hands-on activities. Like do somethings. And in this case, they have a big garden inside where they like to crops. They like to do what they got their food. And at least once a week or once or two weeks, we came to there and stayed together then working. Working or working. And okay, I have a have-to to do. Get the have-to to do. Even if you are from outside. At the same time that we start to work with your body, with your hands, they start to realize that, oh, okay, this guy is doing the same thing than me. So he's not someone that's just coming and talking, talking, talking. Maybe I want to meet him better. And we start to create a relationship. We start to create a same level of talking. And when you do this kind of hands-on activity on them, we create two things that for me, it's the basic of any relationship. Sorry, the basic of any solid project. That's the relationship and the empathy. So at the same time that we create a relationship, we have trust in us. And we start to be not then and not us, but we all together. We also can see empathy. We also can see better what the problems that we can start to work. Before to say anything about how we are going to do the project. So you guys are going to realize that this project is very organic. And it wants to be very organic, very unique, because it needs to get ownership in the community. It needs to get ownership inside of the village of the people at work. But what should be our second step? So, okay, now that we work together, we create a relationship, we create empathy. We have a good network inside of the community. Should there be more emails, meetings, conversation, lectures to do things? No. Again, we work as makers. We work as designers. So the second time, hands-optive of us. So how's the best way to show what we have to show is doing things. So we start to do workshops inside the community. How to build staff? How to build electronics? How to build mechanical things? How to build ideas where you can use post sheets? How to build brainstorming in order to always do things with the body? And the good thing about that, so that's one of the pictures about we did. In the picture of the middle, okay, we need to finalize with a barbecue because they like this kind of party and we like that sort of party. It's always good to keep the energy growing. But the good thing, when we brought some hands-optive from us, they kind of show that knowledge. One thing that I realized is that when you talk a lot in space, some space, maybe people don't have the, they are kind of shy or they don't have the right open to show what they can do. But when you give a space, they work together, they can show. And maybe sometimes they don't know that they show. They don't know that they know. So you give that kind of space so what they can work and show that they know. And the second thing is about curiosity. Curiosity is the first step to get engagement, to get momentum for the next step. So after... After three months or five months, we have the first step. So we need a place to build the space. So do you know the word Colby? The, ah, combi, the Volkswagen combi. You can see a lot of it in Brazil. And there is a Volkswagen combi and we founded the Makerspace in a garage. And every day the Volkswagen combi comes out, parks out, and we make stuff in it. And every day, at five in the evening, the Volkswagen combi parks in there. And that's why we have to make our Makerspace flexible. So, why is it good? Because if you do the big project, and you sell it, it won't work. That's why we design it. And we work together in projects. And as you can see, the whole innovation center is... It's also a design process. You see, it works. That's the next step. And we also have handcraft, so you can hang it like this and community radio and handcraft. Okay. Before we did these workshops, we renovated and renovated the place. As I said, that was a garage. And the first... at the very beginning, there was a lot of space and then there was nothing else and then there was much more. And an interesting thing is, in the Makerspace, what do you do? What should I put into my Makerspace? People usually ask. What technology level do we want to reach in the Makerspace? And in my opinion, only the most important things should be in there. The community has to go there and it has to belong there. In fact, people are afraid, because they don't know how to use it. So they are... But if you ask the machines and you ask the tools, then we can. If you ask them, then we can buy it. We then had three projects. Only, first of all, only what we needed to open. And that's why in January, in 2014, we had a space. That's white and there's nothing. That's a table, a table. And a bit of trash. But that's... It's also being estimated. We have people who do workshops. So handwork, as I explained before. People who founded a radio. And then we started doing workshops. We have workshops... We have workshops... We have workshops over a website, where we brought in projectors and we packed in a few people. And we... We have a certificate and we have workshops to measure bags because they wanted to know how to do it. And then they wanted to do it. That's a basic tool, but it's not high-tech, but you can work with it. And that's Kelly.  And she comes more and more and learns how to do stuff. Good. And we did other workshops. We did the workshop with electronics, where we taught people in the community how to weld, how to glue, how to make lanterns, how to make lights, how to make lanterns in a velo. We noticed something. We just have to do the workshop, one hour in the workshop. And the bake space is not always open. It's just a few hours open when the workshops are open. And we noticed that that always happens again and we have to... We have to do the space 24 hours a day. And we need the people for it. And we found this person, a maker with sent-in hands. And then when we opened the space for 24 hours a day, new projects came in. For example, new ideas came into the space. And we can see that there are even more projects here. That doesn't work so well. We have brought in more people. Just to tell you something about this project, most people in Brazil have very bad internet. And 3G is pretty bad. And this person knows how to hack it. The internet connection from the outside. He could make his own antenna and bring the internet in. And we started to use it to spread radio through wireless signals. Because in Brazil, if you want to build a radio, then you need a license from the government. That's very long. And if you use the 2.4 GHz frequency band then you don't need a license from the government. And then we started to use this wireless for... And here they are testing a few speakers and trying to spread it from this computer. And what happened then and that's another project that I like. These are so-called micro antennas. And it's pretty easy to do that. You can see here that most projects are very simple and that's what we do here. We had to think a lot about it. Maybe think about it again. Ah, that's how it works.  And the whole beauty of it and then someone came in and showed his project and then distributed it and everyone said I want to build it too. And technology brings people into our maker space. Then we realized maybe we should print something 3D or we should create a laser cutter. It's a slow process, it takes time, but we know that it will happen. We know that we will go forward. And here we have a stereo radio. They started to build it too. It's a big box. They sometimes made it into the car. These are the speakers. And the water is very good with wood and also with electronics. We also built technology to make technology. For example we built a power bank for wood. It's a power bank, even a diesel bank. We started to use a drill, a hand drill. And here you see how you can do anything you want. And you can do something with it. It's easy to build. It's easy to build technology. Do you want to turn it off? Yes, like this. We built all this and we realized the whole thing started with an initial effort. One of our goals is a business model not like an NGO but a business model to build this whole thing. And something that made a lot of impression is that we come from a new network that was extremely exciting. And that's the picture. And we were in Berlin for two weeks and in our vision we can make it more sustainable and not only think about these NGOs. And we made very good connections in Berlin and talked to people. We wanted the sustainability that we provide in Brazil and one of the countries with the biggest salary between the richest and the poorest people and then there are people who live on the one side of the street who have a lot of money but they never go to the dealers where the poor people are. And they know this reality and they also want to pay for it. About innovation how can we produce new technology not for the 10% like now but for the other 90% of the world and we try to start this course we give this course for the children from high school so that innovation stays in the community. Our second challenge is the high-tech part. We got a prize it will be our first high-tech high-tech solution and it is and the question is how will the people work with it. We already have people but we know that it will be a challenge to work with the people to learn how to work with computers and we got a laser cutter and there is a third part we need a bigger space everything I have shown I can send you a link from our YouTube channel it is a lot and our place is small and we need materials we need tools to build new things and after we the community and they are we came to the community and they came and they said you know what you really gave us a lot take this place here and bring build a new space and so we don't have to rent anymore why do you want to pay why should you pay so that you make the tool for us and we have we collect money to build a new space that is new it happened in the last 2-3 months and we have a design we have a vision that should be within the community to do workshops we have ideas and the good thing is because they with the idea of a community and not an innovation center it is a community center and the innovation center and it is connected and within the community and not outside and you really understand how innovation works what I always think when we start when we come with this project it will never happen because it comes from outside people don't have a vision every little step is important more important than the result is the process the most important because we build that is theirs we build knowledge we build we show what we can do together and to show that there is a last video that is the space and we started to work it will be a long long way so we know that at the beginning we will start a new story I hope that in the future I can talk again again and we will at least the half of this building and the whole building and I think I am a little early but thank you very much for listening thank you very much for this very interesting talk if you have any questions please go to the microphones signal hanging do we have questions from IAC? no with the first microphone hi, thank you for the lecture I wonder you have the people have not played you have led them or they do the things themselves what I showed they did it on their own that is so grown we do not give it we do workshops but we have workshops where we build something we build something that everyone knows in a bag or a chair or a website these things these are workshops with this knowledge they have to start to make projects and how much are they building new the constructive is for the how much compared to the led things that is so much so we have this technology and the good thing is the people who build this technology build themselves the workshops and it develops is it okay? right of the microphone hi thank you very much for this project I want to know if you have contact with the space like the Garara Haka space or Megimo Kambos in Campinas no I do not know the space we have a good connection we can talk Rio de Janeiro but the two or more are not I really want to have this connection to have this network to come into the community and the hardest thing is to build a relationship with the people and that's what we have. And now we want partners who know technology, who can work with us. Please come to Anarchist Village, we will have a talk about Hackbasis, please come. Again, thank you very much for a very nice talk, that was very nice. I have a question that is a bit off topic, but some people from us in the West, we have an idea, we have a lot of stereotypes. Can you please tell us how the normal life of these people in the favela is, what do they do? Where do they get their income and such things? Most people who work in favela, they work with them, or they don't have a job. So they are people who work in houses, they don't do, they do a job here, a job there, day by day, not so much about the future. I need the money now, I have to buy my food tomorrow, that's why I need the money. They are pretty far away from the city centre where they work and where we work is between São Paulo and Tauao, that's right in the middle. That's the main street, that street is really in the middle, the two big cities. It's always a problem, when you go to São Paulo, they say, that's not our problem. Both cities say, that's always a problem in the other city, because this training is really in the middle of this thing. And that's two and a half hours away from the city centre. They can travel five to six hours a day because of traffic, to go and drive from the job. Many children, that's about it. You asked about the income, between 500 and 1000€. Real, that's 200 US dollars, between 200 and 300 dollars. It's a great project, and I'm very curious about what you said about the antenna and the radio. So what do you send, what do you send? Have you built a station? Or let me explain the whole story. This guy, Marcio, he's calm, he's very shy. But he's very good at hacking stuff together. And he works in the north of the country, in a company called the Internet, the Internet provider. And people went from the north to the south to get a better life. And he forgot everything. And the people forgot, and when he came to the south, he took all the antennas with him. And he lived in a factory, he didn't have the Internet, and he said, hey, I know, I know how to hack it together. And that's why he had some wood to build the rest of the antenna. And he built that on his house, and he got a signal. And outside he found a wireless connection that was open. And he spoke to the guy, he found the guy, and they opened the connection for him, for a little bit in a month, a little bit of data volume. And he paid 90 real, so 20 dollars, to have his Internet, to have a connection. And then he opened this connection within the community. At the beginning it was only his family, but then he started to sell it. And when you work in Favela, when you're looking for innovation, look for two illegal things. That's the Combiaha. Or an early stadium prototype. And he got this connection, hey, he has a market. We have a radio. How can we use this radio? We did a lot of research on the radio. And we data a little bit of electricity and wireless connection. But the electricity is also stolen. And we tried to find a wireless connection. But there is the use of a shoutcast, I don't know if anyone here knows that. You have a server and you bring it via wireless. And the people can hear that from the phone, with the radio. But when you think of a cell phone, it has to be a smartphone. And the people who are in Favela have a smartphone. But outside of the Favela, the people don't have anything like that. And that's why you have to distribute it. And that's why we made loudspeakers that we call hotspots. And that was the prototype that we did. With hotspots, inside the favela, in every corner and with a bit of Arduino, you have the connection and then you just drink the audio. That's cool, but that doesn't work for everyone.  But the poor people, they don't go out of the house. They just don't go out of the house because someone helps them. And that's why they're far away. And they only have this FM radio, which is really old. And that's why we use the same Hardware Pi to create an FM signal. In a small radio drum, so that it is not illegal, so that people can also receive it. Yes? Okay. I wonder, what is the ratio of adults and men and women? Because in Germany so many people have to work and have no time for Hacker Space in the community center or in the maker space. Most people, women, the people who live there are mostly between 20 and 30. The children have a lot of children, the community is a bit younger. About 30 years, it's not old. It's not an old favela. But in the innovation center, we have between 12 and 16 years old, we have the most. There are women, there are men. That's about the same, so 50, 50, 50. But some workshops are really for adults. 12 to 16, they like to come and they get energy and they make stuff, but they don't do longer-term things, they don't do long projects with it. The adults, it's harder to motivate them, but when they are motivated, they do really longer, longer-term projects, like for example the internet thing. And that's why we don't do the workshops for the young people, we do them for adults, so they come. And for the others, that's a whole different story. I have the people come and learn and learn, and the numbers, numbers, how many people? Yes, so between adults and children, we have one parent for three, four children. Okay? Any more questions? None. No questions, thank you very much.


Welcome to the BC Library's Core Skills Tutorial on Focusing Your Research. This video will show how you can develop and focus your research project by exploring course readings, library resources, and the Internet. You might begin with a text your professor has assigned, highlighting important ideas and looking for a topic that interests you. Keep a list of concepts and terms that pique your curiosity. You can use this list to generate search terms when you go to the course catalog, the databases, or the Internet. Your first searches may not generate the results you would hope for. Don't be discouraged. Add and subtract terms and try various combinations. Scanning the titles, subject tags, and descriptions of your results can also give you ideas for new search terms. This kind of exploration is part of the research process, and it's cyclical, not linear. You'll move back and forth between your list of terms, research tools, and your research question. Encyclopedias and bibliographies can be very helpful at the early stages of your research. For example, if you are interested in college curricula, you might look into the Oxford Bibliography on Education. Entries related to higher education may provide you with helpful key terms and concepts. Along the left side under in this article, you can browse the contents of each entry, which include overviews and lists of resources. If the idea of academic freedom intrigues you, click on this heading and scan the summary and lists of resources. These may provide you with additional key words, phrases, and ideas. Remember to regularly update your list of concepts and terms, and to use these ideas to refine your research question. This kind of exploratory research works with any search tool. For example, Google Scholar may give you additional ideas for focusing your research. When you find a relevant source, look at its abstract, summary, or table of contents. These may help you add to your list of search terms and further sharpen your focus. No matter what your initial research question is, it's important to be flexible. To be willing to let your results help you refine that question, and to approach the whole process with a spirit of exploration. And remember that you are not alone. Your professors and research librarians are happy to help, and they can save you a lot of time and frustration. Seek their advice early in the process, and your research will certainly be more productive.