Should I just get started? All right, hi. Welcome to Navigating the PHP Community, Oscar Merida, gonna hopefully enlighten you about the landscape of the PHP community and get you out of here in time for dinner. If you're here for the API talk, that we swapped with Chris Holt yesterday, so kind of missed it, but you'll have to see it on the video. Just a quick intro to who I am. Currently, the editor of PHP Architect Magazine, I've been doing PHP since September of 2000 when PHP 4 had just come out. Did a lot of bespoke PHP development and my first Drupal project was in 4.7, in around 2007, I think, a lot of fun times. Then I got to work with Brandon, who's in the back there. We did a DC United site and Major League Soccer, a bunch of other Drupal sites since then. When I started preparing this talk, I was like, well, what do I want people to get out of this talk? There are some three key takeaways that I hope you leave the room with today. First, an understanding of PHP's history. What is PHP as a language? How did it get to where it is? How did it grow and evolve? A lay of the land for current projects. So what are the major frameworks, CMSs, tools out there that are enabling what a lot of folks refer to as a PHP Renaissance. PHP's gotten a lot of steam and energy back in the last couple of years, which has been fun to be a part of and has been brought back into Drupal. And the last thing that you should get is where to find help. I'll hopefully give you some resources where to go if you're stuck on something, if you need to look for a library, if you wanna improve your understanding of PHP programming. So we'll start with a brief history lesson. Won't dwell on it too much, but the first version of PHP was PHP slash FI. It's been around for a long time now. 1994 was when it was released. It was basically just a collection of CGI programs in C so that Brazmus Lerdorf could manage his homepage and do some formant input, take that in. From the beginning, PHP was never a designed language, right? There wasn't a formal spec first, like with some of the other languages that are popular now, Python, Ruby. Grew organically based on need. If someone needed to do X, they would add some functions, build a light integration layer with some C functions. So it was deliberately designed to just do what was needed at the time and to look like C. It's a very C-like language, very familiar if you've done C. Really quickly after that, PHP 3 was released in 1998. This is when Zeve and Andy got involved. They rewrote the parser as part of a college project that they did. This was the first version that introduced extensions. Extensions were really important to the PHP language because then it allowed anybody who knew how to write them to integrate with MySQL or Postgres or Redis, which wasn't around at the time, but that sort of extensibility was really useful. And helped PHP grow. PHP 4 was released in 2000. That's about when I started learning it. Basically, they bolted on some object-oriented programming paradigms.  They also did a lot to improve the performance between PHP 3 and 4. And what was released as PHP 4 was driven by the Zend engine, the first version. The name Zend comes from Zeve and Andy's names. They took the first two letters and the last two letters of their names and put it together. It's important to note PHP 4 was end of life in 2008. Hopefully no one's running any PHP 4 code or servers in production, though. You never know. That's kind of scary. And PHP 7 deprecates some PHP 4 functions. So if you have a really old code base, you'll need to do some work. PHP 5 was now released in July 2004. So that's going on 12 years using the Zend engine 2.0. This improved the object model, added private public, protected keywords, added interfaces. That's a lot of stuff that was heavily influenced by Java's object model. And then each dot point release after that added more useful stuff. PDO, daytime class was in 5.1. If you're still using string to time, look into the daytime class. It's really awesome for doing daytime calculations and intervals and all that sort of stuff. 5.3 introduced namespaces, late static binding and a whole bunch of other features that were beginning to plant the seeds of helping code be more componentized. Auto-loading was a lot easier with namespaces. You wouldn't have to have clashes, which was really important. 5.4 added really big performance improvements, short array syntax, which as a Drupal developer, I love, traits were added. They did a lot of work to improve the out-of-the-box security, so register globals was removed, so you didn't have stuff magically become a variable just because it came from your posts or your get requests or cookies or any of that sort of stuff. I think like the magic quote runtime stuff was removed so you wouldn't get slashes added into input unexpectedly, that little stuff. The latest version of 5 is now 5.7. 5.6 will be end of life this summer when I last looked. So if you're still running one of those versions, it's time to upgrade to a newer branch. Basically, the PHP project supports three versions, so the latest one, which is PHP 7 and the previous two, 5.7 and 5.6. Last year in November 2015, Core released PHP 7, which was a huge performance improvement. Basically, they did a lot of work to reduce memory usage, so you'll see much lower memory usage and performance just about doubled. A lot of that performance improvements comes from not having to do a lot of memory allocation and deallocation and all that sort of stuff. They added static type hints, which are huge if you wanna write code that's much more expressive and easier to test. The compiler can give you, or your ID can give you some hints about whether you're inputting stuff correctly or not, or do that translation for you. If your function expects an integer, they'll do that sort of stuff. It's largely backwards compatible. I don't wanna spend too much time going into this. I'm gonna assume, hopefully, you went and saw Larry's talk about the new PHP, or you're gonna watch it online later. There's a lot of cool stuff in PHP 7 beyond just the performance improvements. There's also no PHP 6 slide, because there was no PHP 6. When 7 was gonna come out, the community voted like what should the next number be. PHP 6 was gonna be a thing years ago, and the big undertaking in 6 was to add Unicode support for strings, but that turned out to be pretty like Big Hairy Beast. A lot of the improvements, besides that, that were worked on became PHP 5, 3, 5, 4, 5, 6 features that were back ported. That's PHP as a language. Another important thing to know about the history of PHP was Pair, the PHP extension and application repository. This was a very early effort, like early 2000s, effort to promote good classes that were well designed that could be reused to do stuff like work with databases, forms, HTTP requests, talk to LDAP servers. So some very broad applications, so very specific stuff. But it was clunky, it was hard to become a Pair contributor, but the PHP community has always been trying to encourage code reuse, encourage good coding practices from the beginning, and Pair is where a lot of that started. They also provided a Pair installer, which was kinda like Drush, kinda like Composer, where it would talk to their repositories and install packages and their dependencies for you. Pair also, not just handle PHP user land classes, but also extensions, so a lot of extensions for working with like OAuth and other databases began on their repository and could be installed through their tools. A lot of those then became bundled part of PHP's core download. My quick opinion, where do we see PHP heading here? Programming paradigms were shifting a bit more. Early PHP code was very procedural, even copy and paste code. You'd find how someone did something, you just copy and paste what they did into your script. A lot of times, very junior devs might do that, not knowing the security implications of what they were doing. Nowadays, a lot of PHP packages are very object oriented. You can download a class, a set of objects that do a set of tasks. A lot of the packages will have testing baked in, unit testing, that you can run a test suite and ensure that there's no regressions. There's no, everything works the way it was designed. Much bigger focus on security. A lot of early criticisms about PHP, even though it was so easy to build something, put a form up, get it to email your coworkers, there wasn't a lot of knowledge about how they could be attacked. Some of the early design features of the language made it easy, promoted bad security practices like register globals, the mail function, was very easy to inject mail headers and hijack a form, SQL injection by building queries out of raw strings instead of prepared statements. But those practices are not kind of in the past. And the big one part of this PHP Renaissance that I had mentioned is reuse someone else's code, let them maintain a library that you depend on, write the unit tests and all that sort of stuff, make sure it works on different versions of PHP. So you can just pull in their code, focus on your business requirements, what you're building, what you need to solve. And we've seen that with Drupal, how it's pulled in components from frame, from symphony, from Zen framework, there's some stuff in there too. It uses Guzzle to do HTTP requests and all that stuff. But that's let Drupal core focus on building a good Drupal, someone else to worry about how HTTP requests should work, fail and all that sort of good stuff. The language is also adopting new capabilities. So we saw it moved from procedural to object oriented. There's work going on to add asynchronous coding. So there's projects like React, PHP and Icicle, which let you do more event loop type stuff in PHP. They've added features for functional programming so you can create anonymous functions, use constructors to loop through collections of things. There's been a new standard added to promote usage of middleware, which is a way of handling HTTP requests and letting like a bunch of different libraries or code touch that request to turn it into a response. So very early you might have something that checks to make sure that a user is logged in and later it will decorate it to wrap a page around it and that sort of stuff. And at the end maybe convert it to JSON because that's what the client requested. All that done through middleware, which is a slightly different way of doing it than just give it a big giant PHP script or a bunch of classes to work on. A little more event oriented in a sense. And the next part of PHP's evolution is also becoming much more backend oriented. Natural progression, JavaScript is taking over the front end, everyone wants to do clients on page apps or you're doing web application or handheld mobile devices are doing native apps. But PHP can still be providing the core that can be Drupal behind it, handling data input and output via APIs and services. A lot of PHP powered, restful APIs out there and literature on how to write and design a good one. And as a result, we've seen Drupal has brought that into Drupal 8 as a native feature, rest services in core, which is huge and makes it a lot easier to handle those different clients that could be using your data. And PHP's still very strongly suited to handling web requests with session support, reading the request to the web server and then giving it some sort of response. Where have we seen PHP applications go along with this evolution of PHP as a language? There's been a divergence and it happened over the last 10 years. There was a rise of like PHP frameworks for PHP developers, writing bespoke PHP applications. There's a bunch of guys who see themselves as PHP developers, but they use a framework to help them out. Along parallel to that, there was a bunch of applications written in PHP for content managing like Drupal WordPress, Joomla, and blogging and e-commerce with Magento and there's others. If you've been around long enough, you remember PHP's Fulton Boards, PHPVB, that stuff. There were Nuke sites for a while. There'd be applications for sharing image galleries before we got Flickr and Facebook and all that sort of stuff where you could share it with stuff, with people. Content management was a very early use case for PHP. Anyone build your own CMS before, edit an employer? And it was no fun to maintain it or get traction until there was a big one. But it was real easy to build one, reuse templates for display, allow clients to log in and edit pages through some forms, put some public forms on the website for people to contact you or do some Q&A kind of stuff, whatever, with forms. There's a lot of fun with browsers because PHP was very coupled to the front end at that time. You could test an IE678, that was always a blast, right? There's still a lot of content management systems written in PHP, the top three open source ones. Drupal WordPress and Jumla, still out there going strong. WordPress is always iterating, famous for their backward compatibility, right? You can upgrade a WordPress 2.0 site all the way up to 4.2 and it should just work. That's the core goal. Jumla's done a lot of work to move a lot of their code into their own framework that they use internally and promote. And there's also a lot of other CMSs coming out of the PHP space, more newer ones, I wouldn't say modern, that try to use more object-oriented techniques from core in their core. And a lot of them are honestly kind of like, I'm gonna write something better than WordPress using object-oriented. ProcessWire is one that I've heard of. If you ever need to do static sites like Jekyll, you can do that with PHP. Sculpin is a cool tool. It'll take markdown and produce a bunch of HTML pages for you. October CMS is another one that's built with Laravel. So this is still thriving part of the PHP community and landscape and it's not really going away anytime soon, obviously. I forgot to say, if you have questions or comments, feel free to raise your hand. I don't wanna just drone on for 45 minutes. Along with the need for applications to solve very specific business cases, there was a need for frameworks. Early on development teams found they were using the same components from one project to the next so you started to build this in-house framework that you would reuse on multiple projects. And a lot of this stands from the DRY drive principle. Anyone not familiar with it? Don't repeat yourself, right? So very reduced repetition of code by bundling it into reusable functions, classes, modules. Drupal has many qualities that make it framework-like in this space, right? You can find modules that will do XYZ for you, sometimes more than one, that you have to evaluate which one might work. The first iteration of frameworks were all in one frameworks. They would do everything for you. You just use their components for handling common and uncommon application tasks. A lot of them tried to offer and mimic the rapid application development offered by Ruby on Rails, so you use Active Riker to make it really easy to write to your database. Make it real easy to write templates for your view layer and make routing easy so that this URL maps so this function in a controller, that kind of stuff. The early ones were that were popular. And if I omitted it here, it's not out of malice or anything, it's just these are the ones that I know. A lot of, had a lot of users. And some of them still do CakePHP is on version three. It's going strong. Code Igniter was another early one. Zen Framework, the first version, was this all in one thing where you would download their whole code base and learn how to write a Zen Framework app, a CakePHP app kind of stuff. Kind of as a backlash to this, there was a micro frameworks became, the pendulum swung towards that. Or there was a group of developers that moved towards this way. A lot of this was codified by Ed Finckler, if you know him, in the MicroPHP manifesto. I'm not a Zen Framework developer or Symphony or CakePHP developer. You can see echoes of this in my hopes. I'm not a Drupal developer. I know how to develop with Drupal, but I can use other PHP tools and that's part of the whole getting off the island thing. So the basic points of the manifesto is that there's a preference for writing agnostic code libraries, so they're not tied to a specific framework, which means you're not tied into how they talk to a database, how they route incoming traffic requests to a particular function. And you want to curate libraries and communities from a wider pool with fewer dependencies. I don't want to depend on what Zen thinks is the great way to read an RSS feed or ParsexML. Let me pull in the one I like working with from a wider community. Of course, this means your application is going to have less code to manage support. If you keep it slim, it's going to be easier to understand what all the components do and what's going on under the hood. Today, PHP has what I call modern frameworks, not frameworks. And as a result of the micro framework kind of pushed back, a lot of them went back and retooled as components that are well designed, tested, they can be used independently. So the routing layer from symphony could be pulled out and used in Drupal because of their abstractions, but you could use something else to talk to the database. You don't have to use symphony's database component. Some popular frameworks that do this are symphony 2, I'm sure you've heard of it, or Zen Framework 2 did a lot of work to make their components. I mean, not just decoupled, they went and looked and said, okay, why are we maintaining a library for parsing RSS feeds if there's something else out there that does it better? Why are we maintaining our own library for doing database stuff if doctrine ORM does it better? The newest framework from Zen is called Zen Express. It uses that middleware layer and you can totally pick your components. So when you actually set up a Zen Express application, they'll say, you know, what dependency injection container do you want? And they'll give you some choices. What templating library do you want to use? What database layer do you want to use? Which is really cool if you're familiar with different things, you can just pick and choose exactly what you want to work on. A lot of these also provide a skeleton app. So there's a symphony skeleton app, there's a Zen Framework 2 skeleton app where you can download the whole thing and it's got the routing, the dependency injection configuration, all that stuff for you to bake for you using all their components. So modern frameworks have trended to using the best of both worlds in that sense. All their components can be used independently or you can get an all in one bundle. Kind of bucking the trend is Laravel. Has everyone heard of Laravel? It's pretty cool. Instead of focusing on that technical kind of design issues. In my experience, from what I've seen, focus is more on making the developers productive and making it real easy to do stuff with a minimal amount of code and the framework just takes care of all of that. As a result, it's a little more coupled to its own components though you can use like Blade as its templating library, you could pull it out and use it separately. Eloquent ORM is its database access tool and you could pull it out and use it but it's really much more baked together. It's got a very impressive ecosystem around it. It's real easy to put up a Laravel app. They've got Homestead to automate Vagrant and putting up a dev site and a live site for testing sites, all that sort of stuff. There's even a service called Laravel Shift which will take your four two site and make all the pull requests to bring it up to a five five one site automatically for you. Any questions so far? Bit late on. A lot of this was made possible by some standard tooling that's come into Vogue and the PHP community that everyone agreed to use and support and was mature enough that the whole community could depend on it. The one you're most familiar with that you've heard of is Composer. Composer is a great tool to manage dependencies for a PHP project coupled with Packagist. Packagist is an online directory of Composer Packages. So if you need to install something, the Composer tool will look there first when you give it the name of a package to download it and resolve the dependencies. One of, well it says it up there. That's really weird. Sorry. Part of this trend has been that different groups making their packages available on Packagist. One that you should check out is the League of Extraordinary Packages. My updated slides, when I post them to the website, will have it. It's here on my screen. I don't know why it's not up there. And they provide really specialized, high quality packages for image manipulation, file system abstraction, working with OAuth. That's just the three I know off the top of my head. But if you're writing a module that needs to do something real specialized, instead of writing that kind of code yourself, look on Packagist, look on the League of Extraordinary packages. If someone's already in the library and you just need to hook it into Drupal, it'll save you a lot of time and effort that way. Has everyone played with Composer yet? Composer's pretty cool. It sets up the auto loader for you, which is always a bonus. PHP unit, and there's a growing set of testing tools in the PHP community. PHP unit is the facto standard for unit testing now. So you can test your code. Does this method do exactly what I need? What happens if I give it bad data? Is it going to fail in an expected way? On top of PHP unit, or there are some other tools, Behat is a BDD tool. It uses PHP unit under the hood. BDD is great for integration testing. It implements GERCAN, so you can write very simple features and test cases. When I go to the homepage, I'm going to see the search input in this region. When I click on this button, I'm going to go to this page or something will pop up. That's great. Codeception is a newer testing tool. It'll do unit testing. It'll do BDD testing for integration testing. It's main differentiators that you write to test in PHP, so if you're really comfortable, it's a PHP developer, the syntax. You don't have to learn a different syntax. You just write it in PHP. Very readable PHP, too. Another cool tool if you're doing testing, you have a big test suite. You want to make sure it's a good test suite. It's Humbug, which does mutation testing. Mutation testing is kind of cool in an evil way. Because what it'll do is it'll go through your tests, and it'll do stuff like if you're adding numbers, it'll do, well, what happens if I have a test where I subtract them? Is it going to fail in an expected? Is it going to fail? Because if it mutates your tests and it passes, that's not so good. And it'll highlight those places where it mutated a test and it still came up green. So those are tests you have to pay attention to, maybe rethink them, break them down, re-evaluate how they're implemented. So along with testing, there's also QA tools. These are tools not to test if your code works, but if your code base is kind of like high quality code. If you go to the PHP QA tool chain site link there, you'll see there's more than those four. But there are tools like PHP, LOC, they'll measure the lines of code that's a useful metric for comparison. PHP Mess Detector is kind of neat, it'll identify potential problem areas. It'll give you a different metrics, and it'll highlight functions like, this function has a really high cyclomatic complexity, which is a way to measure like how many branches there are in a path of code. And if it's really high, it usually indicates that that method or function is doing too much work. You should break it up in the separate functions classes. So it can give you a good sense of like, I should go rethink how this is implemented, just to refactor it and not change how it works just the way it's been coded. PHP Code Sniffer is a good tool for enforcing a coding standard. So if you're gonna follow PSR 2 or the Drupal coding standard, I know there's a sniff for it. It'll go through your file and say, oh, you know, on this line, you use six spaces to indent instead of four, or you put your braces on the wrong line, that level of inspection, which is perfect for a tool to do, instead of relying on human review. And everyone should just pick a coding standard. Drupal has one, follow it. If you're working on a PHP project, just adopt, I think it's PSR 2 and have a tool to detect that. PHP CPD is a really cool tool. It'll detect duplicated code. It's CPD stands for Copy Paste Detector. So it'll actually tokenize and look like, you know, this function over here, or these lines in this function, look a lot like these eight other places where those lines are. Maybe that should be a function instead of cargo-culted across a code base. These are very useful for refactoring and improving the quality of your code to make it more readable, less error-prone, that sort of stuff. Now I'm gonna talk about some community resources where you can go to find help with PHP, find packages, that sort of stuff. One of the big resources, and I know there's a talk on this, is the PHP FIG, which takes this, it's called as the MOOP-HP Core through collaboration and standards. It stands for the Framework Interop Group. And basically a lot of the core devs from different frameworks and projects got together at Tech 2009, is when this was founded. Realized they were all solving kind of the same problems, logging, handling an HTTP requests, coding standards, and if they could come up with some common standards for how they worked, it would make it easier for them to share code. So they're meant to promote standards for member projects, so the FIG has like 90 member projects. Drupal is one of them, Larry Garfield is a representative, Symphony has a representative, WordPress has one. Once you get to a certain size, you can apply to be a member. So these are recommendations technically for the member projects, not for the PHP community. That's usually the backlash against this, like, ah, why is FIG telling me what coding standard I should follow? They're not unless you remember a project. But a lot of the community has adopted their standards because they make sense and they make life easier. These recommendations are called PSRs. PHP standard recommendation. So their naming kind of led to that weird, we're not, it's only for our projects, it's not for everybody, but we're naming them PHP standards. That's just a legacy thing now. Some of the common PSRs, these are the ones that have been approved. If you go to the link at the bottom, you'll see the ones that are, have been proposed, which ones are under voting, which ones have been rejected. You can see that Larry has a PSR, I think it's eight is for hugs. So that's a fun one to read. One and two deal with coding styles. And the main point of that one is just like across projects make it easier to understand each project's code.  All that kind of nonsense that can get really blown up goes away. PSR three is a really cool one, logger interface. So if you wanna write a logger, that other projects can just drop in or pick a logger that, a standard that for use in your project, if you pick PSR three, you can pick any one that's compliant, drop it in, your code will just work, it doesn't matter, the actual implementation. Drupal uses monologue, or Drupal Lake does, which is the reference, essentially PSR three logger, it's great. PSR four handles auto-loading. So the naming conventions, how you name your class, your namespaces, how they translate to paths and file names for an auto-loader to work, makes it a lot easier on your PHP code not having to litter it with required, include statements and making sure you do that before you call a class, try to instantiate a class, that sort of stuff. And auto-loading was huge for making sure that it's so easy to just have composer pull everything in, write the auto-loader, you load composer's auto-loader, that sounded odd. And you just go, I need to do a new monologue and the PHP engine calls auto-loader, how do I find the monologue class and files and load them and all its dependencies in. So you don't have to worry about that, it's a lifesaver. PSR six is a caching interface, so how should we work with caching layers? That one is pretty new. So if you use a PSR six compliant caching library, you can drop in a new one that comes out that's better or swap one that talks to Redis or something that talks from Memcache without having to change your actual code anywhere. You just change the object that gets created and injected early. PSR seven is HTTP message interface. That's for how do you model and handle HTTP requests, get posts, that sort of stuff and turn them into responses. I believe the symphony kernel uses that. The middleware stuff in Zen expressive is heavily based on conforming to PSR seven. And as you can see from all these, these are things that if you're building a framework, you're gonna have to handle these sort of things. Why don't we make it easy to have a standard, write one logging library, write one HTTP request library and kind of all leverage that work instead of duplicating our efforts all over the place there. Another great resource and I know I'm kind of biased because PHP architect organizes conferences but we're also at DrupalCon, so I know you believe in it. There are a packed schedule of PHP conferences around the world along with DrupalCamps and DrupalCons. If you go to PHP net slash conferences, you'll see a schedule of upcoming ones. They're all over Bulgaria, Sunshine PHP's in Florida, PHP South Coast in the UK, there's one in Australia, so wherever you go, you can find a PHP conference. Joinedin is another big site for finding conferences and seeing feedback for talks and speakers. And there's like a tier of national ones, ZenCon, PHP tech, Ben Alex is a big European conference, PHP UK as well. There's a whole family of regional ones, kind of like the regional DrupalCamps, Sunshine PHP's in Florida, Lone Stars in Texas, and then there's ones in the Northeast around Boston, Pacific Northwest. There's even framework specific ones, so like Laravel has LaraCon, Symphony Live, they do a bunch of them throughout the year. Cake is still going on, they have cake fest every year. So if you wanna try something out or go improve your PHP knowledge, these are great places to do that. Along with that, if you're a budding speaker or have spoken at a DrupalCon before, there's no reason you shouldn't be speaking at a PHP conference as well. There's a lot of overlap. You can share lessons from what you've built, maintain, if you maintain Drupal modules, that sort of stuff. It's also a cool place to meet maintainers of other projects. A lot of times, you don't get to collaborate with people who are solving similar problems, but if you're at a PHP conference, you'll run into folks who manage, you know, big projects like Symphony down to like libraries on packages that you can do. Some resources to get into speaking. The CFP report is a mailing list and I think once a week, it'll send you, you know, here are all the open CFPs that you can apply to and tell you if the conference pays for speaker travel, when it is, that kind of stuff. Calling all papers is another aggregator like that. It looks unjoined in and sees who's got an open CFP that's accepting speakers. And then if you need help writing a proposal for a talk, there's Help Me Abstract and you can, you know, find someone on there to help you review your abstract.  Another great resource in the PHP community is your local user group. They're basically the heart and soul of the PHP community. A lot of people get started speaking there, meet other local developers. It's a great place to network, find work, find help on a project if you need it. Oh, I can just go hire someone so that I'm at, you know, they know WordPress or they do a lot of Drupal. If you need to find your local one, PHP user group has got a map, this first link, where you can see what your nearest one is. There's also a saying, if there isn't one near you, congratulations. You're the leader of your local PHP user group, you should start it. But seriously, another good resource, Nomad PHP is a virtual user group, so if you don't have one locally or it's, you know, hard to attend to, it's pretty cheap to pay 20 bucks, I think, if that, and you'll see a talk once a month or watch the recorded talk later. PHP Women is another good resource for user groups. They help with bringing in new speakers, mentoring our folks in the community and support for them. They're not, despite their name, they're not just limited to women. But anyone who wants, is new to the community and wants resources and help can get it through them. And there's a lot of resources for learning PHP. Of course, the knock on PHP is that there's a lot of bad resources for learning bad PHP online and there's really still old stuff showing you how to do queries to MySQL using the old deprecated MySQL underscore functions and building queries with strings that are gonna be SQL injection gateways. The best place to start is this community resource called PHP The Right Way. There are many online for doing X with PHP. Start here at PHPTheRightWay.com. They've got, you know, sections for coding practices, how to work with databases so that you're doing it securely in a modern way, how to do templating, other security considerations. And there's more, they even take their website and package it as a book on Lean Pub. So if you wanna have a local reference, that's a great place to start. Lots of training resources. I know I've heard good things about LaraCasts, even though they're specific to Laravel, they do have now some object oriented videos you can watch. They have jQuery or JavaScript stuff you can watch. So they've branched out and they're one of those self-paced. You watch a video, you can learn.  If you're looking for live training, Zend is the company that Andy and Zeve founded. They do a lot of training courses. So does mine, PHP Architect, where you have an instructor. You can work through some exercises together for a couple hours a day. Along with that, if you wanna find a mentor or be a mentor to someone in the PHP community, there's PHP Mentoring as a site where you can sign up and say, I wanna mentor or I wanna be a mentee and get paired that way. Mentoring, there's a big push in the core PHP community to give back by mentoring and also find a mentor to help you in your career. Because they've gone through a lot of experiences that you'll probably do or will know who you should reach out to to ask for help, whether it's soft stuff like finding work, issues at a job, or more technical stuff. The last resource, there's a lot of publications, not just my company's books and monthly magazine, which I have copies of if you're interested and you haven't been on our booth. A lot of community members who speak have gone on Lean Pub and written really good books. If you're stuck with a legacy code base that is just a big ball of spaghetti, you should get the P.M. Jones, Paul Jones's book, Modernizing Legacy Applications. He's got a very nice step-by-step way. First you do this, then you can do this, then you can do this, and at the end, you have a nice object-oriented auto-loading code base that's easy to test. Chris Harches is kinda known in the PHP community for promoting unit or testing, building testable code. He's got a book there, the Guide to Building Testable PHP Applications. As I said before, PHP, the right way, they took the mark down that generates their website, turned it into a book, and if you buy it, you're supporting their efforts, hosting the site and that sort of stuff. If you wanna know how to deal with security in PHP, Chris Cornutt, he's at Enigma on Twitter, has a series of books securing PHP. There's core concepts and there's two more. So these are all great references. And that's just the four that I can personally vouch for on Lean Pub. There's a lot more that are really, I'm sure, good resources. Thanks. That's it. I'll take questions. That's me on Twitter. Please follow me and heckle me. That link is all, you can go to the session schedule and please leave me feedback. Speakers love feedback. I'd love to know what I missed, how I could have done it better, what I did well to improve this talk for next time. And I'm contractually obligated to show this slide as well. There's sprints happening Friday. If you're looking to help get involved in it, these are the times and places. Any questions? What's PSR-0 and why does JetBrains keep? PSR-0 was the first standard for auto-loading, I believe, and it was superseded by PSR-2. Yeah, it was a first stab at doing auto-loading and it had some deficiencies, but you should follow PSR-2 instead. JetBrains, did the PHV soren bug you about it? Yeah, every time I start a project, it says, hey, sources. Okay, it might be a shorthand for PSR-2 as well. As long as you're PSR-2 compliant, I think if not, you can yell at JetBrains, they're down there. That was good stuff. I love PHP Storm, I didn't want to show. I should have had a tooling thing for them. But they integrate with a lot of those QA tools and have their own in there too. So if you want PHP mess detector to run and analyze your code, or code sniffered automatically format your code for you, they can hook right in easily. Anything else? Bueller. Please come and get a magazine. I don't want to cart them all the way home. So if you have to come by or booth, if you have not come by or booth, come on up and get one. Thanks.


Hi everyone, Joe for jaspyscasebreaks.com coming at you with the random number block randomizer for this big group of teams right here This unlocks pick a team six coming up in the next video That's how the number block works. Remember what the zero does gets you any and all redemptions including one-of-one redemptions One still gets live one-of-ones. Big thanks to this group right here. Thanks to people who bought their spots straight up and Congrats to the people one spot in that Donnerous pack that we did Thanks for taking the chance on that. There are the numbers right here. Let's go. Let's roll it Let's randomize names and numbers six and a five eleven times one two three four five six seven eight nine ten and 11th and final time Scott down to Chris six and a five eleven times for the numbers one two three four five six seven eight nine ten and 11th and final time Three down to one All right, so Scott with three and two Tim with four Nick with with Tim with four Nick with nine Michael with seven Tim with six and eight Nick with five Michael at zero So you get any and all redemptions for that big group of teams including one-of-one redemptions But Chris you'll still get any live one-of-ones that pop It's an occasion. I feel like I could count on one hand how many times that's happened. So not a common occurrence, but Still the rules there. All right. Thanks everybody. I'm Joe. I'll see you in the next video jasky's case breaks.com


작은 기술이 우리의 아기, 우리의onia는 조사하고, 미� meatballs 이킨 In the future, One of the major obstacles to their successful applications is the lack of power sources without relying on human intervention, like wires. We turn to leaving creatures in seeking the solutions as they move harnessing natural energy, 하지만 그 도전을 위해 animals' mobility가 안성적이게 된 것입니다. animals use mussels to generate motions. mussels are very hard to make, and they are consumers, not suppliers of energy. Plants do not have mussels, but still can move. Most botanical movements are based on transport water in and out of plant tissues. The examples include mimosa leaves, mushrooms, Venus light trap, and pine cones. As such, plants propose a new way to power machines, solely through the use of water. In particular, some plant seeds provide a critical clue to reproducing botanical motility. Those seeds with tails are catapulted in the air when their enclosures are cracked open by over drying. The tails acting like a spring, vary the seeds into soil. Humidity variation controls all these processes. The seed tails consist of two layers, one of which responds to humidity while the other not. When wet, the moisture sensitive layer swells by absorbing water molecules, causing the tail to bend toward the inactive layer. The opposite sense of bending occurs when dry. A closer look at the tail reveals that cells in the active part are aligned. This not only helps the tails to move faster, but also makes them helically coil depending on the alignment angles. These seeds suggest that the water-powered machines can move in different ways by slight changes of their inner structure. A key to making an effective seed mimic is to produce and align extremely fine fibers. My lab uses a strong electrical field to pull fibers 1,000 times thinner than human hair out of polymer solutions. Spooling the fibers on the rotating cylinder align them in one direction. An artificial biolayer with aligned fibers bends much more effectively than those without fiber directionality. Tilting the fiber angles causes the actuators to coil and uncoil in response to humidity change. Different fiber arrangements can indeed lead to various global motions of the actuators. Now a question naturally arises of the proper size of those machines. Decal layers take longer to wet, but too thinner machine cannot carry enough load. Mathematical analysis reveals that the size comparable to the seeds or conventional micro-robots is just right for the water-powered machines. Continuous variation of humidity drives the oscillation of the actuators To give them locomotive ability, we can attach legs that slide or stop depending on the posture. A result is an actuation system that moves faster than any other existing soft robots when they were scaled to an equal length. On moist surfaces, the soft robot propellers itself without any human intervention. An anti-biotic coated robot placed on a bacterial cultivating plate 트랩을 spontaneously sterilizing its trail. This hints at enormous biomedical applications of this micro-robot on human skin. We need to address several technological issues to widen their applicability. The forces generated by the water-absorbing materials should be increased for stronger actuation. The durability and scalability are also important. Consulted efforts of mechanical and material science are strongly called for. In summary, we have seen that water can induce mechanical response of soft materials that swell upon wearing. This motion strategy adopted by plants for millions of years is now being exploited to drive various soft machines. Sophisticated deposition of fine fibers sensitive to humidity is a key enabling technology. Diverse motions including bending, twisting and calling are possible by controlling the fiber arrangements. Self-local motion is achieved by adding appendages to break the symmetry of the motions. This nature-inspired energy convergent technology provides an attractive solution to power sources of micro-robots. Two centuries ago, the first industrial revolution was triggered by steam engines whose actual power came from fossil fuel. In the era of the fourth industrial revolution, larval plant mimicking machines are emerging that are literally powered by water.  Thank you.


Ammunition presented by the Army matches bullet shells recovered at the Lecky Toll Gate, says an expert, while civil society group cries out that 300 Lagos en-sars protesters are suffering in detention. And name terrorism sponsors to clear your name, Middle Belt Forum challenges federal government. All this is plus politics, and I am Mary Anacorn. A forensic expert, Joseph Coyote, has told the Lagos Judicial Panel of Inquiry in the investigation of the Lecky Toll Gate shooting incident that the samples of the ammunition presented by the Nigerian Army are the same caliber as those retrieved at the scene. He gave this explanation while giving the ballistic reports of the forensic investigation conducted on the ammunition presented by the Nigerian Army and those at the panel. Meanwhile, a civil society group, New Nigerian Network, has asked the Lagos State Government and other authorities to release the 300 en-sars protesters in detention, unconditionally, or take them to court. The co-convener of the group, Adishina Ogulana, said that during a visit to the prison by members of the group, they saw en-sars protesters wasting away in prison. Well, joining us to discuss this is Inibar Efion, he's a human rights lawyer. Jonathan Abang is a journalist, and Michael Nketea is an international relations and political analyst. He's joining us from Ghana. Thank you very much, gentlemen, for being part of the conversation. Thank you. Have a nice one. Great.  And then, of course, the aftermath. And now we have been talking about the outcome of the panel, the investigative panel. And here we are today talking about this particular ammunition. Now, we remember that during the panel sessions, the army at first claimed that they were using blanks. And then, at another sitting, the army admitted to having some ammunition that was not necessarily blanks. But this particular expose is saying that the ammunition that was used matches the one that the army was given or was using on the day at the toll gate. So the big question on everybody's mind is, so what then? What now happens? Now that we have this information, because it seemed like everybody went to sleep, but now this has literally opened a new kind of warmth. So where do we go? Marianne, for me, there is nothing surprising in the testimony by the ballistic experts. I was before the Legos Judicial Panel of Enquiry, the Commission of Enquiry on the day that General Thay would testify. I was part of the team of lawyers who represented some of the protesters at the toll gates. And it was very obvious to us, but very clear to us, that the military authorities were lying to the public, were lying to Nigerians. And that they were not honest with their role at the toll gates, with the things that they did at the toll gates. There were never doubts about the fact that the military invaded the leaky toll gates, that they attacked unarmed protesters, that people were killed in that process. These things have not been proven, but they have been a chain of lies. Both by the governments, the Legos State Government, the Federal Government, and the military authorities on their role in the matter. From denying outrightly that they were never present at the toll gates, they were then forced to admit that soldiers were there. They subsequently said, oh, they never fired a shot, nobody was targeted. And of course, they subsequently admitted that indeed people were targeted, that they had fired a shot, but that nobody was killed. But don't forget that even the governor of Legos State did admit, it did admit that at least two persons, he confirmed that at least a few persons were killed. So when we cross-examined him, the truth came out at the Commission of Enquiry. It is unfortunate that we still have to even debate whether people were murdered or not. The reality is that people were killed at the toll gates. And I have also seen some of the victims. I have interacted with witnesses who were present at the toll gate on that date. So this revelation order, it is only for the substance shapes what we have always known. There is nothing strange, there is nothing unusual in the evidence given by the ballistic experts. But you know the saying that if you do not have proof, you do not have facts, then you cannot push a particular, let's say for you, you said you already knew that they were lying, but then of course anybody can say that the army is lying except you have proof. And now we do have proof because I remember there was a time when even the army was asking that if they indeed killed anybody or there were victims, we should produce those victims or the protesters should produce the victims. So I am asking again, this is a panel that is not necessarily empowered by the law to prosecute or go forward, they are just listening, they are just investigating and they are hearing. So now that we have proof, I am asking again, what are the legal steps that need to be taken? Because I am asking this because this situation seems to have taken a back burner because maybe for some reason there was not enough proof evidence to take the army up or maybe take even the federal government up on this particular issue. But now we have enough proof, so what is the way forward? What I want you to, what I think I am trying to make to you is that I was present during the form of the sittings of that panel, particularly on the day that the military gave their evidence. The evidence that the military itself did that was evidence that implicated them. The armed evidence implicated them. They also made series of admissions against interest. That is where somebody is considering the facts that is not in the interest of that person, that goes to show that that person had the bad keys. So even by the evidence of the military itself, it was clear that contrary to what they had said earlier, that they were present at the two gates and that they targeted civilians, unarmed civilians. There was never evidence that those people at the two gates were armed. They even admitted, the military admitted, they admitted that the protestants were not armed. Now to your question, I don't want us to be overoptimistic about what is going to be done by these findings. At Genome Day, the judicial commission of inquiry will submit its reports and make recommendations. Whether those recommendations will be implemented is a different thing entirely. But given the antecedents of this regime, I am convinced that it is very unlikely that any of those soldiers will ever be caught, martial law put on trial. Because this is the regime that has shown itself unwilling to abide by the rule of law. A regime that has shown continuous contempt for human life. A regime that does not have any respect for international best practices and rules of engagement. So you don't expect that regime, a regime that has lied on record about the activities at the two gates to now take a summer salt and implement whatever finding this commission is going to make. Let us wait and see. I am just telling us that we shouldn't be overoptimistic. At the end of the day, let us hope that even the panel will have the courage to make far-reaching recommendations. Because on the basis of what we know alone, it is sufficient for actions to be taken. But because of the country we have this culture of always setting up commissions of inquiry on issues, that is why we keep having committee after committee, panel after panel, judicial inquiry after judicial inquiry. At the end of the day, very little is done in terms of implementation, in terms of sanction, in terms of consequence for people who have committed infraction against the law. That is why I am saying that Nigeria should not be overoptimistic. About this panel, do not forget that even the military at the point we drew from participating in this commission of inquiry, they refused to honor certain someone that we issued on them. That is not the government, that is not the regime that you would want us to believe is going to pay attention to the outcome of this inquiry. As far as I am concerned, the event that I have taken place, even while this panel is sitting, the freezing of the account of insiders' protesters, the persecution of some of the protesters, including those who are being placed on watch list, the target on NGOs who are involved in this, but all this goes to show you the sincerity of the government, the fact that nothing has been done about police reform to date, the fact that policemen are still killing people across the country. Look at what is going on. That clearly shows you that this is not the government that has even taken the fact that that protest took place seriously. So do not expect much. We should not expect much from this commission of inquiry in terms of implementation. Well Jonathan, I am going to toss it to you because you are a journalist. I am sure that you are one of the people who covered this story over and over again. The journalists were front and centre during the protests after and of course the stories that came following it. So anybody is giving us a somewhat of a doom and gloom expectation. In fact, it is saying that we should not be overly optimistic as to the outcome of this. But as a journalist, where the fourth estate of the realm is supposed to push for these kinds of stories or push for these issues to be attended to and get both the public and government's attention for justice to be meted on those who deserve it. So if, for example, anybody is saying we shouldn't be optimistic, where does the media come in? How do you deal with a situation such as this? Thank you very much. The problem where I have come to discover with Ninjas is that the attention span is really very short. And it is terrible because you find yourself in a situation where you go all out and try to get a perspective from the different people that make up the story, the different angles to it. And at the end of the day, someone will just ask you why you want to stress yourself. It is not far from the truth. In fact, he's actually telling the truth. Because when you look at what happened with the report submitted by the National Human Rights Commission to the Inspector General of Police, to the Attorney General of Infigration, who just sat down and looked at it and it's like, well, there's nothing much here. And pushed it back to the Inspector General of Police to hear the investigation again, which is rather funny. When you go around the country, the states where they have set up these judicial panels of inquiry, about two or three have wrapped up and none of the recommendations have been made public. Fake Foresters in Cross River State, it's over four months now since the judicial panel of inquiry into police brutality and other related matters ended. There is no information as to when the recommendations will be made public and if they will ever be made public and what have you. So I think what we have to do as journalists deliberately, like from my video outfit, we have continued dug in after the use of members of these judicial panels of inquiry to find out from them exactly when they are going to make this recommendation public. And aside from that, we also have to hold the Chief Executive of State Executive Councils, the governors who set up these judicial panels. In fact, when you look at, apart from probably Lagos and I think River State, other states say it was just the governors at their Whims and Caprices setting up these panels whosoever they felt like in Cross River State, some people were chosen and no one knows how they were chosen. There was no female representation. There was no gender balance. The youth representation was really minimal and what have you. There was nobody from the civil society, nothing like that. So it's actually a very gloomy picture. But as journalists are due to, of course, continue asking questions. And of course, people usually come up and say, okay, the problem with journalists is that there are very few investigative journalists out there and if you go, they'll tell you, okay, you move from one story to the other. But we need to start questioning the answers we receive from public office holders and what have you to ensure that people really get justice. But believe me, this issue from my analysis is going to take like two plus years and probably by the third quarter of next year, people will even just forget about it and be focusing on 2023 because that's what we'll be selling at that point in time. You just literally played into what I was going to ask next because I hear people say all the time, they say it to me, they say it to other journalists, that we play a part in bearing some of these stories. We don't follow up, that's the word. There is no follow up, for example. We only jump on stories when they're hot and they're sensational and right after that it dies down, we forget about it and we wait for the political parties of the politicians to make the news for us to report on it. And so we play a part somewhat, maybe, in killing these stories. And I'm wondering, let's not forget that as we speak about this protest, it's also one of the reasons why we do not have Twitter in Nigeria right now. I remember the Information Minister saying that Jack was sponsoring somewhat these protests to try to topple the government. So these two are connected. Now, nobody's also talking about the fact that Twitter has been banned for 100 plus days. Nothing has been said, no going forward. We don't even know what, you know, if there's ever going to be Twitter until this administration is over. And so obviously it means that the government does have an interest, but we, the media, are not trying to push for further questions to be asked. I'm wondering why that is. There are a couple of reasons, of course. It spans from ownership, influence, the bias of a mission, the bias of selection, you know, house stars and of course repressive, when you have a repressive regime like the one we have right now, it becomes terrible. In the past two years, I've been in court about three, four times. I've had about 12 leaders written to my office and addressed some to me, some to my publisher and some to my colleagues, you know, accusing us of libel and what have you, and you know, after we published stories. So it's a whole lot. Not so many journalists will want to really dug after the heels of our people to ask questions and then even question the answers that they receive. But beyond that, now, let me put this way. Now, imagine plus TV Africa is talking about this now, plus politics, right? What's the time span you have to really discuss these issues? The program is 24 hours, right? So at some point in time, you have to balance because you are not just focusing on the human interest story. You have to go politically. You have to do agro. You have to do the healthcare sector. You have to do education as well. There are some states who have even postponed the resumption of schools across the country. So it's a whole lot. And then you look at the newspaper, for instance. So the newspaper has worked for two pages. The publishers take two pages. They need some certain adverts of the tourists to stay afloat. And what have you? So all these things, a whole gamut that really causes this. So you're telling me that the hands of the media is tied under democracy. A government that we call a democracy. You're saying that our hands are tied because we still go cap and hand to these politicians to be able to pay salaries and fees. That's what you're saying. That's what I'm saying. It's quite unfortunate. But I'll leave it there. Let me go to our international relations expert. Now, Michael, I know that you've been watching from the outside to see all that's been playing out in Nigeria. The whole world saw what happened on October 20, 2020. And the aftermath of that protest at the Lecky Toll. You and I spoke a couple of days ago and you expressed some dissatisfaction as to how the issue has been handled so far. But judging from what you've heard from our two guests, where do you think this is all going? Well, thanks again for having me on the show.  And it needs emphasizing that the ability or the willingness of the Nigerian youth and the Nigerian population to win back the confidence of the country's military, police and other security forces would be very critical in the security agency's response to the Lecky Toll Boots scandal or let's say massacre. I'm very surprised and it is quite an embarrassment for the Nigerian Army that the shell case that they presented for live ammunition do not match with that that was picked by the panel 10 days after the incident at the Toll Boots and this clearly demonstrates that there is some form of covert attempt to massage or determine the outcome of the sitting of the panel by presenting what appears to be a deliberately created false evidence or materials to sway public outcome or influence the outcome of the panel or committee's sit-ins. It is quite unfortunate what happened at Lecky Toll Boots with all certainty to international law constitutes crimes against humanity firing at unarmed protesters and going beyond that, beyond the killing, trying to present false evidence to sway public perception to change the outcome. And there were even instances where the Army appeared to suggest that the innocent protesters rather fired at the military men. Initially there was a denier that there were no military men, nobody was shot, nobody was killed. We fired only blank ammunition and then later on there is an admission that we fired live ammunition. This clearly tells us that from day one there has been a deliberate attempt by the Nigerian Army to cover up the Toll Boots, the Lecky Toll Gate incident and it is in the interest of the Nigerian government to apologize to the Nigerian people, to apologize to the youth. And as a matter of urgency, free the innocent people that have been incarcerated to date, those views human rights continue to be violated by constant harassment by state security agents on the sole basis that they participated in the demonstrations. If people should be arrested and jailed, it should be the military men and other security agents who shot at the unarmed civilians. The protesters only demonstrated because they sought for a better Nigeria where the youth would be free from oppression and intimidation by state security agencies. At the basis of security, at the basis of state security is the concept of assurance. Every manner of security is supposed to provide some form of assurance to the citizens and populace that regardless of where you are, no matter the time that you are, you should be safe in your own country and if citizens are not safe in their own country then it is a big problem for any government. Already Nigeria is battling with the insurgency of militants of jihadists, of terrorists. Today I read in the news that there's been another attack on a jail or a prison somewhere in Nigeria. Guards have been killed, inmates have been set free. You read so many horrifying stories coming out of Nigeria. If the government wants to really, really address the insecurity in Nigeria, first it needs the goodwill and support of the people. The government should not antagonize the very people that are supposed to give it the right moral backing and support to address the country's insecurity. The Nigerias Army, police, whatever the Department of State Security if they have anything worthy of doing to guarantee the sovereignty of the state by providing security for every citizen of Nigeria then they should channel their energy and resources in tackling the rampant abuse of militants, jihadism, activities of terrorism, brutality, the kidnapping of innocent schoolgirls and schoolboys. But Michael, from all that you... Yes, you're reading these things on the pages of newspapers but we're the ones who are experiencing it. In the past, in fact, in the past few months even into the year before now there have been all kinds of bills that have been passed to either try to limit the media and now you also know about the fact that Twitter has been put down obviously. This is a venting place for most Nigerians. This is where most people find their voices to speak about the things that are happening and the injustices that we're experiencing in the country. Now how do we going forward? Because again, I keep emphasizing that we're in a democracy, we're not in a military dispensation, we're in a democracy supposedly. And the rights, the voices, the displeasures of the average Nigerian is not being heard by our leaders and for every time the people decide that they want to protest because this is the only tool that you can use to get the attention of those who lead you, especially if you are displeased with how they're leading. That particular right is being trampled upon as it is right now. Protests seem to be somewhat banned in this country even though there's no legal backing to that but every time Nigerians try to go out to protest the police shows up and arrests people. How do we want to get development? How do we want to move forward? Because you've mentioned that the government needs one way or the other to be in the good books of the average Nigerian but that is not happening. We have a government that's not listening to us. Where do we go from here? Well first, I believe that it is in the interest of the Nigerian government to allow the youth to vent their anger on social media than for the youth to breathe their anger internally. It is very dangerous when these angers explode because when people keep things inside them and they definitely get to a breaking point at the limit, it becomes difficult to contain them and any explosion, any lighted explosion by the Nigerian youth would be very difficult to detail. However, I would urge the Nigerian citizen not to give up on his demand for a better Nigeria not to give up on the demand for the expression of basic human rights. It is your fundamental human right to free expression and any government that is afraid of the descent of its own very people, even on social media should be extremely worried. Because listen, this is a country with over 172 million population. Majority of this population is its youth and the basic medium where the youth communicate all over the world today is social media and that one popular platform that they use to communicate their grievances, we are taking that platform from them. Basically what you are doing is that you are denying them the opportunity to even express descent and this anger is likely to degenerate or escalate to a boiling point where the Nigerian army may not be able to contain. Quickly, Michael, because we're almost out of time so I can get a few last words in from the other guys. As we speak, the United States Senate put a pause on the sale of military equipment to Nigeria. Now, one of the reasons why, in fact the biggest reason why they have paused that sale is because they're pointing to human rights issues, human rights abuses, they're talking about high-handedness by the army and here we are talking about the army owning up to what happened at the Lekitaw You've mentioned about us having to deal with insecurity. Will we ever get to the point where we can really fight insecurity in our country if the people who are supposed to help us in fighting that insecurity do not trust our army to fight insecurity without human rights issues arising maybe for the obtuse time? Well, I believe that there can be a way for Nigeria to address insecurity like you earlier raised. You see, that is a problem with high-handed governments. Currently, the Nigerian government needs these weapons to confront rising jihadism, militancy and the threat of Boko Haram and because he decided to use these weapons on its own citizens, there is a ban by the US government on the sale of weapons. Although Nigeria can get these weapons from the international markets, obviously they can buy from the Russians, the Chinese. However, it affects the country's credibility and international standard and prestige. A government that unleashes violence, intimidation, treachery on its own citizens when jihadists and militants are terrorizing the country in other parts. These are some of the issues that needs to be addressed and I believe that for Nigeria to really resolve this issue of insecurity it needs the collaboration of all stakeholders those seeking to secede from Nigeria should be brought to the drawing board. You should not arrest the leaders of the succession movement. I'm an international law practitioner. I'm against any group of people or any people hoping to secede from a country but if you really want to achieve peace in your country, you don't arrest the leaders of the succession movement. Bring them to the negotiation table. Try to understand them from their point of view if they are expressing sentiments of underdevelopment of economic deprivation try and extend development to their respective regions or states. These are some of the things these are the fundamental things that can bring Nigeria back to a state of security. Address religious tensions enough of the religious conflicts between Christians and Muslims they divide between the north and south. Address these fundamental issues. Once you are able to address these issues you have a forum of people to move on with for a common Nigeria. We have to go unfortunately this time it's not on our side but I want to say thank you Michael Kecia is an international relations and security expert and of course Jonathan Abang is a journalist. Thank you gentlemen for lending your voice to this conversation. Thank you, thank you. We will take a short break thank you all for staying with us when we return. The federal government has been encouraged to reveal the sponsors of Boko Harau Who are they? We'll get to find out after this break.


Hi Virgo. This is Kelly from House of Virgo doing your next 24 hours love reading for Virgo Sun, Moon Rising, or Venus. And these messages are strictly for Virgos.  Please do hit the like, share, and subscribe button.  Good to see you. Thanks for being here. So you guys, under the video there's a link to purchase a one-hour phone reading from me if you need to get more clarity. Just click that link and then we'll take you to my booking site. And yeah, everything else that you need is underneath. Yesterday's reading, no Emperor. Today the Emperor is back. Okay, so let's just get into the reading. Past position, yourself, Queen of Pentacles, the Emperor, and the Page of Pentacles. Present, the Hermit. Here's the King of Wands. We had the Queen of Wands there yesterday. And the Queen of Cups. And movement forward, Ace of Wands, Five of Pentacles, and the Nine of Wands. Okay, let's get some, see what the love messages are here for you. But let me just take a look while I'm doing that. Okay, Burgotars, Capricorn, Aries, Leo, Sagittarius, Scorpio, Cancer, Pisces. Oh, these cards are weird to shuffle. Hold on, you guys. So I definitely see a past position of two people coming together and communicating thoughts and ideas, both valuing each other. Very much like, very, it looks very good. It looks really good. And I see you there, Virgo, past, you're very stoic, Virgo. You're very stoic in the past. Like, I'm not saying nothing. I'm not going in any deeper. I'm just going to say how I feel and that's it. And the Emperor is sitting there, like, looking at you like, yeah, don't you have more you want to tell me? Don't you want to tell me how great I am? Don't you want to tell me how amazing I am? Don't you want to tell me I'm like the King of Kings and like I'm your daddy and I'm your superhero and I'm your everything? Don't you want to value me, Virgo? Virgo, your person's like, how come you're not putting me on a pedestal? Like, you know, maybe you did at one point and maybe you stopped, but all right, let's get your love messages. Oh, this I'm taking this deception card out because I hate it. It just it bums me out whenever I see it. But anyway, someone is wearing a false self-mask in this relationship. Virgo, this is you. You're not giving in. That's what's going on. I said that, didn't I? I said, look, there you are being very stoic and I'm saying nothing. I'm just looking forward. I'm here. Like, the teacher calls on you. You don't even raise your hand. You're just like here. That's how you are or were recently or in the past and your person is like clueless about you. Like, what's going on? They might have been communicating with you in the past, you know, about their ideas or whatever. I feel like your person's looking at you like in the past. They just had this side eye. They side-eyed you a lot. Like, I just I have to show you. Your emperor is like looking at you like, what's going on with Virgo? Why isn't Virgo saying anything? Why didn't Virgo tell me what everybody else tells me or just gives me that, you know, why isn't Virgo like paying attention to me? Why is Virgo only talking about work and money? You know, or whatever. Let's say, okay, express your love. Go ahead and make the romantic gesture.  Your person doesn't trust it. That's what's going on.   Like, I feel like you're, I feel like this person's like questioning. They're questioning the expression of love that maybe you gave them. You know, it's not like they think you're deceptive or they're doubting. They might just be someone who's very suspicious anyway, but they just have this look like a side eye. I just keep picking up that side eye and you might have communicated to them like your true real, real feelings. But there's something with them.  It's just not how you are. So maybe you did express your love, but this person's like, is that it? Is it done? Are you going to say anymore? Or did you? Did you really mean it? Yeah. Okay. And actually, you know what I'm going to do? I have something different I'm going to do. But right now I'm going to clarify. Okay, so Crete and Pentecost. What's going on, Virgo? Why in the past were you quite stoic with this person? Okay. Oh, you were waiting to see if they would come towards you. You were wanting your person to initiate and make the lifestyle change with you. Make those changes and come towards you. But you also expressed because you wanted to make some kind of change with them. But you weren't sure. I feel like there was an energy of like, you weren't sure if they would would want to come your way or come in your direction. Let's see the emperor. Oh, the eight of wands. Okay. Well, I feel like this person was very open with you. And they might have been a bit more open with you, more excitable. I feel like they would have wanted to come your way if you had just said, come live with me, come be with me, you know, rather than just expressing your love. I feel like the expression of the emotions is what they did not trust. But I feel like you might have been hesitant, you were waiting for them to make the move. This man thinks got really confusing in the past. Okay, King cups here, sitting on the page of pentacles because I was wondering why the page of pentacles is here. Some of you might have had communication with a cancer Scorpio Pisces while you were in communication with an emperor and Aries. So there's a little bit of like mistrust.   And then they came towards you. But you were just kind of like a deer in the headlights, like, I don't know. What a confusing, confusing mess.  And somebody else was chasing after you. But you definitely, Virgo, were kind of withholding your feelings a bit, you were just kind of keeping them real low with either both people or just one. Okay, but I feel like, okay, here's another message. Okay, I feel like you've got someone here from the past, like your past person in the past was ready to come towards you, like that eight ones energy, like they would, they were ready to make a quick change. I feel like you just needed to say the word. But they weren't really good at expressing their inner feelings. So they might have hid ways to express their love to you by talking about the weather or, you know, or they might have let their feelings out bit by bit, but not a lot. Okay. I don't feel like you really let your feelings out all that much. Like you might have said, you might have said, I feel like you took a moment and dumped all your emotions towards this person in the past, like you held on, you held on, you held on and then boom, you dumped it on this person's they may not in the past may not be trusting it. But let's take a look at the future here. So I do feel like whoever your person is, they're thinking about you very deeply. They're trying to figure out going in for some inner reflection about your relationship. Wow, the hermit on the hermit, this person is going in for some double deep intense thought processes. They're thinking about this express your love thing. They're thinking about this deception thing. They're trying to sort it out in their mind. Okay. And the Queen of Cups on the King of Wands and the Queen of Cups is next to the King of Wands. So yep, you're coming through here now as the Queen of Cups. That's how they're seeing you. Someone who's got the emotion, emotional capability. I don't feel like you really had it in the past, but now you do. And now they're really thinking about you. Presently, I want to get another card for the hermit because this person is like, really like they not only went under the blankets, they they're currently taking their blankets and going under the bed and getting under them under there like it's real, really going with drawn energy. Okay, Knight of Wands, they want to move towards you. That's what they're thinking about if they should really come after you come towards you, like really initiate. They might also be currently thinking about maybe the last time you guys were physically intimate together. And they might just be thinking about that. Okay, they see though what what they're coming to terms with this. You know, I feel like this person might just have trust issues. But what I feel like is going on here is that they really see that you've been trying to put in the effort or that you were trying to put in the effort in the past in only the way you knew or you were capable of doing, right? I do feel like whoever you're you got to people here. So you might have been like really crazily communicating with one person and then lately communicating another. The one you were more crazy about is the one who's thinking about you right now. And really just taking a look at the situation. Okay, so children is in the present and make the effort. That's what I said, eight of pentacles. This person, I just I just heard they want to they want to play. They want to have time with you to play and enjoy and be like children. Great love is worth taking the steps you're got to take. I feel like this person sees that you took a massive step even though they didn't trust it in the past. They see that you took a massive step to come towards them, whatever you might have done. Okay, and now they just can't stop thinking about you and this children card also there could be consideration in regards to children if you if if somebody here has kids, okay, or they could be thinking about having a child or children with you. Okay, so let's take a look. Yeah, the ace of wands male virility. Okay, so there's definitely this person's going to initiate going forward. Alright, let's take a look and see. Actually, I'm going to pull. Do you like how I'm doing this now? I figure I'll just pull two romance angel cards for the past, present and the future to see what the love energy is. I think I like that better. Let's see. We'll stick with it. You can leave comments in the community tab if you like this. Okay, let go of control issues. Give your relationship a chance. Okay, you're a person has control issues. Definitely. They still, you know, going forward. There is some type of a block. They are hesitant and maybe withdrawn and that is a form of control. That's going to take a while. I feel like let me start at the beginning here. Okay, I do feel like your person is going to try to let this relationship evolve but to be present to it and I do feel like they want to work on this relationship with you now because you really made some kind of grand gesture in the past and even though they're not sure or they weren't sure what to think of it because maybe you made gesture and then you ran away or you just stopped communicating or something. Whatever this situation, I feel like they're really contemplating and thinking about it and taking a look at it. All right, the ace of wands is here. A new beginning. Yeah, this person's really like coming forward towards you with like a whole new set of vision, like a different set of eyes toward about you this time. I don't know what you did. You expressed your love in some way. I don't know how you did it or what you did. You made some kind of romantic gesture and they are seeing you differently now. This is Pisces and Energy here. So, it's kind of like they see that they have to make sacrifices for this relationship here. They have to sacrifice their themselves. Maybe they weren't sacrificing enough of themselves for you and I feel like maybe you were. You might have been but that's the wisdom that comes to them. Like it almost feels like whatever you did, they're really impressed with the way you do it. Did it and they want to make the effort and try to be more like that with you because the five of pentacles, they don't want to be lost without without you or left out in the cold and if they happen to be out in the cold, they want you there. They don't, you know, like if you're struggling, they want to struggle with you for a go. You know, if you're having a hard time, they want to have they want to be by your side in that hard time. They don't want to be feeling lost out here, you know, or or be worried or feel isolated or struggle in there like have financial gains only to lose them. You know, I feel like this person is quite dependent on you in a lot of ways or they will be going forward but they know they got to stop controlling the connection. Yeah, nine of cups. See, you bring them wish fulfillment and I think that was in. Yeah, that ended in your yesterday's reading as well. Okay, the nine ones are hesitant because they're definitely this person will always have some kind of fear of betrayal. They've been burned in the past. Okay, or they just have something about them that makes them like right on the brink of making that move.  Okay, let's take a look. Let's get some love messages here for you, Virgil. Oh, okay, they just wanted to throw that out. Yes, your soulmate loves, accepts and respects you unconditionally. This is your soulmate. I hide behind material things. Okay, I just want to take that top one. Okay, this person definitely hides behind money, material items, houses, cars, work. It's a way it's like a self-protection kind of thing. Hide behind their phone. I just heard someone say they do, it's easier to be on the phone than to make things real. It's difficult for them. Okay, passion. Try something you've never done before. Yeah, well that's the ace of wands. That's inspired passion. So I do feel like what they're coming in with here, this new beginning happening going forward is going to be something completely different and unorthodox because that hanged man is like they get a light bulb moment. Look at that. You see how his head's glowing? It's like an epiphany with what they come in here with. I can't stop thinking about you, Virgo, this person.  I feel you even though we are apart. Even if it's 24 hours, Virgo, did you know that? Like even 24 hours that you're not talking, this person feels that separation. I don't know if they have like anxiety, anxiety abandonment issues or something. I know that I crossed the line with you. Okay, the timing just wasn't right with us. And I feel like with your person, they crossed the line by leading you perhaps in some way to believe that there's going to be more to the relationship than there was. But the fact is they did definitely feel like there was something to this connection but it just wasn't the right time for them. Now maybe it was and they just felt like they were too fearful or they weren't ready to indulge. But they do feel like you were the best thing in my life and you're in their life. I don't really feel like they've had much best things. Yep, you came closer than anyone. So there's definitely, like this person loves you, Virgo. They do accept and respect you unconditionally. But I feel like there was just, this person has suspicion issues or trust issues. Okay, because we can love people and not trust them. We can love someone unconditionally like our children. We love our kids but when they're stealing from the cookie jar and we're kind of a little bit like, okay, well yeah, I love you but I don't trust you. Let's take those cookies again. It doesn't mean I don't love you but you're going to have to earn my trust again. This person has kind of like some issues. Then I don't know if it was something that you did that caused them to feel this way in the past or it's just their natural way. I look for you everywhere. So that's a message that this person is watching you somehow, some way. For some, you know, in this day and age it could be online. For others it could just be checking to see if you're, you know, they could be checking their phone to see if you've messaged them or called. We will be together again. So they do feel that long in the distance and then in the future that you guys will be together again. This is soulmate connection. It was my fault but I blamed you. Okay, I don't know what that was about. I think that's you.   I left you before you could leave me. So Virgo, this person might have, I do feel in the present, you know, maybe there hasn't been any communication. This person's gone in withdrawn with that hermit energy. Did they actually leave? No, I don't feel like they're gone. I just feel like they have pulled their energy back because they need to really like get some clarity and get some like truth about how they feel about you and you know what's going on in your relationship. I told you in the present that I did feel like they're really seeing the effort that you've put in or something that you did. I love you unconditionally. So this person does like it's no doubt. My life is not as together as it seems. I feel like this person does put on like you know pretense to make it seem like you know they've got everything together but I feel like it's really just that they don't really feel that way about themselves and there is a fear. Somebody must have left them in the past when they revealed their truth revealed their true selves or maybe they felt like they weren't good enough and they were betrayed or abandoned and they have a fear of that and I mean who doesn't. Okay so Virgo I'm going to leave your reading there. I hope that you enjoyed the new format that I just figured out right here during your reading. What's so fun? So yep definitely click the link below if you want to get a reading from me and do hit like share and subscribe on my channel. We've just got over 5,000 subscribers which is totally cool and hopefully we can get to 10 very soon so help me out you guys help me out and yeah I will speak to you all very soon. All right take care. Bye.


Good time, great time, best time, you'll be there, our time, everyone together, hold up, fundraise, cheese, Saturday, 10 a.m., 12 hours, live stream, all of it, every moment, for you, co-lock, fundraiser, 10 a.m., 10 p.m., Saturday, to make the show, make the show, make the show, make the show, make the show, make the show, make the show, make the show, make the show, make the show, make the show, make the show, make the show, you are a show.