Well, hello. Good morning. Everyone can hear me. Raise your hand if you can understand what I'm saying. Okay, good. It's a good start. So today I'm going to be talking to you about PHP 7, which in my opinion is absolutely awesome. It's a really awesome job that the guys from the PHP team and the Zend company team have put a lot of effort into this. I think it's a fantastic job and I wanted to show you today some strategies on migrating systems and specifically with migrating systems for PHP 7. At the moment who's using PHP 7 in their job with production? So not that many. Okay, so who's using PHP 5 right now in their job? Pretty much everybody. Okay, so everybody hopefully will get some kind of value from this talk today. Very quick introduction. That's me on Twitter. So if you want to take any pictures of what not, that would be awesome and yeah, take some pics. These are a few things I'm involved in. I contribute to PHP, the new PHP website. It used to be really old and busted and now it's the new hotness as of a few years ago. I do things on PHP 5. PPI framework is a project that I work on and I organise a conference in Scotland where I'm from. So this is Scotland. It's made notice I'm not really South English, I'm from the UK. So this is a picture of Scotland, very typical. And yeah, some more random pics. And this is a picture of me, my three children. My oldest son, his name is Kyle. He wrote his first PHP script two weeks ago. He's five. So next one, Kyle. I think there's a camera there. So PHP, right? PHP is getting a lot of, what's the word? Steff competition, I would say, from other languages. Languages coming up, languages disappearing. Languages getting better, faster and slower. And PHP has been getting a lot of criticism from one way or the other, whether it's speed, whether it's usability, right? And also this is quite a picture that sums things up, right? So there's Python. Python's faster than PHP, so you should choose that. Ruby's got, you know, you can bootstrap things faster than Ruby. So yeah, but PHP 7, in my opinion, completely blows this away. So you've got another one, a book in one, right? So this is from the internet. Well, what happened? Can we put that down a little? Maybe? Can we put the lights down a little bit? Awesome, thank you. Okay, so yeah, PHP 7, right? Awesome to speed performance, and this is WordPress. This, for me, sums up everything you need to know. Of course, this is only one example. It's Mandelbrot Fractal, which is just an algorithm, some kind of thing. Doesn't really matter. The point is that PHP 7 completely blows all the other languages out of the water in this specific case, right? So I'm pretty excited to be here today and to share some experiences and to hopefully get everyone as quick as possible onto PHP 7. So this is a quick summary of what I've tried to do, tried to summarise what the talk will consist of in the main sections. So we're going to look at what will break, what potentially can break when you do upgrade, or if you do upgrade, how to identify and check the compatibility of your existing systems and to, is it compatible with PHP 7 and also identifying what needs to change in order to get there. Also benchmarking and monitoring, and that's pretty important. And we will see why once we go into the talk in more detail. Once you've got actually PHP 7 ready codes, the important part is about packaging that up properly and being able to distribute that around and deploying that onto systems that are, maybe you currently have live traffic on your production systems to disrupt that by potentially upgrading PHP 7. So it's about deploying things correctly from a code perspective and maybe from a database perspective. So these are a few things. There is basically all the details you need to know or on the PHP.net website. And this is a screenshot. So if you just google for migration 7.0 or whatnot, it's there. So everything else I'm summarising today, but everything you need to know should be there. So one of the most important changes in PHP 7 is behaviour. Some features were added, some things were taken away, but the most important thing that's hard to actually deal with is behaviour and if behaviour changes, that's not something you can just easily identify usually. But fortunately we can detect this. I'm going to show you how. PHP 7, we added something called an abstract syntax tree. Ignoring the underlying details, basically what that means is we put an intermediate layer between the PHP code that you write and the engine that actually parses it, allowing us to inspect at a very in-depth detail what your code is doing, how it's performing, what the data types are, what variables are doing. That's what that abstract syntax tree was the benefit that it gives us. So we inverted the logic of how variables are interpreted by the ASD and by the engine, and that's why I'm highlighting this to you today. So this is an example. All right? So looking at, ignoring the first line, but if you go to the second line, you'll see that the old behaviour, it would evaluate the right side first with the brackets, and then resolve that, and then whatever that becomes, like a string, then it would call that on foo. But now in PHP 7, it evaluates the left side first. So whatever, for looking at the second example, whatever foo bar, dollar foo dollar bar becomes, then it will call baz on top of that.  It takes a little time maybe to look at it for a while. Again, it's all on the website, so go look at it. It's important to know. We removed a few things, so your code will, if you're using the dash e modifier and preg replace, which is eval, which is like the devil, and you shouldn't use it, we removed that. That's completely gone now, and the recommended practice is to use this callback system. So if you're using that already in your systems, it's something to look out for. We also deleted this, if you are unfortunate enough to be using a system that's using this variable, it's being deleted also, so that will break. We also become more strict on using octals, dealing with octal values. You can see here, this becomes, in PHP 5, it becomes 375, and the reason is because 8 is not a valid octal number, because octal goes from 0 to 7. So 8 gets chopped off, and somehow that values are 375. In PHP 7, it actually says, 8 is not a valid octal number, so we're just going to throw a new error, so it's a good thing, but you need to be aware of it, because if something was silently failing before, it's not going to silently fail any further. It will just throw a parse error at the exception. There's new reserve keywords, so if you have anything in your system that's using these types of things, classes, objects, not variables, but keywords, these are reserved in the language, so you'll get a parse error. From a behavioural perspective, we added throwables internally, so now it used to get like e underscore warning, e underscore fatal, e underscore, whatever. There are no longer errors anymore, there are exceptions. Everything now inherits from a throwable interface, and we have this generic error now, and then you've got different types of errors, and the same with the exception, and then exception has different types. Okay? So, about compatibility, is your code ready, or is it not ready? How do we do this? So, there's a tool called Fan, so Rasmus Lerddof, the creator of PHP, he wrote this tool called Fan, PHP Analyzer, lose your hand if you've seen and heard of this tool before. Fan, okay, some of you, this is awesome, and it uses this new feature called this new abstract syntax tree to inspect your code, and identify the behavioural changes. You know all these things I identified before that I've changed in PHP 7? This tool will tell you if your code is doing that. Right, pretty awesome. It needs a PHP extension, and it runs out on PHP 7, because PHP 7 has an AST. So, you need the PHP 7 system, you need to compile the AST, it needs to come with the AST extension, and then then you can run Fan, which is just a PHP library. So, in order to get a PHP 7 system, there's two very convenient ways. Rasmus Lerddof, again, he created a vagrant system called PHP 7 Dev, and it's a vagrant image, and you just, it's a virtual machine, you just pop in, and it has loads of different versions of PHP inside, so you can easily switch between them. So it's very convenient. Also Docker, won't go into too much detail today about Docker, but Docker is a very convenient way to switch and use different versions of PHP on demand without installing anything on your actual computer. So this is what I've got on my machine. This is a Macbook. It has PHP 5.5, but right now I'm running Fan on all my code, which is using Docker. So this thing in the middle here is actually a Docker container. It didn't create, it got it from the web. Inside the Docker container, it has PHP 7.0, it has the ASD extension compiled and it has the Fan library built in. What I'm doing is I'm taking the code that's on my computer, like any directory, any project I have right now, I run up one command, it takes the code, it puts it into the container, runs the stuff and then outputs a report for me and the fan will tell you what is not broken. So I created this very, very small script on my computer and it's just called FanDocker. This is the Docker command underneath. Basically it takes the present working directory which is where my project lives, where I currently am and it puts inside the container to a directory, MountSource and what happens is when this container here by a company called Cloudflare, when it runs it's going to execute a script called RunFan and I built this myself. This is what it does. It's very basic. Again, this is all from the Fan documentation. It's really like, you know, Fan101 is very simple. But I, in my current directory I don't just have PHP files. I have JavaScript, CSS, I have images. So I don't want Fan to try and analyse all these things and take a long time. So I wrote this find thing to give me all PHP files recursively and file list. And then I just used the file list here and I do dash O to analysis.txt. So this is actually running inside the Docker container. All right? But what happens is because in the previous slide you see I done this dash V, it's called a volume in Docker. What that means is it takes my code and puts it in the container and if anything changes on my system it will automatically update in the container and vice versa. Anything that happens in the container will happen on my computer. So inside the container where I done dash O, analysis.txt put that back on to my machine. Did that make sense at all? Raise your hand if you understood what I said there. Okay, good. Docker is very difficult to explain if you've not heard of it before. So this is the overall picture. So I'll put this code on GitHub.  You don't have to install anything on your machine. You get PHP 7 and Fan. Okay, and this is just some of the analysis.txt, just the output file. These are some things that was coming up with on one of the projects I had. It's clearly weird and it's not PHP 7 compatible but it just gives you an example. Fan will throw out exceptions for all the things that are not PHP 7 compatible. All right.  When you get to the point where it is compatible and you can run a PHP 7 system the important part is before you'd make any changes put some monitoring in place some benchmarking. Now there's two main factors. We can use Apache Bench or we can use JMeter. Is anybody here use Apache Bench? Okay, and what about JMeter? Okay. But a little bit less of a JMeter there. So they are both different tools. I have a command here where I have two Docker containers running on my machine one's PHP 5.6 and one's PHP 7.0 and they are on different host names. All right. So I run Apache Bench. I send some traffic to my thing and I tell it to output to this PHP 5.out and PHP 7.out files. Now this is useful because we can put the .out files into other pieces of software and we can generate some graphs. So this is a Linux tool called GNUplot. GNUplot, well you see he down here is like PHP 7.out so we can actually create graphs out of the .out data on the fly. That's pretty awesome. They are two completely independent tools but they work very well together and as a result you know you just create your legends at x axis and your y axis and then you get something like this. It's just a PNG file. This example of course is like Apache versus engine X but you can see the same difference if it was PHP 5 versus PHP 7. So that's Apache Bench. JMeter is good, also has a GUI tool so you can set up JMeter to send traffic to your sites to benchmark the speed difference because before you actually say should we or should we not move to PHP 7, you actually want to identify what the difference is how much value is in actually switching. So this is just JMeter, one of the interfaces and you tell it there's a CSV file there so that could be like a .out file but that's the results so you just give JMeter a results file and then it creates more awesome graphs. So you can get more creative more analysis, more results and actually come up with if you're if this is in your job and you're trying to pitch to your business, to the business how much value they will get this is where you want to start before actually start moving over. Also in addition to this if you're in development or a staging or testing or production environment you have ELK also known as ELK stack and basically your PHP app sends stuff to LogStash and then that forwards it onto Elasticsearch and it stays in there as a database and then you have Kibana which is a dashboard for visualising data. I wanted to quickly show this on my machine so I have an ELK stack here I'm using Docker compose on my laptop I run this and I didn't install it on my computer but it's running it's putting up Elasticsearch and LogStash in Kibana and they're listening on some ports on my machine and now I have another tool here another tool that isn't running on Docker called weavescope hopefully this works so this is actually a tool called weavescope a weavescope is actually a visualisation tool for Docker and it shows you all your containers and it shows you the traffic between your two containers so I'm going to try and put up weave again if it works it'll be awesome but if not then fair enough, live demos don't really work ok so that's scope running alright so these are three Docker containers that I've spun up on my machine and it shows you the traffic between them so if I had a PHP application like another Docker container which is like a PHP 7 app you would see that can pop up somewhere on here and it would show you that it's speaking to LogStash and you see there's a line between these guys that's because LogStash is connected via TCP to that so this is an awesome visualisation tool for Docker you can run this on your local machine which is what I'm doing right now you can run this on remote servers as well so if you're using Docker on AWS or other systems and you're remotely connected and you can see all the CPU and memory this is free and you can download it on your machine so I just wanted to highlight that this tool is awesome also ok we'll go back to the slides but yeah I didn't install anything on my machine I just run one command and I had three different services running and I had a visualisation tool to show that it's pretty awesome right so this is Cabana you can create graphs out of the data does it for you but you get more rich interfaces so this is say you're on production right now and you want to start logging where your PHP 5 system is the response times every request how long it takes you want to set something up like this so that when you do switch to PHP 7 you can compare you can see if there's been a problem you can roll back if there's a bug that you haven't really fixed yet ok so so far part of this process we have a PHP 7 app maybe we have some benchmarking we have some graffing or we have some monitoring in place how do we actually get a code from on our laptops to production that's where continuous integration systems come in at the moment who is doing some form of continuous integration as in like testing using Jenkins maybe bamboo or something like that continuous integration is really just automation around running your tests any kind of test interface tests it can be unit tests as long as you have tests that's a good start and there's pipeline tools for this so what we do is typically we have continuous integration pipeline so what that means is we have different series of steps in our pipelines that do a certain task for us to check our code every time we make a change and we push to our repositories it will trigger a series of jobs to analyse and identify our code and there's ant which is a very popular one and also there's a PHP one called Fing anybody here using ant on Jenkins anyone using Fing a few more hands for Fing Jenkins has this thing called Job DSL which I want to tell you about so in Jenkins you have to manually with the interface go and create jobs and put right down all the code and all the steps inside that this is what it looks like so I have one job here called all tasks or you want to have lots of little small jobs this is awesome because you don't need an interface any longer to go around and click on Jenkins you can write code and you can say what will happen what will happen, what order and if it fails then it will stop and you'll get a failure so this is Job DSL this is actually Gruby script the language Gruby script but as you can see it's very easy to use so contains an education pipelines this slide is about if you have a pipeline already that just runs tests or tries to like does the home page of my application load port 80 and does the home page load does it rather than getting a 500 error and it falls over what I'm recommending is for a strategy is you do the same for PHP 7 and PHP 5 all right have them in parallel just because you're not switching today doesn't mean you will not want to switch to PHP 7 in the future or near or long term future so run them in parallel so every time you push to your branch you get the results for PHP 5 what you care about today but you also see for the future have I broken something for PHP 7 so this is kind of where I'm going with the rest of the talk is you want to run them in parallel you want it out it's called running parallel pipelines all right so first step of your pipeline we have prepare preparation of the environment run some tests if the tests are good and we say that our software is okay we package up that code and then we deploy it somewhere it could be a staging server or a testing server or a production server for that brave so the prepare step is usually something like this so if you go on some unit tests again you do the same in parallel so if anything PHP 7 breaks you'll know about it in the background so just keep that in mind then we have tests so usually the testing phase of our software looks something a little bit like this lots of different types of testing here from unit testing to PHP spec to B-hack to code-ception to interface testing with MINT Selenium so the packaging phase is very important there's two methods of doing deployments you can either tell a remote server just to pull down your code and update it but the problem with that is if you pull down code on a testing server run tests and you see the code is good and then you tell it again to pull down the code on a remote server there could have been a change say you're pulling from a branch say the branch is called versioned one and on your testing server go back one on your testing server you're testing branch one and it's good if you just connect into a remote server and do git pull or subversion pull or whatever someone could have pushed to that branch and you were not you've no way for you to know about that so that's why doing pulling down code on the end server is not a good strategy and that's why packaging is important tools to do packaging with so we have the basic which is actually one of the most stable because it's the simplest which is just really creating a zip of all your code or a tar or a G zip or whatever compression you have and then you can r-sync that to any server in the world that you have a connection to alright but the important thing is that you're taking your code that you tested and you know that this code is solid and it's really really working really well and you move that to any server alright that's really important other options we have Artifactory, Artifactory is used more so in the Java world anybody here used Artifactory? okay a few hands, Artifactory is an awesome tool really it's just like a storage storage tool and you just push things into it and then you pull things down you pull it on from whatever server you want so it's just like a push pull mechanism another very solid option is that once you create a tar of your code or a zip of your code you can use Amazon S3 is anybody doing, is anybody pushing any of their code to Amazon S3 now? okay not that many Amazon S3 is cheap, it's affordable but the important thing is you only need to if say you have 10 servers and you want to update your code on 10 servers you don't have to push your code 10 times you can push it to one central location S3 now let's say that your code is not just in one country or region let's say your product is you have servers in Singapore and some in Germany and some in America then pulling your code down from Amazon S3 which may be hosted in like the United States will cost you lots of money because you're taking it over regions this is where you put a CDN in front of it the CDN the point of a CDN content delivery network is it detects where you are in the world and Amazon will just distribute the code to all your S3, your code to all the regions in the world that makes sense and then whatever server pulls that down it will be the closest server to that so that's why you can also not just take advantage of CDNs for the users like serving them to see images and stuff but you can also do it for yourself and that means it's faster and it's cheaper so that's a good point also if you're using Docker again it's like Artifactory Docker is a Docker registry it's a central location and every time you test code and you say this is good you package it up, you do a Docker build you build it up and you push it into a registry and then on any other server on the internet you just do the Docker pull very similar to Artifactory GitLab is free it's open source, it's an awesome tool also has a storage feature just like Artifactory so you don't need to pay money for S3 because GitLab has a building so something you can think about as well anybody here using GitLab yeah, lots of hands, awesome so once we have code and we've packaged it and we've chosen the tool kits we like chosen what makes sense for us this is more a picture of a more solid pipeline all right? I give a git review over here a developer does a push, he pushes code and then it executes tasks you do your tasks like I was saying whatever tests make sense for you and then you run jobs there's a job and it's doing lots of jobs and it's testing your code and inspecting it running fan, running PHP unit, running or whatever and then it will package up your code and this is where your artifacts go so you create an artifacts here and then you just take your artifacts and put them in this little box and then you just put them to any server you like once the artifact is there it has a unique name you can put it anywhere you like you don't need to start doing git pools on all different servers package it up and then it's a redistributable thing and it's solid and then you can go put it on a QA server for testing or staging for security testing for example before you do production so deployment now that you have your code and it's packaged up and you're happy with it and you want to start pulling it down you can use Ansible which is a really good tool it's not the greatest tool but it is pretty good Ansible you can have a list of servers that you want to manage and you say okay run this command on all these servers and it can use this rsync so it can connect to a central storage server that you have running a hard drive on the internet somewhere and it can just start rsyncing and pulling down your tar file and unpacking it so that's a good strategy also we can use rpms or dev files which is also very solid so you can do apt get update install or yum for example on centos and so this is also a very solid way to package up your code and put it into versioning systems so rather than just having tar balls flying around you can actually create rpms out of your code pull from artifactory pull from amazon s3 directly or you can pull from the cdn again I was saying it's probably cheaper and faster docker very interesting get lab storage here's some more tools for using capestrano is a good tool has some drawbacks but is anybody here used capestrano more hands awesome there's also something called webestrano which is an interface allows you to see history and manage your deployments so I recommend you check that out if you're using capestrano right now go check out webestrano it's built on Ruby and Rails again but it's a pretty awesome tool it uses docker underneath but it's an orchestration platform built by google that they donated to the linux the linux foundation like the open source community driven linux foundation and now the guys are taking it on so cubanates is absolutely awesome and has a lot of features very very good features also in comparison to cubanates you have docker swarm docker swarm is how you manage your code you have a docker image package it, you put it in the registry and you say I want these 1,000 servers to have the copy of this code and docker swarm will do it for you so cubanates they do things differently but it's the same there's another awesome tool called salt stack anybody heard of salt stack before okay who said a puppet or chef more hands this is better than them and it blows that ansible out of the water salt stack out ansible is not very good because you need port 22 open you need ssh, you need a login ansible just use ssh keys to login to the servers as you and then start running commands on them salt stack ansible salt stack doesn't even use port 22 so you can just like don't even have that port open so it's more secure they're called agents and little agents they sit on all your servers and they have a central salt stack server called a reactor or something like that or a master and it communicates in real time with all the agents and all your servers and it knows what's happening it knows if they're under lots of ram or what not it's really awesome technology so I do recommend you check it salt stack if you're using chef or puppet or ansible go and check it salt stack also it's yamol syntax so it's as powerful as chef and puppet you need to write Ruby code you can use yamol so it's powerful like yamol like ansible but it has all the awesome features so I want to highlight some salt stack there so there's two types of deployment strategies I want to highlight today we have plugin deployments and rolling update deployments so this is basically you have PHP 5 running right now on production and you already have PHP 7 code that you've packaged and you want to update your servers but you don't want zero downtime right? I'm talking like milliseconds you don't have to bring any servers down and then bring up PHP 7 systems like literally no downtime okay who here has heard of plugin deployments okay this is plugin deployments alright plugin deployments is this is central like a load balancer alright and the blue one is PHP 5 in production it's working what happens is we get green and green is like the new guy alright and what we do is we put green into production and internally or under the hood we're not so there's a load balancer and load balancer sending traffic to all your blue all your blue servers what we do is we put green ones in there and we test them we put health checks in them to make sure that you can ping them they respond to hasted dp 200 ok the home page is loading also we can be a bit more in depth and use smoke tests so smoke tests are who's heard of smoke tests okay smoke tests are basically tests that don't like it pretends to be a user but it doesn't do anything important it's can I go to the home page can I click on the navigation can I log in can I update my profile but it's not going to be doing things like can I buy ecommerce items can I go to the shopping can I buy things right that's going to like do real money things because it's a real production server so what you can do under the hood is this new PHP 7 environment that I've loaded I can do more tests because once it passes the smoke tests then it flips a switch like that alright so the blue becomes the green and the green becomes the blue and then what happens is you have monitoring in place with that elk stack the elastic search logs-cabana and you monitor that and if the green one is good that's fine but all of a sudden if the new environment PHP 7 environment is actually causing problems you're getting errors you're getting exceptions in your logs you can flip the switch back you see so that's why we have blue and green alright you've got the new guy you have the guy on backup he's on standby and then you just flip the switch back and the load balancer will stop sending traffic to the old guy and it'll switch it so that makes sense so that's blue green deployments now we have rolling update deployments this is how you get the zero downtime because when you flip that switch with the blue green deployments there is a problem that could happen switching everything to the new so it's more risky rolling update deployments is something that's built into Kubernetes or who's here using AWS Amazon web services keep your hands up if you're using elastic beanstalk under the hood elastic beanstalk is a system that has a load balancer and it has all your servers underneath and if you push updates to one of the servers it does this rolling update system under the hood so rolling update is this what it does is say you've got three servers running in production right now what it will do is this is a load balancer it's sending the traffic to all three of your servers because they're all PHP 5 but when you say do a rolling update with PHP 7 it will take the middle one and it will take it out of the load balancer it will say I am no longer giving you traffic because then we're going to perform a rolling update on you it will upgrade PHP 7 it will put PHP 7 it will pull down your package your code and put it on there then you can run some health checks you can run some smoke tests, you can do whatever you like there's no more pressure you can see when you're ready and then when you say I'm ready it puts it into the load balancer and he's getting PHP 7 traffic and then it moves to the next guy and does the same so then you'll have one PHP 7 and then if you do the same it will have two PHP 7s but you still get the PHP 5 and if any of these failed or health checks you can flip the switch back so things like Kubernetes, Amazon Web Services they do this for you by default but you can roll your own there's lots of tools to do this so that is rolling updates and they're more safe because if the PHP 7 won't start failing at least you still have PHP 5 once still there serving traffic and it's not like flipping a switch and everything's there does that make sense? so that's two by two deployment strategies next and finally so if you have any questions this is probably the last slide so if you have any questions I think there's microphones so feel free to stand up and go to the mics this is a tool called Ghost and GitHub built this has anybody heard of this? it's G H is there a name here? no it's G H dash O S T has anybody heard of this before? okay this is awesome GitHub just announced this open source like last month they use it in GitHub to do migrations in all your repositories with zero downtime and how do they do it? see you have a database migration on a production server and it's going to take one hour to execute or it's going to slow down it's going to slow down your queries because you're deleting columns or you're adding data what Ghost does it uses replication and it's for MySQL by the way it's so smart so this is your current server in production this is where your customers actually getting the data from it creates a ghost table it creates a master slave relationship and this is called the ghost table the ghost table is here it's a replica and MySQL keeps masters and all the slaves in synchronous by using binary logs so it uses the binary log to update so what it does is it clones your current database and it makes a slave out of that and then runs the migration on the slave and it will do that and it will stay there forever until your migration is finished and then when your migration is finished and the binary log is synchronised so the slave is fully synchronised with the master it will flip them back round so therefore your migration the thing you're doing your migration on it's doing it in the background with zero downtime when ghost says ok the ghost table is now the most up to date one it will flip the switch and then the master will become it will go away and the new replica will become the master did that make sense this is awesome technology and it's really good and that's what GitHub have been using this whole time and they've just open sourced it so I do recommend you check that out as well I'll just quickly go to the internet in a sec but yeah I think we're done hopefully you got some value from that the slides will be online so check twitter I'll put the link up and all the things I mentioned all the tools and technologies will be there so I hope some of you got something from that and yeah thank you for your time alright thank you Paul hi everyone I don't know if all of you have been here yesterday but I'm Sherry I'm your emcee for today any questions for Paul you can just speak out loud I can probably hear you or you can meet him during lunch and ask him all the questions you have hi so the question was Amazon S3 is it just for static files like images and stuff or can you put serve PHP files from there you can't serve PHP files from there because it's just it just gives you what you ask it for so it's just like a CSS file right so you can actually change that but exactly you need a server you need engine X or FPM or Apache to actually take the PHP and run the PHP engine and give you back whatever you want the example with S3 was you take your code and you create a zip file or something and then you put it on S3 and then from any place in the world you can just pull that as long as you have the correct permissions or use the CDN in front of it anyone else that has questions there are mics at the back so just head up and no one this is the tool I didn't put the name on the slide I just wanted to wrap up with that last slide there this is GitHub ghost it's just been open sourced and it's already got that many stars and this is ghost so that was that just to wrap up and I'll tweet the slides so you can get all the reference on all the materials thank you thank you Paul now let's invite up our next speaker Timothy Chandler


and oh snap is who I'm gonna talk about first. Amazing. These people have hit it out of the park. There's just no two ways about it. You may recall me talking about this last year at the show. They put an oh snap on my machine, on my iPhone. And then I wanted to film them putting it on an iPhone case to show how easy it was. So Dave offered up his phone so he could then take it a few feet away and take that thing off his phone. And it remains on that case to this day. Although it's in his son's possession, we visited the oh snap booth earlier today. Boy do they have some neat stuff. They have now the snap for Lux, which goes right on. It's MagSafe, but it's Uber strong. It's about as thick as a nickel. It will charge, your phone will charge right through that little pop socket. And the oh, yeah. I wanna take a second and just make sure people understand because if you don't. Basically, for those who know a pop socket, that's what oh snap does. Except it's super thin and you can charge through it.  It does. It's awesome. And there's all kinds, there's little video on their site that it's worth going to look at because there's so many ways you can hold the phone now. You can stick your finger through the little grip that it has that comes out. It makes a perfect kickstand. It's super durable. I love it. Everybody got stocking stuffers. This Christmas from oh snap. And they've got some other stuff coming soon. They've got a wallet coming and they've got some mounts. So oh snap.com, these things are not cheap, but you get what you pay for. These are quality products that are super durable. I gotta say, the other thing that I thought was the mount for the grip looked a little plasticky and flimsy. And I thought it would last a couple of weeks at best. The initial, yeah, the one we got last year. Yes, it still works great. And oh by the way, I actually stood on mine and scraped it across the concrete deck and it gouged it a little, but it's in perfect working order. Hey Pete, don't do that again. I promise. Okay, great.


The conversation is different to Alameda in the sense that they're evidence-based, they're written by academics. You can start with one issue and then you can follow through to a paper that it's referring to. And you can actually analyse all those topics that are presented. As a researcher it was very important for me to have control over the quality of the output. What is the truth of the situation and in whom do you trust? That's I think a pretty important role that will require privates and nations to keep going.


Tom here for more systems. We're going to talk about XTP and G 8.1 and Zen Orchestra 5.45 These two updates both came out today same developers put both of this together and there's some major cool updates coming In this version, especially this RAM stuff. I want to have a demo with that That's kind of fun. If you want to learn more about me my company head over to Lawrence systems comm You want to hire short project or say hires button up at the top We like to support this channel in other ways just some affiliate links down below that gives you deals and discounts on products And services we talk about on this channel Major highlights ramen able backup support. We were playing with this and my staff was like wow That's really cool, and it is a pretty neat We're gonna when you do the demo of that but what you're able to do with this is grab a snapshot of the VM in a running state Not just the hard drive of course, but the memory to restore it even to another machine and Have it not boot up but start in that same state So it's kind of like frozen in time backed up and Reestablished in that same running states even if it's on resort on another machine or just you know rolling back from a snapshot So you don't even have to reboot you can actually just revert back to that running state kind of interesting that they've made all that work and it's cool to see in One you see it running. This is something that's gonna make a lot of people happy new hardware support for the AMD Epic processors is Coming well built in they've been adding it, but there's still more I know there's a few other like the rise in support There's some quirks with it that people have commented they need your help the developers need help in order to find those quirks You have to let them what they are they have forums for xcpng So head over to their forums and join the discussion if you're one of the people that have one because well as developers They may not have every processor combination to try now But they have worked on the epic ones, but they're also working on some of the rise and stuff And I'll be talking about that a little bit further down here as well Ext4 is now the default if you didn't know when you're setting up a local file system It was defaulting to ext3, but you could up you could change it to ext4 now. It's ext4 by default, which is great Alternate kernel There's a bunch of parameters for some alternate kernel options And this is also to help you when you have systems that just don't want to boot with the default kernel And you can look through and it also allows you to at least get it loaded and figure out what some of the Challenges are and then once again report to them and their forums, then they'll help fix the main kernel Now XFS experimental XFS local storage report is still available through the SM additional drivers ZFS is available as an additional package So I think I've talked about that in the past where you can load these if the hard drives are passed through and build a ZFS array You build it up from the command line and then you can map it within Zen Orchestra and use it for storage Installer improvements for Xcp and 8.1 our installer now offers a few options BIOS mode access them But f2 in order to choice you have five mode Let's see the booted entries first new boot option the boot installer with 2 gig of RAM limit instead of 8 gig default This is a workaround for installations where hardware were rising CPUs Those are desktop class CPUs not officially supported in a hardware compatibility list But they tried to make it easier for work around for the installer crashes on rising issue Second new option to boot installer with alternate kernel kernel alt the kernel built maintained Our one for the team based on the main kernel with upstream kernel patches from the LTS branch applied. This is very very stable Construction, but it receives less testing. So once again, this is just a few things on there now as far as upgrading your system in place Xcp 8.1 is a minor upgrade from 8.0. So you can do a yum upgrade in place We actually on our lab system here. We're running it in beta When I loaded the beta, then we did upgrade to the full and it went perfectly fine I haven't updated all of our production systems and all of our client production systems yet That's usually something we reserve for weekends a weekend projects Depending on how they set up If you want to know what the install looks like when you put the alternate option This is what that is and yes, I am running the installer Installing Zen inside of Zen if you ever you can play with this just you know, it's not ideal I wouldn't recommend this at all for production But if you turn on nested virtualization, you probably could get I didn't try going through the full installer I just ran the Pulled the boot installer up here, but it does have nested virtualization and Xcp and G I don't know if it'll let you double nest this or not But not to get off topic These are those options that come up for the alternate kernel and things like that Just like they said press F1 for standard F2 for the advanced options to be able to see these There's your standard installer F2 brings up this one in here So these are some of the options you can do when you do the install Now let's run down the list over here that sends an orchestra and it's like I said the same developers You kind of get a combination of things So this is available the raminable backups You do need the latest version of Zen orchestra to take advantage of it So it's combination of Xcp and G and Zen orchestra both being on the latest and I did the compiled one I recompiled it today just for doing this demo, but of course if you're on the paid full version This is all just part of the update channel. You can get all the Zen orchestra proxy They have the destination storage destination network. They've updated this more So this is really cool for doing a proxy deployment. So I'm gonna do a video on that at some point But not yet audit log integrity checking I've talked about the audit log when last time there was a new version that orchestra So they've enhanced that even more backup list for each VM. This is neat. So here's the server New tab added so you can see when was the server last backed up for that particular VM and each backup related to this particular VM will be listed right here So you maybe have more than one backup schedule one weekly one monthly, etc They'll all be listed right here when I think that's pretty slick the way they have that Go down over here Migration enhanced migrate VDIs from the storage view So if we wanted to move we'll go back here to the disc we have this And we can migrate all of them to one of the other VDIs just like that. So it's kind of nice that they have this option done here. I Thought I've seen it there for a while But I maybe it's because I'm always running latest beta versions on there But it's nice that you can do that from there and I've done it before just to move it So migrate VDI. I guess it's the migrate all VDIs must not have been there before But it makes it easy so you don't have to go and migrate and find the disk You can migrate it right there migration network You can now actually set a migration network when you migrate a VM even within a pool And this is handy if you've got maybe a storage network that's faster versus the main network you're interfacing on So now you can choose which network interface on the machines that you want them to talk to each other on maybe Because you have a 10 gig back-end interface, but the front interface is only hooked up at one gig But those are options that you can do now better licenses They've updated the way they handle the licenses and the way the purchaser because of the way they have the proxies So they've got that in here So they have a couple different ways to handle it and they're gonna make this a little bit easier to handle the licensing But the part I'm most excited about that.   Well, I guess this one's broke. So let's go ahead and Force shut down this machine and please note that the snapshot was done about 30 minutes ago We're going to and this is a normal snapshot this snapshot with memory So we get the little memory icon right there. So I'm gonna go ahead and move myself all the way so you can see what I'm doing and Revert to this snapshot. We're not gonna snapshot before I just want to revert to it from the snapshot from 30 minutes ago with the memory So Gonna take a second to refresh here is pushing the memory back in and undoing my RMR f-ing and We're gonna log back in. I wasn't logged in. Why did the snapshot? The files are all still there And up time So up 33 minutes. That's impressive. So for demo one more demonstration on this So let's restart it real quick. So we have a new fresh up time on this All right, and it is booted back up. Yes, these boot fast. It's on a nice fast connection in our lab here There's a couple files that I have in here. It's booted up, right? So we're gonna head and purge this particular snapshot We'll do a new snapshot with memory. All right. Create the checkpoint on here And we can see up time right now That's been up for one minute and we'll just go ahead and our arms stars want to get rid of the files are in this directory So there's no more files in the directory here But let's go ahead and now restore it to its State right here. So we'll actually shut it off Shuts down go back over to snapshot and do the same thing again. We're just going to go ahead and run a restore on it so Go ahead and revert don't snapshot before and it's going to go from a shutdown state To reverted it's pushing all that in there if we look at the tasks. It's Pushing the resume volume async resume VM There we go and there's exactly where it left off in the status and everything else and Because it realizes it's up. It's updated the uptime It's been updated for uptime for a minute just like it was so it's a perfect snapshot Even if you're running applications everything that's running in a background It's grabbing all of those and putting them in and this is a really impressive feature that I think they added so kudos to the team that put this all together so they could You know all this open source 100% free and this is a lot of good hard work that goes into making this work Is what it was fun is migrating live machines and you know, you the ability was there adding this little feature So we do the backups this works now. Where's that at in the backups? Let's go here if we go to edit one of these backups you go here to advanced and Backup mode with memory when it takes the snapshot you can actually have it doing this and then when you restore something from backup You're still able to push it in there. So some really cool features on there Once again 100% open source 100% free you can get all of the files and downloaded So I'll go ahead and start playing with it. And of course I've mentioned this before if you need any support from their team You just go to their comm they do sell full support packages for both xcp and g and For there's an orchestra if you wanted by fully supportive ones in a commercial environment They do offer that the comm is for the commercial the dot org is all the open source, you know, where you just get community support and But I highly recommend trying this out. It's wonderful for building out your home lab But it's also great for working in full production. We use it in production here We have a lot of clients that use it in production. We've seen some very large scale systems They're using this that's questions.  Well, isn't it's just some toy It's a very solid commercial product and uh, it's impressive every Update even though it's only a point release is really impressive all the extra features that I keep packing in here and adding on to it All right, and thanks And thank you for making it to the end of the video If you like this video, please give it a thumbs up If you'd like to see more content from the channel hit the subscribe button and hit the bell icon If you like youtube to notify you when new videos come out If you'd like to hire us head over to laurance systems.com fill out our contact page And let us know what we can help you with and what projects you'd like us to work together on If you want to carry on the discussion head over to forums.laurancesystems.com Where we can carry on the discussion about this video other videos or other tech topics in general Even suggestions for new videos. They're accepted right there on our forums, which are free Also, if you like to help the channel out in other ways head over to our affiliate page We have a lot of great tech offers for you and once again, thanks for watching and see you next time


Good morning, everyone. I'm Lori Gagné, retired director of the Edmundyte Center for Peace and Justice at St. Michael's College in Burlington, Vermont. And I have the great honor of speaking today with Mazan Kounsia, who is a Palestinian scientist, author and activist. Mazan is the founder of the Palestine Museum of Natural History and the Palestine Institute for Biodiversity and Sustainability at Bethlehem University, where he teaches. Our conversation today will cover a range of topics from Mazan's personal story to conditions in Palestine today, to his vision for the future, to the work that he does at the Institute and probably most importantly what we as Americans can do to support the Palestinians in their struggle for liberation. Now, before we begin, I have to say that I am really thrilled to be taking part in this conversation with Mazan today. This is the second time that we have met. The first time was in the West Bank in 2018 when I was part of the MetaPeace team. A group of us had a day off and so we went to Bethlehem University and knocked on his door, and he was most gracious and gave us an impromptu lecture, which we all later agreed was the most uplifting thing that we had heard when we were in the West Bank. So I'm really happy to be instrumental in getting his message out to a wider group. So Mazan, let's begin with your personal journey. I would say that you've had a really interesting life trajectory. You were born in the West Bank, you moved to the United States, where you had a distinguished career as a geneticist and evolutionary biologist teaching at places like Duke and Yale. But then in 2008 you came back to Palestine.  Can you tell us about the turning points in your journey, like why you left in the first place and then what precipitated your return? Thank you very much for hosting me and I look forward to a good discussion and really it's an honor for me. I was born in a small village called Beth-Sahur. It's a shepherd's field where the shepherds basically heard the angels saying told them, prompted them to go to Bethlehem where Jesus was born. And my family is a family descendant from those people who lived here 2000 years ago on this monumental event supposedly took place nearby. The history of my childhood and my growing in Palestine under Israeli occupation, of course, which we can come to later, but it prompts like everything else when you have injustice. In North America, for example, growing in the era of the 1940s and 50s and the lynching and all of this stuff. Many of them turn to activism and I turn to activism also. For us, it was for us also in a colonial situation, of course, being present on our land is a form of resistance, getting education is a form of resistance, so we are all considered resistors. When the colonialists wanted to change this country from a multi-ethnic, multicultural, multi-religious society to make it the Jewish state of Israel. Anyway, as raised here, of course, I started aspiring and many Palestinians got education under these circumstances. They turned to education because it's a form of empowerment. So I went and got my high degrees bachelor in Jordan master and PhD in the US and then as you mentioned I went into other areas. I did postdocs and genetics and medical genetics and then I worked at the University of Tennessee Duke and Yale. But while working in those prestigious institutions, I was also engaged in political activism, human rights work on many areas, not just Palestine, including even on South Africa, et cetera, apartheid systems and so on. And then I decided in 2007 to start moving back to the West Bank and I did move back here in 2008 to Palestine. Why did I move back? Well, it's because I felt I would be needed more here than in the US. The US has, you know, I was active in the US as I mentioned and human rights issues, but I felt that I could use my time better here and the US has been moving in the right direction. In my opinion, since I first went there in 1979, the US has changed, and there's more activism groups like the one you have in Vermont and other groups that are doing more activism for human rights for justice. So I felt I fulfilled my role in the US and time for me to go back home and stay with my elderly mother and all this stuff, you know, and it was the best decision I made in my life. Economically, it was terrible course because I lost six figure income went down to a three figure income or sometimes zero figure income. But it was a very good decision in my life. So, so that's why I moved back. Okay, well, having left and come back, you have a kind of unique perspective on the situation in Palestine. Can you talk about the change in living conditions under the occupation, particularly in the West Bank, but in all of Palestine. In the last 50 years or so, like, maybe you could compare what it was like on your return in 2008 with what it was like for you as a boy growing up and then what it's like now compared to what it was like 14 years ago when you returned. Yeah, when I was raised as a child under Israeli occupation. I remember even Israeli soldiers beating my father for no reason that's whatsoever only because he refused to obey their orders to clean the street so to speak. When I was a teacher and his dignity was, I didn't make the street dirty with these stones or whatever. Why should I clean them, and they beat him up for challenging them basically. And from then on, these childhood memories to the events in the past 13 years that I've been back here. There was a change of course, sometimes for the good sometimes for the worse, but colonization is seems to be the constant still here were not free yet. We have. I mean in brief I don't want to make this a history lesson, but in brief we have 14 million Palestinians, about 8 million of us are refugees or displaced people that's two thirds or so. Living in refugee camps inside Palestine or living outside the Palestine like Jordan, which has about 4 million Palestinians or Lebanon or Syria, or Egypt or even the United States which has 300,000 Palestinian refugees. The refugees are dispersed around the world. Palestinians are refugees not by accident, or anything else. It happened by a meticulous process of ethnic cleansing that we in our language we call neck belt catastrophe, which has been going on for the past 73 years since the founding of the state of Israel. And the reason for this neck belt for this catastrophe for our people is that Israel, as a state was founded based on a vision, the vision of Zionism was Jewish state in Palestine. You know when, when the Zionism came about in the 19th century. And then led by guy by the name Theodore Herzl out of Vienna, Theodore Herzl sent two rabbis to Palestine to see what it's like and whether it's suitable for a Jewish state. Two rabbis before they sent their full report to Herzl, but after they visited the country they sent a telegram to Herzl. The telegram simply said, the bride is beautiful, but she is married to another man. In other words, the country is beautiful to become a Jewish state. But there are people here, what are we going to do with these people, and Herzl and all subsequent Zionist leaders had to contend with the fact that this country was not empty, a land without the people for a people without the land as I repeated, but was heavily in, inhabited by indigenous people and that to make it the Jewish state and bring Jews and converts to Judaism from around the world and make a Jewish state of Israel, ethnic cleansing had to be done. And this process didn't stop in 1948 when Israel was created as a state. It actually accelerated after that and continues to this day. And we that's why we have this refugee population. This is the crux of the problem. This is the etiology of the problem as we say in the medical field. Diagnosis is basically settler colonialism. And this diagnosis has many symptoms which we see. And in the last 13 years, for example, we see things like home demolitions, killing of Palestinian children, thousands of Palestinian children were killed, just in the past 10 years, and so on and so forth. Building walls, building colonies on stolen Palestinian land. All of these things happen regularly, and we see it, and it has not changed since 1948. So that's what we observe in the period that we that I witnessed in my life and I, since I came back personally I lost 21 friends of mine who were killed by the Israelis. Not one of them was armed, you know, or resisted whatever in armed resistance, they were either participating in demonstrations or at the wrong place at the wrong time, their homes was demolished on top of their heads or things like that. So, this is my own personal experience and I can tell hours and hours about this but you'll get the picture. Right, so it's your understanding that that Israel hasn't gotten necessarily more brutal and more aggressive in the last 50 years or so but is just continuing this very aggressive kind of colonialism that it's had since the beginning of the country. Since Palestinians began to be displaced. Okay, so, well let's talk about your vision of the future. In one of your books, popular resistance in Palestine. I would say that we have to give up the old roadmap for the future, the old roadmap for peace which is the two state solution, and take up a new roadmap which is combining human rights with a struggle against apartheid. You started to talk about that in your last your last response but could you elaborate on that statement. I mentioned earlier, what I call etiology or diagnosis in the medical field, being settler colonialism. It is important that we agree to the diagnosis before we over therapies or what we call prognosis future. What's going to happen. If we don't agree on the diagnosis we have a problem. You know if somebody is sick and and the doctor diagnosis correctly as cancer, they can offer the right therapy but if the cancer has symptoms like anemia and headaches and so forth. And we just diagnosed the symptoms and offer aspirin or blood, you know, enhancements. That's not going to cure the cancer so it's really important to make the diagnosis. Once you make the correct diagnosis which is settler colonialism. Based on the facts and the figures I mentioned, 8 million refugees out of 14 million that are cities living in Bantustans with the two sets of laws one for Jews one for non Jews in this for the people who remain in this country, etc. Then, once you make the right diagnosis you look at therapy. So design therapy and how do you decide on prognosis. Well it's very simple as in the medical field we look at other situations, other patients if you want and see how they recovered, or how they dealt with. Now colonialism has one of three possible outcomes. The outcome of Algeria were 1 million French packed their bags and went to France. I don't even say back to France because some of them were six seven generations in Algeria some of them have never seen France and their lives. This ended colonization Algeria, but it was very bloody at the cost of some 2 million Algerian lives and some 150,000 French lives. This is one possible scenario second possible scenario for colonialism is what happened in the United States and Australia, which is a genocide of the native people tried genocide. And leaving so few of them that they are quoting what manageable. That's that's also a scenario but both scenario one and scenario two are very rare. The third and only other scenario possible is the most common scenario found in over 150 countries on earth like Latin America Central America, you know, Caribbean islands Cuba, Mexico, etc. North America you find it in Canada and Mexico you find it in Southeast Asia Philippines Malaysia Indonesia Taiwan, etc. You find it in South Africa after random apartheid. That scenario is coexistence basically descendants of the colonized and descendants of the colonizers living in one country. These are the only three possible scenarios and based on probability alone, the outcome patient outcome scenario three is the most likely scenario to happen in this case in this particular patient called Palestine or Israel or whatever you want to call it. There is no to state quote unquote solution per se. I never heard of colonial anti colonial situation that ended up in a real to state that may happen interim. For example on the US signed agreements with the natives to allow them to be independent nations in particular areas of the country. But that is in terms of things that never last. South Africa also tried to do it with what's called the Bantu stands, which means the countries for the Bantu people creating states within a state. That doesn't happen. It cannot last it's just a temporary bandage on a bleeding artery basically it doesn't help very much. So, so what we need to look for is coexistence based on human rights. And that's the third scenario because none of us really want the first or second scenario here. I'm sure the Israelis don't want Palestinians don't want the first and second scenario the Algerian scenario or the genocide scenario. I mean there's always some individuals who want it. Some Israeli leaders are calling for the genocide of the Palestinians to end this problem, so to speak. And, but, but again, you know and then there may be a very radical few Palestinians are calling for the Algerian model but the vast majority of people here don't want scenario one or scenario two they want scenario three, which is a country with citizens and that's what will happen and is happening as we speak whether Zionism colonialism once it or not. It is happening between the river Jordan and the Mediterranean. There are currently six and a half million Palestinians of various religions, and there are 6.1 million Israeli Jews. Actually majority who are not Jews, but even a bone from the 6.1 million Israeli Jews, many are anti Zionist or post Zionist post colonialist post Zionist. The vision that you present is certainly rational. And I think that it's one that all liberal democratic people can support. The problem is that the two parties in question, despite your optimism about their acceptance of it, certainly aren't accepting it right now. The, the Israelis are entrant agent about having a Jewish state, which means that Palestinians, you know, can't claim the land of Canaan, as there as partly theirs anymore, at least not in that area. And even the Palestinians, some many of the Palestinians who are part of popular resistance whom we met back in 2018, we're still speaking in favor of a two state solution. And I remember after we met you and we heard your impromptu lecture we went back and talked about one state with human rights and, you know, multi ethnic and all that, and they, they resisted and these were Palestinians. So, maybe we could, you know, first focus on uniting Palestinians behind your vision. Let me talk about both areas. And now I don't necessarily believe there are two sides to this conflict so called Palestinians and so called Israelis. But first of all, I mean we're all human beings of various religious and political backgrounds among Palestinians. There are various political factions and ideas for the best forms of government that are communist that are Islamists that are, you know, a secularist that are all sorts of ideas. And then on the Israeli side there are many, many ideas and some ideas, I would say, from some Israelis are another guest to some ideas from some Palestinians, and vice versa. But let's talk specifically about this notion of two states. This notion of two states was originated, not by the Palestinians and not a single Palestinian supported two state solution before 1993. I challenge you to find me one Palestinian voice that supported really two state solution before 1993. The idea of a two state actually came from Bangorian in 1920s, and Bangorian became the first Israeli prime minister after 1948. But his idea of a two state was not a real two state was a virtual two state where we just talk about two states endlessly without actually implementing them. Because he was asked about that in private meetings with the map on, or in his letters to his son, or in his diaries he explained that we need to be talking about two states, and we need to show that we really want two states, but not implemented because it shows that we want peace and so on and we are willing to split the land with the native people who lived in this land before we came from Europe to colonize. This is his view in the 1920s. This is a good public relations campaign, and many Israeli leaders right wing left wing Zionists, they all claim that they wanted two states for you all if they want they wanted. They have the power to implement it. They've always had the power to implement it from 1948 till today and so they are not implementing. On the Israeli side, these so called support for two state solutions not really genuine. And I challenge you to find Israeli leaders who accept to sovereign states not state in like an apartheid system where there's no control over natural resources or air or water or anything else. That's not the state that's that's a ban to stand. If you find such leaders I would like to see them. I don't see them I don't see their statements in support to sovereignty or recognition of the rights of Palestinians to their own land. Among the Palestinians after 1993. I must admit there were some delusional Palestinians who do not read history, who just look at the strength and power and that the US supports Israel. There's no way to win by struggling for our independence for our freedom. So we might as well accept whatever the international so called international community, represented by the US which dominates while the pairs. And that's what the United States wants us to do when the US told them. People like Abu Mazen and yes I've had before him that if you accepted to state solution we give you economic aid.  And this started 1993 the five years have passed obviously. It was the 29th year, and no Palestinian state was formulated so obviously this was all lies and not real. But still there are Palestinians who still hold on to the straws that somehow the US will will somehow convince Israel to give the Palestinians some form of a state but it's not a state with sovereignty. As every American president have said, Palestinians cannot have a sovereign state like any other country. They would have to just contend themselves with having a state without arms demilitarized without control of its borders without Jerusalem without the refugees returning to their homes and lands without basic human rights basically. Well, let's go on. You kind of in I guess you have indicated that we can't look to the leadership, I suppose either in Palestine, and certainly not in Israel to help us move toward this to move on this new roadmap for peace against apartheid and settler colonialism. So, you say that the best our best hope is in popular resistance. Could you talk about the three great uprisings that I can think of any way that have occurred in the last, well in recent times, the two into fadas in the late 80s and the early 2000s and then much more recently the great march of return in Gaza. How effective, would you say they were what did they accomplish and have did Palestinians learn anything from these big uprisings. Thank you. Now we're moving to the therapies basically right. And so yes, I mean if we all agree that settler colonialism the best outcome for it is democrat democracy human rights equality justice. That means obviously one country for all its people. Every religion is treated equally not chosen people notions, not laws that discriminate against non Jews. And for that matter if I don't want the Muslim state or a Christian state a la crusaderism. I want the state of its citizens. If that's our outcome, which is most likely to happen. What's the therapy the therapy starts with the body itself the body itself the historic Palestine. As I mentioned in the beginning was multi ethical multi cultural multi religious society, and has always rejected notions of uniformity. For example, the crusaders lasted the year 120 years tried desperately to make the country Catholic, or at least supposedly Catholic but they were not motivated by the Catholic dogma they were more motivated by political and other reasons same as there was one Muslim leader and his son who tried to make it the Muslim country for 40 years they failed. So, and then there's Zionism which tried to make it a Jewish state, and it failed past tense. Now why do these movements fail. They fail because the local people resisted. Their resistance is important, the local people regardless of their religion. My ancestors, by the way, were Christian but they fought with the Muslims against the crusaders. Why because we were living together in one country Jews Christian Muslim. We don't want this country to become a Christian Catholic state. So, so we resisted this notion. So the same. I mean, if you are talking about the white state or in South Africa white state and Jim Crow laws and the South, there are many whites who rejected that this resistance comes from all quarters. There are various religions of various backgrounds, because it's logical to resist settler colonialism.  They resisted by many many methods, hundreds of methods, most of them non violent. Most of the people engaged in non violent resistance, few people engaged in armed resistance. And of course resistance is not uniform. It comes as waves, because people cyclical generational older people get tired, the new generation comes up more energized, whatever but you always have cyclical situations. These are uprisings, or we call them in Arabic into fathers. So, you know, we had 14 uprisings in South Africa they have, they have 15 by the way against apartheid in South Africa so I'm optimistic that we will have one final uprising and then we'll be finished with it. But anyway, these these waves, which are uprisings or into father. We've had several in my lifetime. I think there were like six. One of the last three of course are most memorable to me because I participated in them. So, and I know what's, you know, as as an adult participating in these things and helping people resist non violently again you know not not with arms or anything else I'm a believer in the philosophy of Mahatma Gandhi and Martin Luther King and Desmond Tutu. You know I knew Desmond Tutu actually I spoke at his church in South Africa a few years ago. He recently died. So, this is what we engage in. And these uprisings are very critical to always knock on the door of the oppressor or knock on the wall until the wall tumbles you know. Slowly they chip at this wall of oppression. And I think that's what's happening here. And hopefully the next uprising will finish this, but we do need international support of course and we can talk about that. Later but you know and like with South Africa there was boycott divestment sanctions around the world that helped convince the white elites in South Africa that their root of exclusivism and dominance of whites in South Africa is not the right way. So, I'm glad to hear you say that you think these uprisings are really helping us make progress along the new roadmap to peace they're really chipping away at the wall of oppression. I have to say, especially in terms of the media coverage of the last one, the, well, yeah I guess the bombardment, the recent bombardment of Gaza, which just occurred in the last few months, I guess back in March and April. I was impressed that it seemed like the media was giving a more accurate coverage of what was going on they didn't immediately characterize it as a war, and, especially on social media videos that were shared. I think it was really obvious to people around the world that this was a bombardment of, you know it was an asymmetrical kind of exchange between the Israelis and the people in Gaza and I think that just awaken more sympathy for the people in Gaza and you know the bully that Israel is is more and more being exposed I don't know if you have that same impression. Well, I mean, the designers leadership from its early days. In the late 19th century, early 20th century, they realize the power of media, and they center emissaries and they first just media, etc, to try and brainwash people to think that the victim is the oppressor. And at the time, the Europeans colonized North America they use the same language, but they didn't have media, you know, for example, they used to say, we're just circling the wagons to protect ourselves against those savage Indians that are attacking us for no obvious reason. They use the same language thing, but they are vicious violent people, scalping people, etc. This is a, the image that they put in, first of all, of course, in their own mind to justify what they're doing to their own people. And second to the rest of the world, but they didn't have media, like we have now in the 17th and 18th and 19th century, even early 19th century. And the 20th century and 21st century, of course, was dominated. And if you look at early footage 1950s, for example, it's dominated by the same imagery and even the same language used against Native Americans or against blacks in South Africa, that they are violent that they are terrorists they are barbarians they are killing us. We don't understand why and we're just defending ourselves.  It's because of the nature of the enemy being savage basically. And the children of the savage woman anyway will grow up to be savages so even if we kill woman and children we might as well get rid of this savagery. And use that imagery. Now what happened in the last 40 years really 30 years is a proliferation of the Internet, which cuts down on the monopoly of news by mainstream media that can be bought mainstream media can be bought. Nobody knows that I mean all you have to do is watch Fox News, Rupert Merida, of course, billionaire who sets a agenda for for the media empire. And this media empire can say certain things and that's that's becomes the reality for many many people. But they cannot control a lot of the social media they're trying now to remedy this gap in, in misinformation if you want a, because there's people who are posting facts on Facebook so now, you know they convinced Zuckerberg and others and Facebook to outlaw for example Palestinian content, because supposedly it supports terrorism, you know. And this is, this is a danger. I'm not sure if the trend is helpful in terms of media or not helpful. I think the designers are very shrewd and very smart and very working on all levels of media whether social media, Twitter, Facebook, Instagram, or mainstream media which they can acquire and buy off right off hand. They've been doing very good job for promoting designers perspective on the media. Our, our strength lies in the facts, we have facts on our side. And so sometimes defending the facts defending a truth is much easier than defending a falsehood. And so the images from Gaza that you alluded to. It's difficult to argue with them when you're dropping white phosphorus on a refugee camp or when you're using one ton bombs on a crowded city in Gaza. Or when you are using machine guns from boats on children that are playing at the beach in a football game in Gaza. And these are very hard to combat by propaganda. So I think the truth still is lying on the side of human rights and we can use that. And we must, but we have a lot of work to do and I'm not quite comfortable in the trends that are going on in the media. Well, in the public, being aware of events and even like what we are doing now, the public would be more aware that I'm giving talks like three or four times a week. And just the day before yesterday at Boston Community College, for example, I gave a pocket eight people attended. There's a lot of interest and there's a lot of person to person communication which is very important. And finally, the people who come here like yourself. If you come here and see facts for yourself.  And yes, speak to Israel, speak to Palestine, speak to settlers, even speak to right-wing people, left-wing people, whatever, but speak to people. The facts will become so obvious to you that you don't need media to tell you. Oh, I think you're absolutely right. The best way to combat the Zionist narrative, which has been dominant is just exposure to the facts. Unfortunately, as we know with the, you know, recent pandemic, a lot of people are resistant to the facts and, and these narratives can just take over. And I can attest when I was very young, I totally bought the Zionist narrative. I read the book of Exodus. I love those songs that glorified Israel about people fighting for their freedom and all that. And it took me a long time and, you know, I became an academic to really free myself of that myth. And so I just, I wonder if we can work on advancing a new narrative that's closer to the facts, because I think those are helpful too, in advancing a good project like this one. I think, first of all, as I said, you know, we have facts and truths on our side that's undeniable for anybody who comes and looks at the situation. I mean, you can jump through hoops to explain that there are 14 million Palestinians in the world and 8 million of them are refugees or displaced people. The rest live in Bantustan's ghettos denied basic human rights, like freedom of movement, freedom of religion, freedom of anything, you know, even health, you know, the COVID-19 all of these things. It would be very hard to justify that. If you look at the facts, it's very hard to challenge them with propaganda. I myself, you know, I challenge Zionist to public debates. Many of them who one day accept and they do the first public debate with me, they don't want to have another public debate because the facts are not with them. They prefer propaganda and they prefer to just label their Palestinians, terrorists, etc. I mean, this is what they do and without that they don't have anything. And then when Bush comes to shove, when they fail all the arguments, they go back to the issue of anti-Semitism. They say, it's the only Jewish state in the world and why do you want to challenge the only Jewish state in the world?  They claim the heritage of Jews who suffered the Holocaust. And when they really shouldn't claim that heritage, and you know, you read books like Norman Finkelstein, whose parents are Holocaust survivors and who were denied basic rights because the Zionists basically stole their money and convinced the German government to directly giving aid to victims of the Holocaust to give the aid to the State of Israel and then the State of Israel decides what to do with this money. And of course the State of Israel is not interested in helping Jews, they are more interested in helping themselves. And if all back, that's kind of their last straw that they hang onto, which is the Holocaust suffering anti-Semitism, we are the victims and Palestinians who challenge us are anti-Semites. I myself have been called an anti-Semite simply because I called for human rights.  So, maybe we can talk now about the role of internationals in helping the Palestinians doing this work, and maybe, and then particularly the role of Americans, because our government, obviously, is the chief thunder of Israel. Yeah, I mean, Zionism would not have succeeded if it did not have the Western sponsorship. And it started with the French and the British supporting Zionism in the 19th century and early 20th century with the agreements like Sykes-Picot agreement between the French and the British and the Belfort Declaration from the British and the Belfort Declaration from the French in 1917 to support the Zionist project and then supported not just by these declarations or agreements, but by actual money and support and funds and weapons and everything else that they needed to achieve the goal. And without the British boots on the ground, there would not be a state of Israel. I mean, that British boots on the ground came in 1918 in Palestine, almost a year after the Belfort Declaration. And so the British are actually the ones who were tasked by the joint British French committee with implementing the Zionist project in Palestine. And after the Second World War, when Britain's global role was diminished, the US took over the responsibility of our adopted Zionist project if you want in 1945. And this, you know, the US FDR supports lobbying and cage-rolling countries in the UN and newly established United Nations in 1947 to basically push for establishment of a Jewish state using pressures and other things, and a threat, basically, to force a couple of minor countries to recognize the state of Israel and the US itself recognized Israel six minutes after Israel declared itself a state. And this, by the way, the wishes of the intelligence community and the career diplomats and everybody else rational. Even the precursor of the CIA at the time wrote a lengthy report, secret reports submitted to the president saying that this is going to harm American interests in the Middle East. And he decided to do it because as he said Truman actually, not FDR, Truman at the time, 1947-48, he said look gentlemen to his cabinet, this was a meeting of gentlemen, of course there was no woman as cabinet ministers. But anyways, he said gentlemen, you know, Truman speaking to them privately, he said I know you're all against this and that this is not a good idea for US interests long term and intelligence services and everybody told me against it, that these are not running for elections for president, and I have to run for election and I don't have a large contingent of Arab Americans who are going to support me like I have from these other sites. So the reality of it, the US made the decision not based on its own national interest, and still today it's not based on US national interest is based on lobbying by the Zionist lobbies in Washington that determine US foreign policy. Right, so we need to lobby we as concerned citizens for the Palestinians really need to lobby I guess our own representatives and Congress people to work on defunding Israel to the tune the way that we do to the tune of what $3 billion a year. What about other things Americans can do. Can we talk about the BDS movement has that been effective. You know, it has been attacked. As you know in this country and actual anti BDS laws have been passed I was just reading in 27 different states. The courts have ruled deemed those laws unconstitutional in a couple of cases so there has been some pushback, but I take this as a sign that BDS is effective. What do you think. The boycott the Westman sanctions help us in the case of South Africa to reverse the policies of apartheid in South Africa and it is helping us reverse the policies of the state of Israel, or will help us in reversing the policy of the state of Israel that's why Israel has such nonviolent actions as BDS to be an existential threat to them and they are correct to consider it an existential threat to a system of racism and oppression. So what do they do to combat it of course they turn to what they actually coined the term low, low fare like warfare low fare to use legal or semi quasi legal mechanisms to prohibit people who speak for human rights and justice. I just outlawed seven human rights organizations here in Palestine. Some of them like defensive children international women's activist group prisoner support groups etc. Basically human rights groups members of the UN recognized internationally as human rights groups Israel outlawed them. Israel is pressuring other countries like Germany the US England to outlaw any human rights activism for Palestine be it with BDS or any other speaking for human rights or Palestinians using the leverage that they have strong lobbies in the government to to affect such a change as you pointed out there's also some pushback from people because some constitutional to stop people from saying, you know, things about racism in Palestine, you know, Israeli racism. Why is that illegal to say something, or even prevent force posts on Facebook that called it called Israel and apartheid racist state. It's a fact that's an apartheid racist state has 65 laws that discriminate against non Jews. Why is that cannot be called out just simply because it's a Jewish state.  So I think there are some pushback along those lines, and there will be more pushback as more public is aware, made aware of this. American citizens need to understand my humble opinion. I'm a US citizen. Right. And I pay taxes, even I noted after I leave the US 2008 I still pay tax I have to pay taxes. This never goes away. It's like taxes and death are the two. Everybody pays taxes. Okay, what is being done with your taxes. It's the largest recipient of US foreign aid. Israel gets more money. This very small country gets more money per capita and even as a country actually gets more money total than, then all of sub Saharan Africa some 22 countries, and all of Latin America combined. Imagine, you know, one small country why, why is it get all the shade all this tax money and per capita actually is I'll get more money than some, some states in the union. Okay, some poor states in the union per capita, get less per capita back from their taxes to for services and infrastructure and whatever in their country. In the US and Israel citizens get why is that. So, and not only that Israel forced the US through its lobby to engage in endless wars in the Middle East that costs so far. There's estimates of between four and five trillion dollars trillion with the tea is what these wars like on Iraq and Afghanistan and Yemen and Syria. Why are we engaged in these wars, not because they are for democracy or human rights of those citizens of those countries after all our allies like Israel and Saudi Arabia. They violate human rights on a daily basis we don't challenge them. We don't send weapons to fund. Insurgents in those countries. So we fund insurgencies and violence and wars, because the Israeli lobby tells us that this is good for Israel. This is good to have Arabs fighting each other Muslim fighting each other or Muslims fighting Christians or Druze or Bahai or Sunni and she out. This is why we do it as America, you know, and so it's, it's, we have to as Americans we have to push for our own interest first. And that would entail stopping this aid to Israel individual citizens we have I think a few minutes left so I want to say individual citizens in the US can help us. We have institutions that work globally against climate change against oppression against racism. If they want to contact us here I can send them a list of about 40 actually 70 actions I can do for human rights and justice, not just in Palestine but around the world. They can email me at info at Palestine nature.org Palestine nature.org is our website for the Palestine Institute for biodiversity and sustainability, which is sustainability human and natural communities. Okay, and I can get that information out when we distribute this video. Thank you for that. And then just one last thing before we have to close. I really love your optimism you're just very upbeat your matter of fact about casualties that your movement suffers you just keep going. I just have to ask this, you know, given that the situation in Palestine is dire. What, what gives you hope, what is the source of your continuing hope and, and you even exude a kind of serenity when you look toward the future. What's the source of that for you. I mean, hope and optimism relate to what we want done in this one. Why was Martin Luther King and Matt McGandy and all these people hopeful. They were hopeful because they know that in each of us, each human being, even my oppressor even the Israeli soldier who sat on my chest and cracked my rib. There's humanity in these in people and that this humanity is not what we see manifest, which is oppression war, climate change, pandemics destruction. There's so much goodness that's going around there's so much so many thousands and thousands of people here in Palestine that are doing good work agriculture in terms of agriculture. I'm working with children I have children visit this museum of natural history. I see the brightness in their minds and their eyes and their creativity. This gives us hope for the future, we can not only envision a better future, but we can work towards that if our future is if we claim we are for democracy and for human rights for women's rights for children's rights. We should all work for that it's not enough to be for something if you don't actually do something about it. Read the letter from Martin Luther King from Birmingham jail. It's remarkable and explaining why we should have hope, even when he was in the jail, you know, and FBI was after him and all that stuff. There is hope, there's hope in the world. We should just visualize it work for it and achieve it. Each of us has that within our own hearts to do it. Thank you mas and once again for your wisdom and, and once again I'm inspired by your words and I'm so glad that this will go out to a great many people. Just my parting word is I hope to see you again. Maybe in the next year so in Palestine. Thank you very much. Good morning.