All right, whoops, I need to do this. All right, welcome back to operating systems. Things seem to work. So that's not good. Okay, so today we will talk more about operating systems. This lecture also will be a thing that you don't have to 100% know everything about. It will be a lot of interest stuff. Some stuff might go over your head and that's okay. So we're going to talk about libraries because you are going to make libraries and they are a core part of an operating system, so we should learn about them. So first off, a question to you. Well, we actually haven't answered the question what exactly is an operating system because the answer is it kind of depends. So we know that the kernel is definitely part of the operating system. It operates in kernel mode, good to know. But for instance, is macOS, iOS, iPadOS, watchOS, TVOS, are they all different operating systems or what's the difference between them? Anyone want to tell me what the difference between them are? All right, first one they work on different devices, so they might be different operating systems. Yeah, they kind of have different interfaces and Apple says so, so I should listen to them. Any other one? Anyone else with any ideas why these are different? Or marketing BS maybe? They're actually the same. So different applications. Well, let's get into it. So applications, that's what we ultimately at the end of the day actually care about. Whenever I had the three core things, it was applications on top of the operating system, on top of, I shouldn't punch that, on top of the hardware. So libraries are an important part of an operating system and what libraries you have to use depends on what your application does. So here's three applications. Network manager, which is like a low level application to manage your Wi-Fi, your Ethernet connections, all that fun stuff. LibreOffice, which is basically an open source clone of Microsoft Office and Firefox. So those are all three different applications and they might use different libraries. So all of them probably use the C standard library and then things are built on top of that. So on Linux there is a display server if you want to display any graphics and the current one is called Wayland. That will let you have access to direct CPU buffers and stuff like that. So maybe you don't want to use that directly. So maybe you use another library that has a GUI toolkit. On Linux, one of them is called JTK and that will render buttons for you instead of just raw buffers that you might not care about. So Firefox uses JDK to render some user interface elements. So it would use that library. But Firefox is a web browser. It does page layout and stuff like that. So it actually uses Wayland directly and just displays all your web pages because it renders them itself. And it might also have something to do with the system daemon. So this kind of abstracts some hardware on your machine and will make some requests for you. We won't have to use that in that course, but it's one of the things that's called that it is used. So Firefox might use all these together in order to work correctly. Well, LibreOffice might not request any details to hardware. It might just use the GUI toolkit and that's about it. NetworkManager might not use the GUI toolkit and it might use like Udev directly. So what's an offering system? What libraries you need actually depends on the application. There's kind of no one-size-fits-all answer. So it depends. So for the Apple example, well, all those offering systems actually run the same kernel and they're exactly the same in that respect. A lot of the libraries under the hood are exactly the same. They're 95% the same, but they all run different applications because you can consider Apple makes a distinction between a watch application, tablet application, phone application that have their own sort incentive standards. So Apple is right in calling them different operating systems because it expects a certain type of application. But if Apple was a bit more open, it might depend on what applications you want to run. So for instance, Android and your Debian VM both use Linux. Linux is the kernel. And depending on the application, if you just have like your little Hello World application or something you've written in 104 or 105, well, Android uses Linux. It has a standard C library. You could run your application on your phone if you wanted to. It would work perfectly well. You wouldn't have to do anything special. So if those were the only applications you cared about, well, Android and Debian would actually probably be considered the same offering system.  But if you really wanted to, you could have done 105 completely on your phone if you really wanted to. But again, you would probably have to be fairly crazy like myself. So they might be the same if you only care about terminal applications. Otherwise, Android applications are a thing. So they would be very distinct operating systems. You couldn't just run an Android application on Debian and think that it was going to work. So Linux distributions might be considered, so Linux is just the kernel. You might call a full operating system GNU slash Linux if you have ever heard of that terminology before. Basically, GNU distributes like the standard C library, which is a core part since basically every application uses it and gives you all the standard utility commands like CP, LS, all that stuff is written by them. So you might call Debian like GNU Linux if you want to be like a generic term for that type of software stack. But basically at the end of the day, an operating just consists of a kernel because, well, something has to run in kernel mode, so an operating system will always have a kernel. And then it's any required libraries for your application. So if you just use a kernel directly, well, you don't need any libraries, but your life is going to be very difficult. Now we have to do some review in order to talk about libraries. So we have to talk about how C compilation works and all of that fun stuff. So this should be of no surprise for you if you've ever created an executable with multiple C files and if this is new, which it is for at least one person, then this is how it works. So if you have multiple C files together, this may have been hidden from you in the past, but what basically is going to happen is you write some code in these C files. Your compiler is going to compile each of those C files individually and create a compiled version of that file called an object file. Don't really need to know that for the course, although it's basically the compiled version of your code. So end in .o. And then at the end of the day, it will link them all together. So that basically is just a generic term for it will combine all of those files together, all the compiled version of those files together to form your executable. So that executable will have instructions for every single function you wrote in C. So any questions about that? So that may have been hidden for you if you used make before or any other build system. It would have hidden this from you and done the compilation and link step for you, but if you separated it out and you know what's going on, this is what will happen. So static libraries are basically the same thing, except they're just going to reuse something. So instead of combining everything into the executable and compiling it all individually, well, say I want to reuse that util, that foo in that bar. Well, instead of just having them have a .o file and linking it, well, I can combine those .o files which have the function definitions and everything in them into an archive. And this archive will basically just, it will consist of all those .o files just sandwiched together. So this lib.a will just have all of these in it in just one file. But lib.a actually, you can think of it as actually containing those three files. Yep. Yeah, so those three .o's would be the same ones from here. Instead of putting everything out in the main. Yeah, so the question is, why is the compiler deciding to put it in the library? So the compiler doesn't decide. This is something you decide as a developer. So this is me deciding as a developer. I want to reuse the code that's in util foo in bar. So I will create a static library. So that way, whenever I create an executable, I just have to link together main.o and that lib.a to create that executable. It behaves the same. And the idea behind that is, well, if I wanted to create a new executable with like main2.c, I could just replace main2.c and use lib.a, and I don't have to compile everything and link it together. I just say use lib.a. So it just saves us some time. Otherwise it behaves exactly the same. It's just a way for you to specify I want to bundle these together and I might reuse them again. But behaviorally, it's just a... and you have to organize it this way. This is something you pick. And you probably mean you haven't had to pick this yet, but eventually you might have to make this decision. What code you write is actually going to be reusable. So this is a static library. It behaves exactly the same. I'm just bundling things together so I can reuse it.  It kind of always comes together. So you may have noticed that the C standard library is not a .a file. It's a .so file. So on Linux, dynamic libraries will be .so, which stands for shared object. On Windows, these might be known as DLL files. On macOS, they're called dylib files. They're all the same thing. It depends on the operating system. But the idea behind that is kind of the same idea as static libraries, but there's one key difference. But the idea is still the same, that I have two applications that want to use the same code. So I don't want to just reuse things or I don't want to waste space or reuse things over and over again. I don't want to use the same system both to just use the same code. And that's why the standard C library is a dynamic library. So if you have two applications both using it, the operating system can be smart about it and just loaded into memory the first time you use the standard C library. And then if another application uses it, the operating system can be smart enough to say, hey, I already loaded it into memory. So this program can also use it. And we'll see how that sharing would actually work once we get to virtual memory. But that's the idea behind it. It's supposed to save some memory because I can actually share some information. So how it looks. It looks very similar to the static library. So it's the same idea, but instead of creating a lib.a that has all the header or the .o files, I create a lib.so and I have to specify a special flag to the compiler that does some low level things a bit different, but essentially it does the same thing and just smushes them all together in that lib.so file. So that lib.so file will contain the definition for any functions that were in those C files. Yep. Yeah, so lib.so would be the result of after the compilation in the linking process. So it's the thing we actually care about. Thank you. Yep. So like libc is a .so file. Yep. Yeah. So the question is if the execute be the static one will be larger than the dynamic one and the answer to that is yes. So in this case, in the static case, we're essentially just shoving all those files into the executable. So it's going to include all the function definitions and everything. And then here in the dynamic case we're not going to do that. So this lib.so file will have all the definitions but whenever we link to create an executable we're not going to sandwich all those function definitions in our executable.  So I would say I have a main and everything else I'm going to reuse and it's in my library. So just my executable just consists of main and then whenever you run that executable the operating system is going to look up that dynamic library and then any functions you call it will actually call those ones. Yep. Yes. Yeah. So the question was, well is the only difference a compiler flag and to create them, yeah, the only difference is a compiler flag. But the only difference and the difference here is in the static case all the libraries included in the executable in the dynamic case the library stands by itself and it's used and looked up whenever you run it. So that will bring us some interesting benefits and drawbacks. Oh, and also there's this useful command line utility if you like get into deep system programming so you can use LDD on any executable and it will tell you what dynamic libraries it uses. So it's a fun thing to poke around with won't have time to do that but you can go ahead and do that. So you might think, hey there's static and dynamic why do I have both of them? When should I use one versus the other? So again with static basically it's just copying all that code and just shoving it in your executable whenever you compile it and in the dynamic case it's going to keep it separate and then look it up at runtime. So some drawbacks well software evolves over time right people change it they update it hopefully they make it better so if the library you're using is a static library and you're relying on it and you're using it if they produce a new update or something like that that fixes something you have to recompile your program because it's included as in the executable so if they make an update you have to recompile everything. That's okay if you have control for all the source code and you're using open source and all that it might be okay but if you don't have access to the source code that might not be a thing so that's not good and yeah so that's not great if you have to recompile for every update and another issue is well it also wastes a lot of space I think if the standard C library was a static library well that would mean that every executable that uses printf would have the definition of printf in the executable so in that case if I have a thousand executables I have a thousand copies of printf just wasting space wasting hard drive space and then if I execute them they'd all waste I keep hitting that sorry they would waste memory because it would be independent the operating system wouldn't know they're actually the same so it would waste space both on your hard drive and in memory and while with dynamic libraries I just have one copy of printf in that standard C library and then every single program uses it so can anyone think of any issues with having dynamic libraries? yeah oh sorry go you first oh so the question is what's the issues with using dynamic libraries if for static any update I have to recompile everything okay sorry let me rephrase the question is there an issue with dynamic library updates? yeah were you going to say the same thing? same thing? okay yeah same comment? okay that's yeah that's another one so to repeat that few issues well you might have to recompile it if a static library updates which kind of sucks but with dynamic you don't have to recompile it but you're not guaranteed every update is good so if it's an update that breaks something then suddenly everything is broken right because they're all relying on the one thing then everything's broken so if you're using a shared library you better be sure that if you're making it you better be sure whenever you update the code you do things correctly otherwise you'll break everything which is not good another comment is well if the application is already running and you update it it might also have some problems some kernels will keep the version that started with when you launched it and not do like a half way update so that's another issue that's a bit trickier the other one is well the update might just suck so this actually happened back I forget what year it was but basically the standard C++ library did an oopsie and broke something and suddenly every single program on your machine died and everyone just had to recompile everything in order to fix it and it sucked so we're going to see an example of that if you're really subtle what will break things so yeah major drawback is dynamic libraries can break can just break executables and the change can be really really subtle so for example if you didn't know this before well if you defined a struct in C and you have fields in it well the way you define the fields there is a certain way that is laid out in memory and that is defined in the C standard so that C compilers agree with each other so that if you compile a struct in GCC and clang and then you're calling code between them well if they agree on the layout of a struct then they'll both agree and everything will be fine it's the same thing that you had when you made function calls in assembly you have to agree it's the same thing for compilers basically all computers it's just people agreeing on things over and over again and not breaking that social contract and that's basically the only way computers work which is kind of scary and kind of amazing how they actually work but at the end of the day that's like most things in computers so in this example we might have an executable that uses a struct used in the dynamic library and bad things are going to happen so there's some other text on the slide let's just get into example so like I said structs are laid out in memory a very specific way in C so let's say I was creating a library for a point so a point that just has an x and a y so I might have something like this so I might design struct point I will say it y in x everyone would agree with me that that is a good struct for a point has an x and a y they're ints so later I might change my mind and be like why did I say x or y than x so later I might come along and change it to this version I might just say well for my struct point x should come first and then it should come first well if you get into the detail of what the compiler actually does these are actually represented in memory different so you might see this term offset in this course you can think of that as like an index into an array except offsets are always just done in bytes but otherwise it's the same idea so for version one the x field is offset because the size of an int is 4 bytes so the first thing in the struct is a y so the first 4 bytes of the struct would represent y and then the next 4 bytes would represent x so you would say x starts at offset 4 or 4 bytes from the beginning and then in version 2 it's offset by 0 bytes because it's at the start and this problem is or this is not an API change because both of the structs I can describe them the same way they both have an x and a y and they're both ints so I didn't change the API I just changed the order which actually changed the ABI so to explain it in a bit different in case that didn't make sense in both versions I could have represented the compiler could represent them both as an array of 2 ints but that way is easier and in the first version it changes where y is and where x is so in version 1 y is at index 0 and x is at index 1 and in version 2 when I swap the order then in this case x is at index 0 and y is at index 1 so any disagreements with that this might make more sense to represent it so let's go into the library itself between both of them my library is going to be exactly the same so this is not what I want so let's close this so here is the C file that represents my library and it's just going to be one C file so it uses point.h which has that struct in it I'm not going to change this between the two versions the only difference is that struct so in here I'll have point create that creates a point it does the malloc and then it sets the fields and then there's a get x and then there's a get y and there's a destroy which just calls free so this is the code that is part of my library now the code that uses the library is an example and it contains main and this will be the only content of my executable so it uses point.h and again this depends so just reading point.h you don't know what version so it depends on what version so this might be version 1 or version 2 depending on whatever I compile it with so then in here it will create a point where x is 1 where x is supposed to be 1 y is supposed to be 2 so then I have 2 printfs so I have a printf that uses the library so I print off x and y using the accessors get x and get y and then here I'm printing them off using the struct so now if I compile this with version 1 and my library with version 1 oops that's probably confusing being up there sorry let me reset up it so if I compile it with version 1 and I use version 1 of the library they'll both agree with each other so I'll see x is 1 y is 2 so there's a way to simulate there's a way to play with dynamic libraries on Linux using environment variables so I can simulate an update by doing like this so this if you haven't seen it before will set an environment variable called ldLibraryPath and I'm pointing it to version 2 of my library to simulate an update to just the dynamic library so what this will do is force the operating system to first look for libpoint in that directory before it uses the default directories so it sets an environment variable executable so this will simulate me just updating the library to version 2 so if I go ahead and run this again same executable I'm running the only difference is what library I use whenever I run it yikes so you see the first line is still correct 1 2 but the other one flipped you could have and this is a really subtle change but you could imagine that might have a profound impact so imagine this was drawing a user interface or something like that and your x and y's had to make sense and now suddenly they went like that you would probably be like that's a pretty big bug my screen flipped 90 degrees that's not good so yeah so things like that can happen and it's not very good so everyone see why that's a problem and can kind of explain that I guess so like the confidence so here I'll show it again just to be clear so here there are a lot of things going on there's actually four versions of things going on so there's two libraries and two executables depending on what I compile with what version so on the left here in the gray boxes are the two versions of the executable and on the right are the two versions of the library so in the executable compiled with version one whenever I'm using the library calls well point get x, point get y, and point create that will call whatever library I'm using at runtime I don't know ahead of time which one that will be because it depends whenever I execute the thing so I'm not sure what version of this I'm using but because I use the struct directly in that point.h file whenever I compiled with version one it was y than x so because I accessed the field directly those are going to be compiled directly into that executable and the offsets are going to be part of the executable and they won't change so according to the executable it thinks y is at index y is at index zero and x is at index one so at runtime if I use this with version one of the library version one of the library will use x at index one and y at index zero for these three library functions so point create will use that point get x and point get y will all use that so that's why this one is correct because they're all from the library it's just using the library the library is going to agree with itself it created the point and it has the accessors and in the case where they both match this executable for the struct is going to be right as well because they both agree with each other but when it got flipped what changed is the library got updated to version two here so now version two of the library thinks x is at index zero and y is at index one so point create get x and get y from the library will all use those indexes so if I use version one of the executable and I call the library it would go ahead and call this library the library created it the library uses the accessor functions so the library calls would be correct it would always be one then two I have a mismatch so my executable thinks y is at index one but the library that created it said y is at index sorry y is at index one and it thinks y is at index zero so they're flipped that's why it flipped between the two versions this also works that if you use version two of the executable with version two of the library that works fine but if you use version two of the executable of the library that's another disagreement and you'll get it flipped again yep so there could be a few solutions the solution would be like oopsies I broke the library so you could force, you could say you have to recompile your executable and only use version two from now on so that is a solution but then you get into the thing where you're like oh I can't update my library it's stuck at version one and now it's version two and now I have a mismatch the other way which isn't that great so this this exact problem this really subtle bug is what happened with the standard C++ library so in STD list someone made this mistake when they updated it where they modified the fields and suddenly that broke literally every program if it used a list it behaved in really unexpected ways and the only solution was your solution which was just recompile everything and you have to recompile everything because everything is using the newer version of the library now and that update to the new standard C++ library took some people years to do so that is a warning for you if you're developing these libraries don't do things like this you have to know what you're doing so what the question is I'm not quite sure how the library understands the change so for both of them this is what the library uses point create and point get x and it both uses the struct so like in version one of showing the code would probably help so there's point create and point get x that are both in the library and it would access the struct and it uses the struct so in this case with version one of the library it would be in a certain order and whatever you compile it the library is going to agree with itself this x it would think is one for version one of the library and here it would be index one so it always agrees with itself because it's the same library so that's why the library calls are always correct so it created the point and it has accessor functions as well but the two libraries would be different so in version one of the library it would have x at index one and y at index zero and version two of the library it would be flipped but it would agree so in version two of the library if this was at index zero and it created the point yep so this has to do with when you compile it so when you compile it it creates an executable and then it's stuck like that so in this one my executable also includes point.h which has the struct in it so if I compile it it's stuck at whatever version I use that point.h from so it's stuck it's the same executable won't change so that's a fun thing so there are solutions to this one's recompile everything that's a bad solution what's another solution to not encounter this error yep don't change the order that's the best solution so you could add fields to the struct and it would be fine if you add them to the end so if you add fields to the end the other solution would be that if you're going to train change the fields of your struct don't include it in your header files don't let them to compile it in hide it from them so only make them access things through pointers and then call into your library and then your library has a struct file so you make them just do everything through pointers instead of letting them know what the struct actually looks like that's another option that's easier time with updates because everything's a reference which is a fancy word for a pointer so Java can do all this stuff under the hood because it can change stuff because it never actually never actually know where things are in memory but in C you might actually know where things are in memory and bad things might happen so yeah but for the purpose of the labs whenever you create libraries I would stick with the strategy of do not screw with the structs that is a good strategy to have because once you have them they're set in stone you're not allowed to change them so the Linux kernel has structs defined is it ever allowed to change them no because then every single application might break on your machine and things would lots of bad things would happen so that's why sometimes people would debate what goes in a struct in the library for years because if they have it generally you're stuck with it for like 30 years because some things in software don't change that often yeah yeah so so this is part of the give and take with them so you might think hey these updates suck and I don't want to do this so some people might just say hey I'll go back to static libraries and then I don't have this problem because everything's compiled in my executable and it just won't change it won't change between one run to the next so it will always behave the same way so in software engineering there's like fads if people want to use static or dynamic libraries all the time it just changes flavors so if you're relying on bad software with people that don't know how to write code that write bad dynamic libraries you're going to get fed up really fast and then do the static method like you said and then it'll work for a time and then it will probably get really old and you won't update it and you won't have to recompile it and it'll fall behind and it'll have security vulnerabilities and then you'll lose the source code and then you'll never be able to update it again and then you'll be like when I should have used the dynamic library and then you'll go back and forth between the two so the answer is dynamic libraries are better if the dynamic library is of very high quality otherwise you'll probably have an easier life with static and generally it changes from whoever you ask so generally you know if you're a good programmer you're like I dynamic libraries are great because all the updates work everything works flawlessly and I'm the best programmer on the planet hopefully that is us so we're going to make dynamic libraries in this course because that's what we'll do yeah so some libraries will have both versions depending on what you want and in general you use the dynamic library so like the standard C library does have an option for static if you want but generally it is the C standard library developers are generally very very very very good so using dynamic is often a good thing to do for that unless you really know what you're doing okay so there is a system to kind of convey what you mean through version numbers when you're using dynamic libraries so you might have seen version numbers for stuff generally for applications they're fairly meaningless and those are the numbers that you see like chromes on version 100 whatever the hell no one really knows but for libraries generally the version numbers should actually mean something so typically you have like 1. 1.2 or something like that so given a version number like that you usually call the numbers major.minor.patch and the rules for incrementing them are as follows so if you increment the major version that's supposed to signify that you made a change that broke the API or ABI and what that signals to developer is that well if I'm using version 1 of the library I can't use version 2 of the library without having to recompile so I know that I have to recompile if I want to use version 2 but I should be able to use any version 1 of the library and it should be okay so the rule for incrementing the minor version is that you're adding functionality to your library so I added a new function and I didn't delete anything and I didn't otherwise change function signatures or do anything silly like that so you add a new functionality so then you know that hey my library needs version 1.1 because it has a function that wasn't in 1.0 and then you also know that that function that was in 1.1 is in 1.2 or something like that and then finally for the last one it's just supposed to represent whenever you made a bug fix so it's supposed to always work if it worked with 1.10 it should work with 1.11 yeah so this is just a convention that you hope developers follow so the convention would be like if I add a new function I increment this number so I could say like in version 1.2 you can use this new function magic calculator whatever and then people know hey I need version 1.2 for this yeah so patch version should always just work with each other doesn't break anything it should just fix things and make life better so that if I'm running 1.1.1 I can upgrade to 1.1.2 and nothing and it might just work better and if you broke that version well then hopefully there's an update to 1.1.3 that actually works yeah so if they add a new functionality in the library they don't have to recompile it because it'll just be included whenever you run your executable no so if they added new functions or anything you don't have to recompile your code but it wouldn't be able to use those new ones unless you recompile so yeah so if you wanted to use the new functions you'd have to recompile but if your code doesn't use those functions and a new version of the library has the functions of the library yeah so just new functionality minor usually if you increment either number it should have bug fixes and stuff that makes things better yeah time quick another example that will be fun so they also allow for some easier debugging so let's look at this example so normal C program has a main calls malloc size of int should allocate 4 bytes right then I have a printf where I display the address that I got from malloc so this cast here is just to make the compiler happy because it's just printing off a pointer and it wants it to be a void star which basically means in C it's a pointer I don't care what type it is so this actually isn't doing anything but just printing off the address that we got from malloc and then freeing it so question to you this should be very readable how many times do I call malloc once hopefully once that's a good question so does everyone agree we called it once hands up for once hands up for twice alright we got two twice so this isn't too surprising look at it malloc this would start at main call malloc printf free I count one malloc so let's go ahead and see this so go here so let me free it again so I do have one malloc so what I can do is I wrote my own malloc so my own malloc will print off anytime you call malloc and then call the real malloc to do all the hard work and it also does this for free so my malloc and free will just print off if anything any one of these happens and let us see calls that happen and this is basically how valgrind works if you've ever used that we'll see that if I run it I can see how many malloc calls happen 2 4 correct so it looks a bit weird because clearly the size of a byte is 4 so that corresponds to this malloc that looks right and if I look at the address well it ends in 12a0 and then I called free that ends in the same thing so that seems to match up but then there's this weird malloc of 1024 did you know you did that who did you who can explain it yeah so that is a good guess one guess is for a string constant so this string constant here the answer to that is unfortunately no so this is basically a global variable it's loaded with the process so it doesn't need to use malloc or anything for it so the compiler kind of figures it out and it's more or less a global variable another good guess does it have anything to do with the percent sign that is very close getting warmer sorry another guess is it the pointer getting colder close yeah how do you think printf is defined so printf made the call to malloc that makes sense because because it had to take this string and then replace it so that it looked like this so it needed to use some memory so it makes sense that printf would use malloc so that came from malloc so well we just discovered something by messing with libraries so if you use valgrin before you could use it on this too and get a report this report is a bit weird because if we use it and we'll go really quick and then I'll let you go so if you look here valgrin says hey there are two allocations and two frees which is not true it didn't free anything I freed mine but it didn't free it so if you look at the documentation real quick it basically says that the standard c library might use memory it might call malloc but it doesn't have to free them because the operating system will go ahead and free all the memory when the process dies anyways so it doesn't have to free them and in valgrin there's hard coded things that will be like if the allocation came from the standard c library it'll count as freed so you don't get any false positives unfortunately that's all the time we have so just remember pulling for you we're all in this together


As introduced by Aristide, I'm working in perspective and I'm not Elsa. She invited me to replace her considering that it would be a more strategic operational talk. So the idea is how can urban metabolism principles inform and structure planning policies in Brussels. That will be really the goal. I'll speak a bit what is perspective, what is the action of perspective, and which tools are we using and how are they modified by the principles of urban metabolism. So perspective is a special planning agency, a regional special planning agency, which operates at the regional scale and also at the local scale. At the regional scale there is the PRD, Strategic Regional Plan, which is indicative and integrates all the policies of the Brussels regions, all the obligations stemming from international treaties, European policies, national, into a strategic plan, also sustainability objectives, economic development objectives, all that related to the special organization of the region. So that's the strategic regional plan, it's indicative. General and sectorial objectives are declined into land use applications. And the strategic regional plan also defines sites which are of strategic value for intervention, more local sites. We also have the PRAS, which is a regulatory land use plan, so that's mandatory. It defines the land use and of course it subscribes to the PRD orientations. And then at the perspective we are also involved in local scale plans, so these are what we call the PAD. They are local plans, they subscribe to the PRD of course and define general special planning principles and they can be indicative or regulatory or both. And we also have a more operational aspect, CRUs, which are urban renewal contracts, which define a program of initiatives that are carried out to renew the urban fabric, social economic policies or projects, and also landscape related issues. So that's a bit what perspective is doing from the special planning aspect because we are also statistics, we are also involved in statistics, we have a statistics institution and also territorial knowledge department. And I'm from the strategic department. Of course you don't plan a city all alone. This is done in collaboration with a constellation of regional partners, which are described here, but also with the stakeholders, which are very important, the Brussels region municipalities, the Flemish region, the Walloon region. Helmar already introduced a lot of the work that is done with the Flemish region. So I won't come back, but all these collaborations are absolutely crucial because nothing will happen without them. Of course it's very important to have political support to create policies and organize special planning policies. And in this aspect we are lucky that there is kind of a continuity. So the Brussels region policy statement of 2019 to 2024 in terms of economy is continuing the goals that were defined before. So we are pretty comfortable about that. So in terms of economy it's the development of a local offer of goods and services, creation of sustainable jobs in a low-carbon economy, nothing new but good. Also focus on circular social digital economy, the PRIC, so it's the original program for circular economy, urban agriculture, preservation of the industrial and economic activity, meeting local needs through an urban industry, local production and craftsmanship. So basically we are continuing the previous objectives, which will be important for what comes next. And I must say that political support is the basis for all of this. It won't happen without it. In terms of urban flows we have quite a few plans and programs. So there's the resource and waste management plan, which deals with what it says. There's also good food plan, which is more involved with urban agriculture, consumption flows, foods. And then we have the regional program for circular economy. I will only speak about the last one, but of course these other plans and programs are important in terms of urban metabolism. So the Brussels regional program for circular economy, you probably already heard about this. It's really a program which tries to define what should be how, should we achieve a transition from a classic linear economy to a circular economy, taking into account the characteristics of the Brussels territory. So it's, as mentioned by Helmer, a very entrepreneurial based program, sectorial based on the industry, which are seen as important or having an impact like construction, logistics, waste, resource management, food, retail business, because Brussels is a very administrative region. There is this sectorial aspect. There's a kind of road map with cross sectorial measures, which import education, encouragement of innovation, public procurement, direct economic aids or indirect economic aids, which should lead to achieving these aspects. It must be said that government is also very important for this because there is a strong political support, which tries to break this administration's silo effect that you are mentioning. So several ministers working together, bringing administrations together, along one strategy. But then all of this must be declined in a territory and that's where we actually fit in. So because all these measures must somehow be territorialized in the region and in these priority zones which have been defined. And that's where the thinking about our role in spatial planning and transition towards a circular economy and taking account urban flows really comes home. How can we achieve this? So the Brussels Regional Program has defined 111 measures. We put them aside, but some of them are really involved into the territorialization of the economy, of the circular economy, and I've singled out a couple of them which are important at the regional scale I think. So one is territorializing the circular economy through the definition of hotspots. So this is really, circular economy means that there are flows, but how these flows land on a territory is a difficult to a certain issue. So the hotspots are a mean to try to trigger to this thinking, really analyzing flows, seeing how they can land, where which infrastructures as we have discussed this morning are required, what already exists and everything. So this is really what we are wanting to work on now and it's the most undefined part yet. And I'll speak about the North quarter which is one of our best examples. Then we have to, this is very important, develop collaborations between the Brussels region and the metropolitan area by initiating or capitalizing on existing initiatives. This is what we're talking, Elmer was mentioning. We absolutely need to create more collaborations. I mean, urban metabolic flows are about flows. They are not restricted to a small territorial area like Brussels. So for, we need to take into account the hinterland and really the global aspect of the issues. Oh, and this little, so these are the name of the measures in the program. Territorial, TRE is for territorial. And then there's TRE 2. So this is, which states that perspective will stimulate the offer of accessible spaces for development of circular economy projects in partnership with regional institutions to meet the needs of economic actors. That's, well, you could say it's a very local aspect problem, but it's very systemic. So it's finding places within the whole region. And I think this is a very crucial element of the transition to the circular economy on a massive scale. Because this is where we stand a bit now. This program has existed since 2016 and we are in 19. A lot of experimentation has been done. How can we upscale? How can we really enforce the transition? And also there's long-term monitoring. So what is happening actually? Oh, there's a bit of French. Sorry about that. Because I was translating this yesterday. And I obviously forgot to translate the leftist. So the issue is how to define a framework for the long-term monitoring of the circular economy. Taking into account multiple scales, local to metropolitan, not only territorial scales, but also economic scales, micro, meso, macroeconomic scales, which stakeholders should be required to do the monitoring. And which tools are needed to collect, manage, structure, visualize the data feeding the monitoring. So all these will be things that we need to develop. They don't exist. But if we want to achieve this upscale, we need to develop them. So this is really where we stand in terms of regional scale approaches to urban metabolism in terms of spatial planning. Because there's a lot of thinking in the different sectorial approaches. That's okay. It's mature. But how do we apply into spatial considerations? It's still very embryonic. That's what you can see. Now, at the local scale, the picture is a bit different. So we have been developing tools. And when I say we, it's not only perspective. It's process environment and all these original institutions and not only original institutions. Tools in order to really integrate circular economy and metabolism principles into spatial planning. So these are covered by this measure. So TR3 is Integrate Circular Economy Indicators to the B-Sustainable Tool. So what is the B-Sustainable Tool? It's basically a tool which was developed to help create sustainable neighborhoods. And not only, but it goes also to the finer scale, but that's basically the idea. And of course, we wanted to inject principles of circular economy, urban metabolism into this tool, which really is a collection of tools. It's a charter, a policy making charter. It's also a quick scan tool, which really, the idea is that this is not a mandatory tool. It's something which is voluntary. So users use them if they want. So it should bring quick benefits to them. So there's a quick scan which can help, you know, to assay the environmental, urban metabolic issues that are actually raised by the project you are trying to carry. So you can simply do this. It's kind of bullet point. I think you can actually see here. This is the quick scan. It looks much less sexy, but yeah. You have all kinds of subjects that you are asked questions about and you need to fill them. And it gives you a kind of feedback of where you fit in the picture. What can you, what could you improve? What are issues that you are not aware of that could be worth considering? And these are all the themes that are touched upon, which are the classic themes of sustainable development, urban metabolic flows, et cetera, et cetera. But this is not simply a tool. It's, there's also compass, which is basically this, but for real, it's a much more detailed and it's a bit of work to do it. But the idea is if you fill up this Excel sheet, you get a very, very nuanced and detailed picture of the situation of your project and the impact of your project. And of course, these tools, and this is documentation that actually helps you and educates the project, how would you call, project leaders. But these tools are actually powered by people, experts, facilitators, which will interact with the users to provide expertise. And the idea behind these tools, and of course, all the usage is iterative. So you go through several rows of this. The idea is to inform the project managers of the stakes, environmental, economic stakes that their project will raise, but also it's a way for the region to inject the regional policies into local initiatives. And the benefit for the users is that they get all the expertise. So they get a lot of expertise, which would be very hard for them to mobilize without this. And the idea is to do it very early in the process. So actually at the diagnostic level. So that's right from the start and actually to really even help them structure and scaffold their ambitions really. So because they have a project, so they have some idea often of what they want to do, but they can actually do a lot more. And we can help them do a lot more. That's the idea behind this tool. So this is this measure and the first measure is develop pilot projects to anchor circular economy at local level by involving local stakeholders, citizens, NGOs, etc. And I'll come back to that. So yeah, we have this. Oh, hi, it's missing. I'm talking about a test case, the North quarter, which is an interesting intersection between a local project, local plan, and hotspots in the case of a hotspot. So there have been already quite a few workshops happening about the North quarter. So by the circular metabolic community we had, this was from the circular metabolic community. And this thinking has progressed. There's also a lot of bottom-up initiatives, which have been happening in the North quarter. And perspective was also tasked to start a reflection on this territory. And we used the B-sustainable tool. So this is the perimeter. So it's a very monofunctional neighborhood with lots of office space, very strong features like a train station, a canal. It's really at the strategic point because there's a lot of harbor amenities which are accessible, there's a lot of potential because the neighborhood is clearly going to change because it's monofunctional. It doesn't meet requirements of today's use. So it's a good opportunity. What you see here is the first use of the B-sustainable tool. It's actually kind of a diagram which graphically depicts stakes in what are the importance of the different themes for the definition of the program. So what is going to be important? So it's a first aerial view. And the idea of using the tool is to identify what are the resources on which conditions with which actors and which actions can be developed, etc. So these are all outputs that came from the B-sustainable tool, trying to map the different actors, what can they bring, at which scale, really trying to identify the actors, also trying to identify locations and what can they offer. So what is actually existing? What are locations that exist and are working already and which could be actually encouraged or increased in terms of performance? What are potential places, so empty office space or brown fields? And what is actually not there? What is missing also? So it's kind of inventorizing all these elements and then trying to make a scan through all types of material flows to see what can be developed there, what is the potential. So these are so that one can meet a potential offer to what is being asked by the market basically and try to beat those at the local level and also being primary candidates for hotspot development. How can these spots really work for the entire Brussels region in a systemic manner even out of the Brussels region? And so these are other diagrams. I'm not going to actually go into the northern quarter because that's not my interest. Really here it's just for each different sector there was an analysis of what are the potentials, which clients could be developed, which actions, how could... So for instance this is for the waste and resources, distribution services, what actions support could be found, which actors, et cetera, et cetera. And this was done for urban agriculture, for what is this? So this is recovery of materials, second-hand use, et cetera. Construction sector, what can be reclaimed, what can be reused, recondition, et cetera. And also taking into account local initiatives, so this is from the private sector, a plan for mutualization of energy needs in the entire neighborhoods. So this was, for instance, from an initiative from NG, which is actually present there. So how could one organize different blocks in terms of energy needs, et cetera, et cetera. So trying to mobilize all the energies and basically this is where we are at in terms of use of that tool. It's really helping to, let's say, mobilize all the expertise that exists already in the region in a manner that can be efficient and timely. And also mobilizing all the energies that are already there and can be re-leveraged There's another example that I would like to show you. This Be Sustainable Tool has been used in already several neighborhoods, like Heivart and it's going to be used in the Maximilian neighborhoods. The idea is every time to identify what are the potentials, what should be the road map to develop, integrate in a holistic manner all the environmental issues, opportunities into a territory. But all these are from the point of view of a territorial entity. So here it's the region which is operating, but we also have other actors which are not territorial units. So this example is the Public Center for Social Welfare of the Excel municipality and they contacted a perspective to help them remodel their city block, their occupying. And they have used this Be Sustainable Tool to identify what are the potential of the site, what are the big issues that are confronting the site and translate that also into ambitions. So this is what exists, what should be paid attention to by the site and this is what the Social Welfare Center wants from the site, what are their priorities. So this has also been defined and informed and from all of this we are deriving contract specifications that will be used to create a master plan and then the different projects that will be developed within the site. And so this is the modus operandi that we want really to develop is have tools mobilize the expertise to help the project holders to define their ambitions so that they then can carry them and in a manner that seamlessly integrates the objectives of the region in terms of special planning. One point that I would like to make is that this tool which is totally voluntary but is being picked up should be compared to the Strategic Environmental Assessment Tool which is actually mandatory and both of them are decision support tools in special planning and what is very clear is that the resources required to create, to power the B Sustainable Tool are exactly the same for the Strategic Environmental Assessment Tool so it's the same or should be the same expertise and in a sense we are the Strategic Environmental Assessment Tool is mandatory by law. It was created to improve plans and programs designing and to create more transparency in the public debate and it's a bit of a pity that it's not being more useful to actually shape policy. It's often seen as an obligation it's also the doorway to attacking a plan and creating litigation and it drives a lot of negative baggage. It's very heavy, very administrative and we are realizing that the B Sustainable Tool is basically the same thing but voluntary. So I think it's very clear that one should marry both basically to modify the practices of the Strategic Environmental Assessment Tool so that it becomes more useful and more conductive to actually implementing the policies that we want to implement in terms of sustainability, circular economy, etc. And that's something we will be working on. Now, urban metabolism and operationalization this is from the first territorial measure. So perspective and hub Brussels. Hub Brussels is really focusing on entrepreneurship and economic development formalizing collaborations on three aspects. So diagnostic purposes, B Sustainable Tool is a tool which I did not mention. I think it's a tool which is really useful in terms of diagnostic and in defining ambitions but also provides a framework for evaluation. It's too soon to get to the evaluation part in real case studies because we're not there yet. And this is actually what the SEA should be doing. But here we are more at the operational level. Still, in terms of diagnostic purposes there are collaborations to be done to identify stakeholders. So who are the people who are the economic actors already in existence or potential in a given territory? The management of offer and demand for productive spaces I have already mentioned that and the creation of pilot projects in circular economy. So these were all measures that were listed in the Brussels program for circular economy and so we are creating collaborations with Hub to make them real. And one program that I would like to highlight is this Think Innovate Development Program. So it's a research action. The idea is to identify stakeholders, mobilize them, like citizens, private public sector, academy to identify what is the function or what is the positioning of a given territorial unit. What is the potential that could be derived from this? This program was initially developed for the commercial sector. So how is a given neighborhood position in terms of commercial activities? Almost like branding. But we think that it could be really generalized for all kinds of productive activities. So the idea is really to, like we saw earlier, also creating interviews, storytelling creations and how do the actors see themselves? How would they like to see the neighborhood? But then also to test new ideas for the territory, that's the part Innovate. And this is what the Brussels Regional Plan has been doing a lot, creating lots of innovations through indirect help or direct help. But then organize the development of these projects amongst stakeholders and provide coordination support at larger scales. So this is the developer. This is the upscaling. Like if we see that something is working, how can we help upscale it? How can we give this solution to others? Because since we are regional, even though acting at a local scale in this context, we learn about new solutions and then we can replicate them. How can we generalize them to replicate them across the whole region and further beyond? That's the idea. And this is what I was planning to develop for the commercial sector. We would like to make it more general. And that's part of this collaboration with HUB. So in terms of urban metabolism planning tool kit, we are getting somewhere at the local planning level. We are creating new tools or adapting existing tools. But at the regional level, this remains a work in progress. I know that Brussels is supposed to have a regional metabolic flow analysis, and there are many things that should be done, but they are not there yet. So we will need them. So thank you. That's all for the moment.


What's going on guys welcome back to the channel critical overload here since about Halloween ends in this video here again today So the Halloween movies official Instagram account and some other I guess official social media outlets or accounts related to this movie Put out a post like this as you see here on your screen. This is from Instagram Halloween night 1978 the night he came home and now it ends watched the final Halloween trailer tomorrow So I was confused at first because I'm like are they talking about for the re-release of 1978 But no, I guess they're talking about the final trailer for Halloween ends And that's what you should expect tomorrow at some point later in the day or early on in the day Now I tried to see if this could be validated in some sort by also going through like the Alberta Film rating system because there are some rating systems out there that will start to list trailers and a runtime Foreset trailer prior to them coming out But that's not always the case and it doesn't appear to be the case here I don't actually think it happened with the first Halloween teaser either. I might be mistaken Actually, no, it did happen with that teaser. I believe it did But I don't see anything so far for this one But I guess we're gonna get a final trailer for Halloween is tomorrow I know a lot of you are like, oh, they've shown too much or they they need to stop because they've already released the clips Honestly, I can only say if you don't want to see anymore Just don't watch it the final trailer probably is gonna put I would hope a bigger highlight on the character of Corey Cunningham and Showing you that this is more so going to be a character-driven movie. That's not just going to be Michael Myers versus Laurie Strode because I know you know, they're out there There are going to be a lot of people who again, they're not watching videos like this They're not researching everything like we are or just talking about it till the movie comes out like we are They're going to see marketing getting in their head of Michael versus Laurie They're gonna sit down and see that a large sugar this movie is not Michael Versus Laurie it's probably not even heavily It's not even it's probably not even heavily progressed off of the character of Laurie as much as it might be heavily progressed off of the character of Corey and then those people will leave saying a that was false advertisement And in some aspects, I don't blame them because again They're doing a real good job at just constantly hyping up Michael versus Laurie to an extent I get it but tell us more about this movie Marketed with other components other than the main event of the evening because the main event of the evening Like Michael and Laurie fighting. That's not the whole movie And I don't even think anyone would sit down now if I'm wrong. You can let me know I don't think many people will sit down and watch a movie Anyway, let's say it literally was Michael versus Laurie for over an hour and then some change attached to that I'm not watching that. Uh, I'd rather watch Freddy versus Jason fight again Honestly, then these two has been I'm just kidding but uh, I did get to rewatch that clip for The third clip that I talked about in my other video that I didn't I didn't get to mention it in depth because I didn't watch it. It was the clip between Laurie and Corey talking With those two talking it backed up what I was also saying again in my last video I guess Laurie is the one who brings Corey in in some fashion So is she bringing him in out of compassion at first early on because she sees somebody Who maybe reminded her of how Michael Myers was But then by watching him from afar and seeing how the town of Haddonfield mistreats him and seeing that he's doing nothing wrong In return She starts to feel for the guy and says that hey, you know what they need to leave him alone Let me be a light at the end of this dark tunnel that he's currently trapped in because he's being accused of something He was proven innocent of And the town just hates him because they see him as the next boogeyman And I don't want to be a part of that problem I want to try to be a light for him But then along the way Corey again, he starts acting full gaze. He starts doing all this weird stuff He starts probably messing it up with Allison after she probably gets those two together And she's like hey, bro I don't want you near my granddaughter anymore Then it leads to a scene like that occurring where he's arguing with lori lori's arguing with him Tell him to stay away from from allison and I think his line was if I can't have her no one can I mean Well, the first person I thought of when I heard when I heard him say that and that's a line I know we've heard from plenty of people but because screen five is so recent when corey said that I instantly just smiled because I was thinking about jasmine brown's character Of mendy meek's martin in her line when she was using that towards Towards I can't think of his name from 13 reasons why towards dilla manette's character of west in screen five so That scene in the performances from what I was seeing it looks like again performance wise halloween ends is going to be Something that continues to deliver on or in the in the performance department even though again I would say that in kills Performances were lacking. They weren't atrociously bad or anything But certain performances were better than others so far from the footage has been released of ends It looks like everyone will always be on their a game specifically I I think andy matta check might be the stand out here I think andy matta check is going to do amazing work as the character of allison this time If the movie does indeed focus more on her and her relationship with corey and her Evolvement over time or evolution over time in this movie as she learns that corey isn't the guy who she was in denial Or in denial about and other components related to how she might be coping with the death of her mother her father Her ex boyfriend So the final trailer apparently is dropping tomorrow. What could it showcase the final trailer could honestly showcase again more of corey You could see more looks at this extended at this kitchen brawl. You could see more things related to this uh Seeing that again is seems like you can pick it out by going through the track list Maybe of the town of hattifield coming together and taking michael's body somewhere Because again, there's a track title called the procession Uh, I believe that's what it's called and the procession usually involves I might be getting the word wrong But I think it was called the procession the procession usually involves a group of people coming together Now, why would a group of people come together over lory? I don't know You because again lory was somebody who I think we would say was considered the town crazy woman I think more people would collectively come together If that thing that they all collectively feared had been abolished and that would of course be michael mires Maybe we'll get a shot of that We could get more shots of allicin and corey hanging out get more shots of what's going on with corey I think anything with corey is is necessary at this point Just so that people who might be in the mindset of it's all about michael and lory can at least see this If it has other things in it and you're like, oh, it's not going to be all about michael and lory because again That's the primary thing they're trying to sell you on and that's fine But again, I think a lot of us know who are experienced with this and we overall very familiar with certain marketing techniques And we of course have been familiar with the plot that's out there that this is not going to be Just the michael and lory show Tell us about corey cunningham rohan cambell and his his his lack of promotion honestly has been a little disappointing too But let me know what you guys think about this down in the comment section below if you haven't already of course Make sure you subscribe turn on postification and never miss a video in the description I'll have links on my social media accounts on facebook twitter and instagram You can message me there of course to let me know if there are any movies news or reviews You like me to cover in the future and with all that in mind guys. I will see you in the next video


Hello and welcome to NewsClick. We are going to today discuss the issue of WTO and Trump's declaration of war, essentially on China. This follows, of course, his earlier declaration regarding tariffs on steel and aluminum. Mr. Jit, we have discussed these issues earlier. Does it appear that in continuation of what we saw as the tariff raising of tariffs on aluminum, steel, etc., which was really unilateral, didn't go through WTO process? I think WTO has not even been notified of this. Now, again, US has taken a unilateral decision against Chinese goods and has decided to sanction them, essentially. This is outside the WTO framework. So what does it really mean for WTO? What does it mean for future trading system in the world? This is a very serious challenge to the global trading system because if the largest economy, the most powerful in this unilateral world, takes a step like this, and I would say a series of steps. We've just taken the second step two days back. Then this doesn't augur well for the multilateral trading system at all, the rules-based system. We are virtually then thrown into a world of lawlessness where no one actually follows any rules. Does everything that suits the political establishment and whatever they want to do with the domestic constituencies and just carry on in that kind of a framework. So I think that we are now stepping into a huge unknown territory, something that we have not seen in the past 70 years. And now the situation is quite different because from what we saw pre-war, in the interwar years, in the depression years, because you have countries which huge stakes in the global economy. The globalization project in the 30s was not as elaborate as we have today. So there are countries which huge stakes in the global economy and if the two largest economies are fighting it out in this manner, and why I'm saying fighting it out because China is not going to take it lying down. So China is going to use this unilateral ways quite surely and it's going to come very soon. And one of the things that the Chinese do very well is currency manipulation. So they have their instruments to counter what Trump has been doing. So we are in a situation where because of these two big elephants fighting out there, there's going to be a lot of collateral damage in the sense that a lot of smaller developing countries could actually get crushed because of this kind of uncertainty. There have been an argument that the WTOs helped the developing countries much less than the developed countries. In fact, the burden of the global trading system has been borne largely by the developing countries and the Doha round which was supposed to address this did not really address this. So why should we as developing countries be worried about the collapse of the trading system if it didn't help us at all? I think it's a question of the relative that we are talking about. It relatively did not help us. I would not say it did not absolutely help us because we still have the dispute resolution mechanism where India did take US and the European Union, some of the larger countries to dispute. Some of the disputes we actually won and we were always hopeful that somewhere down the line we would be able to push the Doha agenda forward and we would be able to get some outcomes which will be more favorable to us in the coming years. It's a different matter that because of the hesitance of even a country like India not really putting his best foot forward, especially after the 2008 downturn that we are in this kind of a mess. So I don't think that we have anyone else to blame but ourselves on a very large extent. What you are arguing is that the demise of the trading system is the worst outcome for everybody and including the developing countries that essentially though the developed countries benefited much more, the developing countries had also seen some benefits and this is now going to actually reduce. Coming back to the issue that you raise about India, it does not appear that India is willing to take this to the multilateral platform. They seem to be seeking a direct dialogue with the United States to resolve for instance a steel and aluminum issue. Similarly, the European Union is also very reluctant to take it to the WTO system itself. They are not willing to take the United States to the WTO system but they seem to resolve it bilaterally. If this happens, wouldn't you argue that Trump's agenda seems to be working? True. I think what Trump has done with the European Union is also offering some sops because Trump ultimately has been advised I think that you can't take the European Union head on. You have to have this broad western coalition otherwise you are going to be in trouble when you are negotiating with maybe North Korea and China or even Russia for that matter and Russia has now become a major threat to the Americans. So I think there is a pattern which is following in terms of giving these concessions. First he gave to Canada and Mexico and now he is talking about, he hasn't actually announced, he is talking about giving some to the European Union. With us he is going to be very different. I do not think he is going to have any feelings for us in sense that we don't fall in his kind of an orbit although we think that we are part of this whole big American set of coalition. I don't think Trump really counts us as one of his allies. What Trump is actually interested in is large markets and this is what he has sold to his constituency that look I'm going to act in a decisive manner so that you get access to large markets and number two wherever I find that countries are maintaining trade surplus vis-à-vis us we are going to clamp down and ensure that there is what he is now called reciprocity in trade. Now that's a you know reciprocity will have to be now redefined you know there's going to be Trumpism that I think we'll have to have all these definitions on reciprocity once again. And no attempt to have a global discussion but defining it as he sees it that means every country has to have trade equality as it were in terms of balances with the United States and of course US balances doesn't really matter because that's not what is addressing and complete unilateral definition of things like reciprocity and so on which have never been a part of the WTO mandate. And of course you know for as long as you can see the global governance structure you know go back in time there have always been a case for non-reciprocity as far as the smaller country is concerned so you have never done this reciprocity thing. What I'm also worried about is the way he's been now using the provisions in the US trade law for instance the latest attack is using the section 301 of the trade act which also puts India the dog. That is right now and we have to see we have to wait for another few weeks to see what kind of an action is there because the report is going to come out in the end of next month. Now the 301 there was a dispute that the EU had brought against the US in the late 90s and there there was a compromise reached you know it was kind of a settlement you know there were no winners and losers where the US was allowed to do the investigation by the WTO but with a very clear guidance that you will not be able to exercise all the provisions of your trade act and get after countries and retaliate. So short of retaliation you can do on all the investigation you can name and shame and do whatever. Now all the administration since then have followed that golden rule. Trump has now crossed that line yeah with China and without really allowing the WTO to adjudicate and find out whether US intellectual property is being you know sort of illegally used in China. He is determined and the report that has been presented to him has determined that there is a 50 billion dollar loss. Now that determination in the WTO system has to be done by the WTO. WTO would actually investigate the dispute process, make a determination of what is the extent of loss and then you know give the country which is suffering or which has actually suffered the loss you know I would say instruments in this case tariffs of equivalent proportion to the loss that has been incurred. So this has to be worked out by an independent authority. Now the US has taken on itself to be the judge you know to to be the investigator to be the judge and ultimately the executive. So this is a fantastic world that we are in and we may think that you know is getting after China and there might be some you know a lot of people who are happy that China is being put in place by the Americans but we shouldn't be because you could be next in line. And if I remember correctly our current economic advisor had advised the US committee I think the congressional committee that we should be put India should be put under sanctions because it was violating under 301 act 301 provisions some of us so called intellectual property that the US has. Is that correct? Precisely in you know there was this investigation done by the US government investigator the US International Trade Commission which had done a thorough review what they call quote unquote of the Indian trade and investment policies where our chief economic advisor is on record of having advised the US government that India is a default and India needs to be challenged in the WTO so the American government should do it as soon as possible. So I don't think that American government is going to take note of the advice that CEA gave that India should be taken to the WTO I think they'll do exactly what they have done with the Chinese they might come with their own unilateral kind of declaration and then and in our case the situation is could be a bit more complicated because the you know apart from patents issue which we all know on the compulsory licensing and all the big chunk of American angst against us is about copyright enforcement. Now enforcement is a very very dangerous area and you know if our government actually sort of yields to American pressure and allow the Americans to ensure that compliance of IP is you know takes place in takes place in a you know in the way the Americans wanted that means a direct interference in the way we govern this country that could be the entry point giving police powers to the Americans within India. Absolutely I didn't want to say that so absolutely they have to enforce the laws yeah and and and so if that happens then you know we are down the slippery slope I don't think many people are recognizing that fear that we are actually we are sitting on a precipice and we need to you know sort of take cognizance of the dangers that are that lie ahead. Thank you very much Mr. Jit for being with us we'll continue to discuss these issues with you and other issues as well. This all the time we have with Newsclick today we will continue to watch what the United States does and what the Indian government's response is on the issue of trade and also look at what the other global players are doing.


Hi, I'm Neil Drum, a full-stack developer on the Drupal Association's engineering team. If you work with Drupal and are hiring or looking to be hired, we have jobs.drupal.org. There you can find great companies that are hiring, either near you or remotely. Or you can find Drupal talent to add to your team or project. Jobs.drupal.org is free for job seekers. Proceeds from posting jobs go to support the Drupal Association's work, supporting the Drupal project.