Well, good morning or good afternoon, evening, not sure where you might be viewing from. But welcome to this session called Geo for All, Blending OER, Open Data and Open Software in GIS Education. My name is David Abernathy and I am a Professor of Global Studies and Geographic Information Systems at Warren Wilson College, which is a small liberal arts school just outside of Asheville, North Carolina, up in the Blue Ridge Mountains. And today I just wanted to talk a bit about my experience, an ongoing experience in transitioning an introduction, introductory GIS course from what I would consider predominantly closed course to one that's increasingly becoming open. And I'll talk about steps I've taken along the way and next steps as we look towards continuing becoming more open in the future. So I'm going to frame this in just two main bullet points here. First of all, talk a bit about why did we transition from proprietary software to almost exclusively open source software in our GIS courses at Warren Wilson College. This is our first step really in moving from closed to open. And then second, how can we then in turn, leverage some additional layers of openness, open educational resources, open data and open pedagogy to further the educational mission of both our institution, as well as the goals of the Geo for All initiative. And so first, talking a bit about why transition to open source software when we already had access to, to very popular software system for geographic information systems, why transition, and I came up with this catchy acronym to encapsulate why we did that. And this was also the sound that our IT department made when when I asked to, if we could set up a full Linux lab, totally open source from top to bottom and they, they let out a bit of a squeal, they said we're a small department. We're trying to keep all of our labs sort of on the same system. And so, ultimately we decided, okay we'll run open source software but we'll run it on the Windows operating system that was being incorporated in several labs on campus. In addition to that these ease I think talk a bit about the reasons why we felt like we wanted to make this transition. The first of first of those is expense this is probably the low hanging fruit these days in higher education when institutions are looking to save money. I was asking them that I wanted to switch to open source could we do that. And when I said, well it's going to cost a lot less than what we're paying now they said sure go for it. And so what we were doing at the time this has changed over time at institutions and it's different at larger institutions than our small college like mine, but what we were paying for at the time was just for enough computers to fill our entire lab, a single space. We also paying for an additional software extension called spatial analysts that allows students and researchers to do land use analysis and some things that the folks really wanted to be doing in our classes. So we had to do that, and we were paying on top of that maintenance fee. Just to kind of maintain the software upgrades. So again, not maybe a prohibitive expense but enough of an expense that when when told that we could remove that expense from the budget, folks were happy. And so, now we have a lab that's running entirely on free software. And I point to Richard Stallman here to remind us that that free is not just the price. Right, it's a sense of liberty and so we'll come back to that point. But in addition to the expense, I think this liberty that it gives you is something we should consider as well. I also think that transitioning to open source sort of fit the ethos of my particular college, at least, and maybe others. We're like I said a small college in the mountains, we tend to have we have a work program or one of eight work colleges in the country so all students work. In addition to going to school. And we have a, as we can see here we have a blacksmith shop. We have a fine arts, excuse me, fiber arts crew. We have a working garden, working forest, working farm. So our students are used to making. They have that maker mentality I like to say, and I think open source software is not that different. Our students like peeking under the hood. They like this idea of something built by community, rather than by corporation. And so I feel like open source software really fit alongside the mission of my institution. The key related to that is as education. There are a lot of folks who have have talked about in here I come back to Richard Stallman about the sort of social implications of using open source software. And here another another quote by Stallman talks about, we should use, we should consider open software the same way we do conservation and voting and the sort of citizens social mission. We've had some research in the past, or this particular editorial, for example, in nature, that if you, you know if you believe in the scientific method if you believe in looking at how people came to their results not just the role results they achieved, then you need to look under the hood, and arguably proprietary software kind of creates a black box and you can't fully see how experiments were conducted but if you use open software, you can see exactly what was done. And I think sort of the impetus for me, starting to make the transition was, thanks to a lot of hard work being done at the OS geo foundation, their geo for all initiative in particular, really pushing in education, the teaching of geographic information systems with open source tools. And that really got me to think about making this transition and I thought I'm going to, I'm going to go for it here. And also ease of use. Some of you have likely used open source software if you go back a couple of decades it was a little more difficult to use. It was harder to get up and running. And so the free was often countered by, well, yeah, it was free in cost, but it's eating up all of my time that has a cost to increasingly that's not been the case. Now this is a bit of a dated screenshot that the software we use has matured past this. At a particular point in time, you can see this sort of image on the right raster analysis using actually not QGIS which is the software I'm using here, but software called grass and as we began to see these incorporated together, I could, I could access tools from other software programs, all within this one interface. And that to me was from a teaching perspective and an introductory class. That was a game changer, I could do sophisticated and robust analyses, but not have to teach for different software programs. So it became increasingly easy for everyone to use. Another e here and is expanding beyond classroom walls and this is one that actually had more of an impact than I anticipated. And that before we had to have the software on desktop computers in a single lab, we were not allowed to hand out discs and say hey love this on your laptop or hey let's put let's put a couple computers in the library and let's run it over there couldn't do that. But with open source software of course you can you can have as many copies running as you'd like. And so suddenly we were able to release GIS from the lab environment into the full college environment. We had students in classrooms, working on GIS we had students in the library. I had a student catch me in the cafeteria with a map on his screen that that he was working on and had questions and I thought this is great. And it's also great because students can work at 2am in their dorm rooms which is when they seem to prefer to do their homework. And so it really expanded our abilities to to use the software as we saw fit. Another is extensibility and thing I like about the tools that we tend to use in our classes is that you can always find an add on, or if you have the skills you can build an add on you don't have to rely on the software that comes out of the box. Right. And so, if you look at qgs for example there are things called plugins, but you can go download. If there's something that you're really trying to do and you can't find a way to do it using the core software. There might be a tool out there that allows you to do it. Or again, if you have the skill set you can even make your own. We also use the R statistical programming language, and in our, there are packages, kind of the same general idea that you can grab a package download it for your specific task. I tried to fit the packages that start with the prefix geo on the screen and I couldn't do it right there's there's these aren't all maybe geographic in nature. But there are many, many packages in for the R statistical programming language that allow you to do sophisticated GIS as well. So you can find the packages that meet your needs. And then I guess and all the final e and maybe the most important important one would be employment, right that we can find ways to give students skills, meaningful skills for meaningful careers. And some folks were saying well that's why you should teach the proprietary software because that's probably what these people are going to encounter in the working world. And my counter to that was to say, as long as we teach the fundamental concepts and vocabulary, I think students can move from one platform to another that's my goals to not training to be platform specific, but to have the ability to move across multiple platforms. And one of our students went to work for the city of Asheville. And one of the, the folks there Scott Barnwell told me that we actually seek out people who have open source experience because we found that they tend to be more nimble. They're almost like GIS ninjas, they would say because they can kind of figure out how to solve problems, not worry about which buttons to push in the in the software. And so while we transition to open source and that's been over probably 1012 years ago that we did that. And so I found that students really seem to enjoy it, I felt like the learning objectives were not diminished. If anything, I felt like we maybe enhanced student learning by transitioning to open source. So let me thinking, you know how else can we sort of move down this road of open, because I started feeling a little guilty or hypocritical, because here I was espousing the benefits of open source software, and then turning around and asking students to buy an open source textbook. And if you, this was something that I'm sure many people at this conference if not everyone knows is that textbook expense is not an insignificant issue. And the price of textbooks has not abated, and it has become really an equity issue for many students, the cost of textbooks alone can be detrimental to student learning. And so the price I was looking at the different books I tried over the course of several years, and students told me, Well, first of all, it's expensive, but some people this was this was there where just was a student valuation this is this to hand hold the it's it's kind of like a recipe book it tells me what the point and what to click, but it doesn't teach me to doesn't ask me to think, right. And so that obviously is not ideal. So I then shifted change books to one that didn't talk about software at all really just talked about sort of the underlying science of geographic information science, and then the students bought and said well wait a minute this is almost two theoretical. I like to have some kind of hands on coverage in this this book, I'm not getting what I need still. So I couldn't find a book that met that sort of bridge that gap. Not really for me, not to mention that that software changes tools change, and therefore the book model is a little too slow to keep up with the software and the tools that are that are being updated and created each year. And also, again, a single book sometimes covered certain things I wanted to teach really well. Sometimes it covered things in a manner I thought was a little too difficult, perhaps, or maybe it didn't even touch on a topic that I found for my classes was was super important. So, all of these reasons I felt like okay, I have to look beyond the textbook is not not working several students just told me outright I'm not buying it. I'll photocopy my friends book or something to that effect so problematic to say the least. And so that's when I turned to looking at open educational resources. Again, the folks in this conference know these definitions all too well I suspect, but to me it's really sort of extending that philosophy of open source and applying it to open, open educational resources so the text the tutorials the any materials that we wanted to use to learn. I began turning to open educational resources. And about that same time, I started to see that initiative appear at multiple places in higher at one of which was NC live library consortium. They had an open education project, and they actually enticed faculty to make a switch to an open education more resource in a course and they gave you some guidance on how to go about that. And so that's when I learned about the mini repositories out there. I won't list them here but they're one example would be an open textbook library here. And this is actually a text I decided to to use essentials of geographic information systems. If you can see the very great print down there you might notice that the publication date was 2011. But I actually found like this book will not be out of date because it's not talking about specific software it is talking about geographic information science, the core concepts core vocabulary. And I thought that it did a really good job of doing that. And because it's open. It's free and open source basically, I can use this text. I don't have to assign all of it. I don't have to feel guilty because students spend a lot of money on it I can pick and choose which chapters I like, and I can bring in other supplemental material to cover the things that I do well here, and also some software specific tutorials and tools. So by moving into this open educational resource I think it really opened up our access to all kinds of teaching and learning materials that otherwise we would not have been able to use. And then thirdly, after sort of switching the software switching the textbook, I began looking at open data and again open data. As I'm sure you know, data that can be freely used shared and built on by anyone, and again adopting the principles of open source software. And so what that meant for me is that I was able to turn to tutorials or data sets that for free on the internet that I could then incorporate into class and that was important because some people I think are afraid of not having a textbook that has a shiny wrapped up DVD full of what I could go. And people told me like you're going to have trouble you have to clean the data you're going to have issues out there, all of which I think are good learning points of a course, but there's so many data sets out there that are free and open that I didn't feel the need to make my students buy an overly priced DVD full of packaged tutorial data. And a decade ago, we started to see this movement really take off in my community in Asheville. The city got behind open data actually sponsored an open data day, and it's in sponsored a civic day of hacking. And so we saw this push to sort of take what had previously been either buried in PDFs or CDs into an open data portal online that we could, could then use the city of Asheville created an open data portal cities across the country. We're doing this Asheville certainly was not the first, but it's effective that you can go into the site and easily access multiple data layers of all kinds for the city. At the state level, we saw the consolidation of many, many organizations and many, many compartmentalized GIS, GIS operations into NC one map, where I can get anything from parcel data. I can get aerial imagery, all sorts of data increasingly available through this site. And at the national level of course there's data.gov. So, so again, we're accessing more data than we could ever need on these different portals and students really seem to like poking around and seeing what they can find to incorporate into their projects. The OSG, of course, coming back to the OSG foundation provides a lot of resources, tutorials, video guides, things to help students and and teachers for that matter, learn about the possibilities of open source software. In the final step and this is one that is certainly not complete by any stretch of the imagination but where I'm trying to go with it is to move towards something called open pedagogy. And open pedagogy, I think means maybe different things to different people but to me it's essentially trying to move away from the educational model that says okay we're going to put information into your head and you're going to spit it back out on a test I'll grade it and we're done. Right, so it's really a move away from what has been dubbed sort of the disposable assignment and move towards something that actually has real value and has value beyond just the professor teaching the class. And so, and thirdly sort of focusing less on the letter grade and more on true knowledge creation and helping the students learn the skills, the concepts, the theories, the ideas and then be able to apply them to their own problems that they run across. So again this is early days for me but what I'm what I've done to try to move down this path is one I have, I've added a assignment for students that's essentially build a tutorial for the, for the students who come after you. Students in my spring semester of GIS were asked to pick something that we've already had already done in class, and write up a four page tutorial to address. I gave them specifics about be sure to share the vocabulary, walk through with screenshots, tell us what's the goal of using this particular set of tools, and what kind of results might you expect. Students got into this because they knew, oh wow, I'm actually creating something that will be used by other people next semester is not being thrown away. I also had students very early on in the course, write a short paper on what I call sort of a critical GIS assignment. So they were to go out and look for examples of GIS being used in the world for either good or or maybe in a way that needed specifically examined. So looking at things like gerrymandering or redlining or different ways in which spatial data and software could be used to again restrict social justice or perhaps more hopefully promote social justice so thinking again about not just the technology that we're learning in class, but how these technologies have an impact on the world around them. We're having students as much as I can possibly do take on projects that are for not just me, but for an outside, quote unquote client right and that might be their work crew. We've had students map storm drains or lighting fixtures for campus crews. We've had students do mapping projects for outside non governmental organizations, but importantly, there is a set of eyeballs out there that are not my own. I find students that there is a real world value to what they're doing. And I guess to wrap up I would say that in terms of sort of takeaways and next steps for us. I felt I feel excited that we've kind of, I feel like critical mass around open source software at least we have people in conservation biology ecology GIS statistics courses all using the our statistical programming language. I feel like we've had this sort of beyond just GIS a move institutionally towards open source. And we have been able to springboard from that and create a new minor in data science and just got approved. A new major in data science and so we're really trying to ramp up our focus here on data science spatial data science, but focus almost exclusively on open source and open educational resources. And this switch has helped lead into some student success, whether it be graduate school, or whether it be career wise, we've had students trained on open source using open educational resources, going into things like an applied math master's program, or working for a data science startup or geospatial analytics PhD program, or working for cities and their GIS department. I feel like again it's it's maybe still anecdotal at this point because we're still sort of evolving but I feel like we've been able to have some success by moving this way. And I'll just quickly share to wrap to wrap up. NASA has a program called NASA develop and it's basically a 10 week internship program. And it's, it's, it's therefore students at the undergraduate level graduate level I think maybe even occasionally high school, but they get to work with a senior climate scientist on a real project for a real client, and they have a real deliverable. And so two of our students went to work on this particular one which is to develop a snow melt monitoring tool using satellite data in Alaska. And our students found this to be an amazing experience. Again, they got to work with a senior climate scientists they knew they had it deliverable out there was not a disposable assignment. And they were able to do not only survive this 10 week experience but thrive one of our students became the team leader, and they learned, they turned back on their sort of open source experiences as sort of contributing to their ability to tackle this sort of very large scale project. And so I again it's early days for us, I would say, but in my experience transitioning to open source, open educational resources, and open data, and eventually open pedagogy have made us all better teachers and learners. So thank you so much. I'll stop there. And have a great rest of your conference.


Okay so I'm Michael Hall, local developer here in Asheville. I guess most of the work I do these days is WordPress although a lot of what I'm going to talk about is sort of approaching coding and I guess in particular PHP from the standpoint of someone who didn't who sort of learned that stuff before WordPress and had to sort of figure out what's the optimal way to do stuff in WordPress and really the heart of what I want to talk about is this whole process of generalization. I come from a math background and so this is like this is really what inspires me to like work harder work longer work more you know to make your stuff not just apply to your one immediate situation but make your solutions apply to like a wider class of stuff. So I would kind of define this process as saying you know you start with one or more known facts or solutions use and expand on these together and classify a wider variety of facts and solutions and then repeat. So that's a real basic breakdown of this process which for me carries over from studying math a lot of things between math and computer programming are so similar that you know it's it's all pretty applicable and I have a disclaimer here due to excessive study of mathematics this speaker is trained and equipped to use the above process thoroughly and actually I'm just going to level with you so this is actually a confession not a disclaimer. Due to excessive study of mathematics this speaker is obsessed with and addicted to using the above process constantly. So that's you know that's my motivation for this talk like that's what I love to do that's what motivates me. If I build something and I'd use it one time I'm a little bit disappointed if I can't like pick it up and use it again for a different project. So a quick example non-word press related right now this guy. Anybody know who this guy is? Here's a hint it's not me wearing a robe in a headband. No it's an ancient Greek mathematician called Euclid. So this guy was around in like 300 BC and he's kind of my hero. He didn't do any computer programming obviously but he probably could have if it existed back then. I don't know this guy just sort of interests me to no end. Basically he compiled a 13-volume geometry book which is actually like still kind of the heart of the geometry that we learn or try to learn in like middle school and high school right and he put all this stuff together back in like 300 BC. So he basically started with real simple assumptions and said alright here's the definitions I'm going to use here's the assumptions I'm going to base everything on I'm not going to prove them because they're assumptions I'm assuming they're true and from that little seed he started to prove one thing and then he used that thing to prove another thing and he used those two things to prove more stuff and he ended up with this 13-volume book that is still really influential like 2000 something years later because it was just put together so well and so kind of an idea from his book that I guess I can sort of take a little bit further. There's this idea how many people know about the Pythagorean theorem. You probably did not expect to hear that today right? Who can like state a version of it? Okay so what's the context there? Yeah so we're talking about a right triangle. Let me just give you one. There it is. Right so we all kind of probably remember this at least seeing it at some point. So if you know A and B and you're trying to find C, C would be the hypotenuse there. Pretty simple and easy formula that's not actually C but you can just take the square root and you got your answer. So you know think about this for a second. This is like one specific triangle or type of triangle right? The thing that this hinges on is you have to have a 90-degree angle right here. If you don't well you can't really use this formula. So what I'm trying to get at is maybe how could we take this one known fact and like generalize it to like speak to more triangles and tell us stuff about different triangles. So here's sort of a different triangle. Notice we don't have a right triangle anymore. We just have this is a letter theta so we have the angle theta. It's the exact same thing except it's no longer 90 degrees right? So you might say well it works before or why wouldn't it work again right? Turns out not to be true but all you have to do is tag on this little extra little piece and what I'm about to show you next basically took I don't know maybe 3,000 something years to evolve from triangle one to triangle two right?  Just simply subtract 2ab times cosine theta. So you know what my point is here is basically this is way better because it talks about all triangles right? This is cool but not as cool because it only talks about one particular type of triangle. So what you're probably wondering now I'm sure is hey I thought this was about WordPress. Why are we looking at triangles? But that little tiny little example is kind of like most of the work that I do is revolving around that same idea. You know let's take one particular thing and let's figure out it's going to take more work hopefully won't take 3,000 years but it's going to take more work. Let's just figure out how we can take this and like make it better so that it applies to more cases and that's really kind of the thing at the core when I'm doing development is what I'm always thinking about. So really the way I relate this to WordPress you can think of a child theme as like one specific case right? That's not absolutely true but usually when you have a child theme you're kind of just using it on one site again that's not always true but more or less in my experience that's usually what I'm doing. So when I first started working in WordPress I learned about child themes and saw that there was this functions dot PHP where you can put all your code in there and it just kind of magically gets read in by the system and it's great you can just put your PHP in and just go. I guess what I ended up doing was I would have stuff that was really specific to that site and then mixed in with some other stuff that I might want to like transport to a different site and I would end up with this mix of code. There's like some of it I could like chunk out and use on a different site but it was always this process of how do I like pick that functionality up and move it. So from child themes I went on to learn about making plugins and really you can think of a plugin as just it's a generalized solution right it's kind of it harnesses that idea of generalization where it's not just applying to a specific case anymore if you have a plugin you ought to be able just put that on any site whatsoever and it should work the same ideally as it does on any other site. So a lot of what I'm going to be talking about today is you know taking some stuff that you might be tempted to put in your child theme and really think about could I potentially make a plugin out of this. By the way when I say plugin I'm not necessarily talking about registering your plugin with WordPress. There is a process to do that but in case you didn't know you can pretty much just make a file on your computer or on your server or whatever and it's a plugin you don't have to like get it approved or registered you can just go ahead and make it and start using it yourself which is a really cool thing. Like I said generalizing is way easier said than done I can't tell you how many times I've done something specific on one site and then been like cool I want to reuse this and then oh well this site's different so I have to like you know make it I don't want to break it to where it doesn't work on the old site anymore right so you have to keep that working and then also make it work on this new site at the same time and so you really do get into this mode of you know I can't think too much about the specific site I'm using this on I have to think big like let's just pretend that this could be on any arbitrary given site at any time and so that really sort of helps you think a little bit deeper about the coding that you're doing and like I said the triangle example is a real good example that took like 3,000 years to get from specific to like a general solution so what I'm basically going to do sort of like a case study here and I'm gonna it's not going to be super super realistic it'll be pretty realistic I guess we're going to be mimicking some aspects here and there but the task that I came up with for this talk is essentially building like a social sharing icon set like you've probably all seen sites where you get to the end of a post and it's like share this with your friends so there's plenty of plugins out there that do this I'm not trying to build another one I'm not going to build another one this is kind of just mimicking that idea just to use it as an example so it's not going to be like a true social sharing plugin that works we're just going to try to mimic the process of how you might migrate that from your theme to a plugin so the tools we're going to be using our HTML and CSS we're going to use JavaScript and also a little bit of jQuery because I want to talk about how you know dependencies and stuff can be handled when you're dealing with JavaScript files and WordPress obviously PHP since we're in WordPress and then to handle the icons themselves I'm going to be using font awesome which if you haven't heard of that is a really cool thing it's basically a huge icon set that's not image-based it's kind of like text-based so it's not very expensive on your page load and then what I'm going to do is you know I put a lot of thought into what should this child thing be like that we're going to start with and I kind of wanted to mess it up and make it like not very good right because there's there's just a lot of things that I learned as I went in WordPress and I was doing things a really bad way and then I learned like oh yeah you shouldn't do stuff that way try doing this instead and so I kind of want to point out some of those things that I did and that I learned were actually not that good just in case somebody might be doing the same things so the child theme itself is going to be just a 2015 child theme what's this here TYCP well it's the name of this talk turn your code into a plug-in so why why would I like use that for crucial and the theme folder name but this we'll come back to you later when we start looking at files and stuff so obviously style.css and functions.php two files that are in almost every child theme I guess those are the two files that if you go like you're trying to do something on WordPress that you don't know how to and you Google maybe you find a forum post or something you know there will always be a discussion like oh we'll just add this filter in or whatever and then almost without fail the original poster will say okay well that's great but where do I put that code and usually they're like this might be a dumb question but where do I put that code and almost without fail it's going to be in one of these two files and I think my personal opinion is just because those are the two files that almost everybody has right so that's just kind of the common files that things get dumped into a lot of times I'm going to throw in a header.php and that's an example of something that is not really ideal so I'm going to kind of use it for a not-so-good reason just as an example of maybe what not to do and then I did want to have some JavaScript in there so I'll have like one JavaScript file it kind of handles the the mimicking of the sharing capability there and then I guess before we really dig into some of the coding the goals that I'm going for really just take that sharing icon functionality and just pick it up from the child theme and move it to a plugin right if you do that once then you're pretty much set you don't have to do that every time you want to you know use this sharing functionality on a different site you could just grab the plugin folder throw it in your plugins folder and go and so again that's really kind of what the main point of this talk is of course we want to make sure not to like pick up any of the pieces of the child theme that have nothing to do with our sharing icons so we want to leave the non-related stuff intact and really look out what are we picking up and moving and what needs to stay in our child theme and then also like any little gotchas that might come up as we're doing this and really quick I am going to have some code up here on the screen so if you're like on your laptop or something I have two get hub repositories that basically are holding the code that I'm going to be working with and so this is the child theme that we're going to start with at the top and then eventually we're going to end up with this plug-in so if you're if you're really wondering like how do I make my own plug-in or you know if you want to look deeper into what we're talking about you can always just kind of clone these now or later whenever I'll leave them up there indefinitely but if you wanted to follow along now if you can't read that you could certainly just clone those right now and my slides here if you wanted to find those there's the address so I'm pretty much ready to go ahead and just start digging into a little bit of code does anybody have questions before we do that okay let's go ahead and do that all right so I have basically I'm running a test site on map so this is all going to be kind of locally done here you can see my themes folder I've got my 2015 theme and then my child theme here and if we open that up you can kind of see it all those different files so I'm just going to go ahead and open up this theme folder and text wrangler with my magic command open says me opens up basically the current folder and a text wrangler window just a little shortcut that I wanted to define and I guess I didn't have text wrangler open so it might be taking a while no I was about to have to do it the long way that's good so here's our here's our child theme we have a functions dot PHP we have a style dot CSS we've got a header dot PHP and then just a real quick real small JavaScript file and the site that I'm working on here is just you can obviously tell us 2015 child theme really quick let me ask you as this what here's sort of the social sharing icons that I made here they do I'm sort of filtering on the content so if I go to basically any post I'll see those icons if this were a real world sharing plug-in you probably want some options as far as what pages does this show up on and all that kind of stuff but again this is just sort of a quick example but this will put those icons after every single post so what's kind of like the one thing maybe if you know 2015 what's the what is it about this theme other than the sharing icons that's different kind of small but they should jump out really it's just the these guys link colors and header color so I wanted to have those in there again it's kind of a trivial example but I wanted an example of something in the child theme that was not related to the sharing icons right because we don't just want to pick everything up and move it into a plug-in we just want to pick the sharing stuff up and move that so our child theme is still going to contain all this green stuff but our sharing icons are going to be sort of picked up and moved over to the plug-in so in the the style.css file you can you just kind of have all these headers which hopefully if you've made a child theme before you're familiar with you have to tell it what's your theme name right and that shows up over here my 2015 child theme right that's just the name that I'm defining and all that stuff happens in the style.css file so when we get to making a plug-in you're going to see it's really pretty similar the description here says a child theme that probably contains enough custom functionality to warrant a plug-in and so if you kind of click on the theme here again just the fact that I have that in my style.css file that's making the description here on the child theme page so again I mentioned this because when we build our plug-in it's going to work in a real similar way so what we can do here by the way this is not really the ideal way anymore to enqueue your parent style but I don't know I kind of just left it like that because again this is supposed to be a child theme that's not really ideal at all so I'm trying to point out like kind of some common things here we'll come back to that in just a little bit the main thing here that's not quite right about this child theme is what's in this header.php file right so if I look through here this is the kind of thing that I do if I'm like forced to edit a file that I really don't think I should be or like I don't want to edit a file but I don't really have any other choice especially if I'm working with other people on a project and it's not under version control and stuff like that I will just sort of make this little note like hey m-haul that's my first initial in my last name hey I edited this little part right here right and then I close it with this so I used to do this stuff all the time a lot of times when I shouldn't have been doing that really but you know I was kind of in a learning process there but what's going on here this is really not an ideal way right we don't really want to just hack into the head of our child theme what is maybe like a better way to do this there's one word that starts with a knee anybody know thank you yeah we want to enqueue our CSS and our JavaScript and so this is the kind of stuff that I was just doing all the time because I didn't know WordPress and I didn't really know any better and I'm hoping that there's at least one person who sort of might be in that same ballpark where they might be doing similar stuff so we're definitely going to fix that up and in fact once we enqueue our scripts properly we can actually just get rid of this header dot PHP altogether it really doesn't even need to be in our child theme so that's going to help to sort of clean stuff up a little bit if we take a look real quick at this JavaScript file it's really not doing a whole lot but again I did want to at least use a you know the JavaScript file and sort of make it dependent on jQuery even though if you look at the code well it really doesn't need to be dependent on jQuery you could do it really easily without jQuery as far as how this works again I'm sort of mimicking this functionality so all that my plug-in is going to do here is when you click on one of these instead of going to all these services and finding the right code to sort of make the dialog box pop up to share what I did was I just insert this little text at the bottom sharing is caring and so that's going to just mimic again like popping up like I said I didn't want to remake a social sharing icons plug-in because there's a bunch of good ones out there so that's not really the point essentially what this is is it's going to be mimicking what this functionality is doing so you can just kind of hit that all day and it'll it'll just put a new sharing is caring at the bottom and if we just reload the page should all go away so the first thing I mean really one reason why WordPress has its own in queuing system is if we just kind of take this chunk right here oops and let's say that we are just kind of messing around with where we should put that and we put it above WP head right that's going to cause some problems me just open up my console does anybody know right off the bat what problem is that going to cause okay well let's just see so I want to open up my console here and just reload yeah it's above the head section so what am I getting there jQuery is not defined well what does that mean well basically it just means my JavaScript file which is being loaded right here is trying to use jQuery but jQuery hasn't been loaded by WordPress yet right because it does that on this WP head call so if you you know this this method of like sticking your scripts and your style sheets directly in the head is pretty temperamental because you can put it in the wrong place really easily and again if you're making a plug-in you don't have access to the person's like header dot PHP file you just can't edit that so we really need a way to get our style sheets and our JavaScripts loaded without like hacking in to the header of our parent theme so we're gonna basically handle that in just a second but again this whole dependency on jQuery it's just kind of one of the many things that you'll you'll come up against and that's really it so at this point I guess that's a good review of the child theme we're gonna go ahead and make our plug-in now did anybody have questions at this point as far as how this child theme is set up maybe why some of those things were bad to do anything like that hopefully that all made sense okay so let's just look at how we can actually make a plug-in and if you've never made one before it's probably a lot easier than you think it's going to be okay so I'm going to go back up out of my themes folder for now and into my plugins folder there's nothing in there which is fine if we go over to the site here we can go to plugins and no plugins available though it's just fine there's no plugins in the system yet so I just want to make sure that this error got cleared up once I moved my JavaScript back and I guess I didn't save that or something what follows that then so I neglected to save when I move this back down so what is kind of if I'm making a plug-in does anybody know what's sort of the first thing I should do on my computer if I want to make a plug-in well a good place to start is just go ahead and create a folder right and we want to make it right here in this plugins folder and I'm just going to call this TYCP turn your code into a plug-in dash plug-in example you can call yours anything you want preferably don't use a folder name that is already belonging to a plug-in in the wordpress.org repository and essentially what I need is just like one one file it's really all I need you don't actually even need a folder you just need a file but we're going to make a folder because we're going to have multiple files in our plug-in so here we are in the plug-in folder and all I'm going to do is just make a PHP file with the same name as my folder it doesn't have to be the same name but it's usually a good idea so I'm going to I'm going to create a file and I want to just create a file called TYCP dash plug-in dash example dot PHP and then I'm going to open this guy in text Wrangler 2 so there's only one file in here but we will have more usually when I'm like first starting a plug-in what I'll do is I'll just Google it used to be in the codex actually just this morning though I noticed for the first time I don't know if anybody else has but if you Google like how to make a wordpress plug-in this page right here in the codex has a lot of good info in it I'm about 99% sure that this page used to have like the header that you need to put in your file but literally like just this morning I was looking and it wasn't in there so I'm really glad that I caught that but it's actually let's see it's on one of these and essentially we just there's like a big chunk that we need to copy and paste so what we're really looking for is the header and wordpress gives you this example of like what kind of header could you have in your plug-in so this is really it to make a plug-in it's as easy as having a file and again this is where it's really similar to a child theme you just sort of notice that this whole chunk of code is actually not really doing anything as far as PHP is concerned it's all in a comment right you see like the little slash star at the beginning and end well that's just a comment so we're not really executing any code we're just kind of using wordpress as format that it knows how to read so I'm just going to call this sharing icons plug-in you can literally call it whatever you want this plug-in doesn't have its own web page so I'm not going to fill that out the description ads social sharing icons after post content it's always good to give your users a description so just for the sake of thoroughness I'm going to say on all pages if you're making a plug-in you should really communicate to the user what they can expect and so they might see that and say well I don't want it on all pages I want to go find another one you're kind of doing them a service because they don't have to take the time to install your plug-in check it out see if it does what they want and move on so use that description to kind of tell them what they can expect version I'm not really sure if you even have to have that I don't think that you do but all this stuff I'm filling out most of its optional some people are probably gonna fuss at me for removing these two these are what handles like the translation stuff into different languages but I'm essentially for now just going to ignore those because it's not really even a real sharing plug-in but this is where the cool part comes in so just doing that which is essentially doing nothing in a sense there's no PHP code being executed it's just a comment I can then go to my plugins page and reload and all of sudden hey I have a plug-in so it really is just that easy you put a little block of comments in a folder or in just a file put that file or folder inside your WP content slash plugins folder and you've got a plug-in so that's pretty cool and you can go ahead and activate it it's not really again it's literally doing nothing so this is kind of like the most basic plug-in you can have it's like the Seinfeld of plug-ins right plug-in that does nothing so let's go ahead and make it do something I'm gonna go ahead and copy essentially copy this stuff and at this point I guess I'll go ahead and not just copy but I'm gonna cut this out of the functions file okay so if you're curious about what that code is doing like by all means ask me about it after I know it it can sometimes be hard to read on the screen so again you can clone all that this examples from github or just ask me after so there's all the code that's doing the icons so again here's and I want to this is where it does become important I just moved this from a child theme to a plug-in right so this is no longer something that's I can really consider just on my site now it's potentially on anybody's site that has this plug-in and that's important so why do we put these to ICP underscore right if I were writing 30 functions for this plug-in I'd put that in front of every single one of them I used to think that that was kind of dumb when I would see that on forum posts until I understood why you do that so why do we do that anybody yeah if you define if you define a function twice then PHP just decides it's gonna give up usually I guess depending on your PHP version but like let's say that we just to show you an example it's well first of all let's make sure that this is gonna let us know and it didn't like that so let's see did I I might have forgotten to save that functions file see what that says I think it doesn't like the fact that this file let's actually go ahead and just remove that functions so I'm just gonna take my functions dot PHP out I think what it didn't like was the fact that there was just a PHP tag and no white space after that I can kill your site so I just removed if we look at my child theme on the left there's no functions file anymore so if I reload this hopefully it'll come back and it does so at this point I guess just to kind of demonstrate a proof of concept here why do we need this underscore I mean TYCP underscore that probably is the most important thing to do when you're making a plug-in because if if you make a plug-in and another plug-in developer has their plug-in and you call a function the same name then the entire WordPress site is just gonna be white screen it just dies so that's why you'll always see these little like underscore prefixes on all these plug-in functions and just to kind of prove that what's a WordPress function anybody just name a WordPress function so let's try to create a function called get posts and let's just not really have it do anything but it'll just be a function does nothing yeah so it doesn't like that I tried to redefine an existing function and it said no you function with the same name I'm just gonna give up and not do anything so that's why we always have to use these little underscore with our function names I guess I go ahead and get rid of this here so really I guess if I reload the front end I'd be curious to kind of see what what it looks like since part of our functionality is now on the child theme and part of it is in the plug-in all right so I'll see if that breaks anything no it doesn't really have a problem with that of course if this was any other site than mine it would look weird because you'll be missing stuff but let's go ahead and kind of just yank out all this stuff and by the way you you see that prefix everywhere like I've got a div called TYCP-share-links and you know I'm really careful to add that prefix almost everywhere because in my plug-in if I make a div that's just called share-links well maybe someone else also has that div and their plug-in and then I could define styles for mine which would also inadvertently change styling on the other div with the same name so I guess I can't really say it enough just to kind of like when in doubt put that prefix everywhere you possibly can so what I'm going to do now is I cut those styles out of the style sheet and I want to paste them into my plug-in somewhere let's see so if I go back here and here so here's my plug-in folder again it's pretty basic so I'm going to do is I want to make a directory called CSS and I'm going to make a directory called JavaScript or just JS so that created two directories and inside my CSS again probably not necessary but just kind of getting the habit of using initials and you end up putting them everywhere so if we go back into our text editor now we'll see this CSS file and I'm just going to dump my my CSS in there and save at this point we should see some stuff broken yeah so that's kind of like what the ordered list looks like without any styling so why is there no styling I moved it from the style sheet and my theme to my plug-in but it's still it's not getting loaded right so I actually need to within my plug-in I need to say hey I created this style sheet go ahead and load that style sheet so if you're not familiar with the NQ process for WordPress there is an action called WP NQ scripts and what that does it basically allows you to hook into this process and do your own stuff whenever this whenever WordPress calls the the process there so it's this is going to fire on the front end on every page load and what I can tell it to do with my second argument is just to call a function that I'm going to define and I'm going to call it TYCP underscore NQ right so this is kind of like the NQ function for my plug-in and what I'm going to tell it to do first is to NQ a style and I have to give it sort of like a handle so I'm just going to say something real basic and then the next thing I have to do is to tell it basically where can this file be found and again this is where it's tougher to do when you're trying to generalize things but if we look in the child theme right this was like the bad way to load our style sheet and let's see oh actually it was it was in this style CSS file but what I can do and this is going to be bad so just watch and see if you can tell me why this is bad so the URL for my style sheet is slash WP content slash plug-ins slash turn your code into a plug-in example slash all right that's a lot of typing but literally like that will work it's not a good idea but it will work as long as all my typing was correct so let's see if that did the trick nope it says it didn't work I forgot the CSS folder alright so while this is loading why is it a bad idea to put that absolute path or it really wasn't absolute but why is it to put that explicit path in there like I mean it probably will work on some sites it's not going to work on all have you ever seen a site that's like installed in a sub directory so you have like dot com slash blog slash whatever well on those kind of sites this isn't going to work because look how we're calling this path it starts with slash WP content so that'll go to the root and then slash WP content so this is where we get to a difficult case really if you're not familiar with it like how do we account for that how do we tell it hey no matter what the folder is just kind of go to plug-ins directory there and so I kind of have a little cheat sheet here that I do I have this command called plug paths that means nothing to you I'm aware I made it up myself but I basically am going to pass in my my prefix TYCP and hit enter and I'm actually just gonna paste this so it pasted it to my clipboard hopefully oops I actually wanted to copy not paste so when I get basically whenever I first create a plug-in I always add these two functions at the bottom and what this is doing is I'm defining a function this just my initials underscore URL and that's going to always return me the URL of my plug-in folder no matter what subfolder I'm in I can always call this and I know that I have the URL of my plug-in and that's extremely helpful because it lets you get around sub directory installations and all kinds of other stuff if you want to know about what this is actually doing you can ask later I'm not sure if we're going to have time to go too deep into those but the point is when you're in the world of plugins again it's tougher right took 3,000 years to generalize the one triangle example it can take a long time to generalize stuff with PHP and WordPress as well so at this point I can just call the URL function and say hey give me the URL but also append not WP content basically inside my plug-in folder and I'm just going to say slash CSS and then my file name so notice I'm kind of skating around that that issue here like I don't have to say slash WP content I can just define a function that gives me that and use it anytime I want so if I reload that's going to be fine so as far as the JavaScript if we look back into this header dot PHP which was not ideal right we have this JavaScript file which is dependent on J query we saw that it broke if we moved it up here so we're basically going to take that same concept and actually I'm going to enqueue also this font awesome CSS file while I'm here and this one doesn't actually need to call my plug-in URL because it's reaching out to CDN so you can just do that and I want to go ahead and get these things all out of the header like so so at this point and again this is a great moment when you're dealing with child themes when you realize like oh hey I don't need the header file in my child theme anymore I can just get rid of it that's always a great thing you're like shedding some stuff that you really didn't need you're kind of losing weight in some sense so at that point you know you can just basically take out the header file and I don't think our JavaScript is going to work any more because that code hasn't been loaded so you can see I'm clicking but I'm not getting the sharing text down there so I guess there's there is a difference here what we're doing here is enqueuing styles there's also a function called in queue script and again you just sort of pass it a handle and you tell it where to find the file right which we haven't created yet so I'm going to go ahead and create that essentially what I'm going to do I guess I could have just copied the whole file but I'm basically going to paste all that stuff into a JavaScript file which now is living in my plug-ins folder and should be getting enqueued using this command here and I am missing one piece there so let's just kind of see what happens it's going to probably work but not really again same issue jQuery is not defined right so we saw that when we were hacking into the header file like we were not really supposed to if you put that script above WP head you get this jQuery error because jQuery haven't been loaded yet so this whole enqueue process is really good as far as you know you can just tell it hey what scripts does this depend on in our case it just depends on jQuery I think you still have to pass it an array so this is basically telling WordPress like hey don't load this file until jQuery is already been in queue and I can make calls to jQuery that way so now if click on it everything's working and if you look at I guess these two folders here here's my plug-in folder which now pretty much everything we had going in that child theme has been moved over right I still have a style.css but it really doesn't have anything other than some header and widget stuff right that's the green text that we were talking about earlier that's fine you wouldn't want to make everybody's h1's green so don't move that into your plug-in so you really have to think about like what kind of stuff are you you know you're basically defining stuff that's going to happen on everyone's site so you got to be a little bit more careful with styles and stuff like that and so then the ultimate test here and we're just about to wrap things up right this should now work if I change themes right theoretically that's the whole point of the talk so I got my fingers crossed I hope you all do too and I'm just going to change themes and see what happens so I have 2014 loaded on here as well let's go ahead and activate that refresh and there it is so thank you yeah so that's for me like when I sort of discovered that process of moving stuff out of your child theme into a plug-in it just sort of opened up this whole bigger world where it's almost like you're working on many different sites at once in a way so at this point I guess does anybody have any questions that's pretty much it for the talk any questions about anything yeah absolutely you see that other questions all right well go ahead yeah that's pretty much exactly what we do we kind of started out that way and just recently we have sort of like registered a couple of them with WordPress.org so yeah it's not an easy process if you're used to get because you have to use the version that was a big hurdle for me it was like a whole different version control system that I had never used before but yeah we have a couple in there now but I guess one of the main points about this talk is like you can just make your own you can host them on GitHub if you want to share them with other people you can host them on BitBucket if you want to be private and then you can have like free private repositories there that's typically what we do if we're working on a plug-in that's like not quite ready for the general public to like see you know everything just usually like put them on BitBucket and just have this internal group of plug-ins yeah anybody else all right thank y'all


Coming up on DTNS, Australian Intelligence accidentally scoops up data from a COVID tracing app. The New York Times and Washington Post showed different paths forward for newspapers online and Twitter wants you to judge its new check mark verification. This is the Daily Tech News for Tuesday, November 24, 2020 in Los Angeles. I'm Tom Merritt. And from Studio Redwood, I'm Sarah Lane. And I'm Roger Chambers. The show's pretty simple. Joining us is tech journalist Peter Wells. Welcome back to the show, Pete. Thank you, Thomas. Thank you for having me on the show. Oh, it's a pleasure to have you back. We were just chatting about all kinds of things, including glasses, both smart and otherwise. If you'd like that wider conversation, get our expanded show, Good Day Internet. Become a member at patreon.com. Let's start with a few tech things you should know. A California grand jury has indicted Apple's head of global security, Thomas Moyer, on charges that he tried to bribe Santa Clara County officials with 200 iPads in exchange for four concealed firearms licenses, known as CCW, for Apple employees. The charges followed a two-year investigation. The iPads were reportedly never delivered because Moyer and Santa Clara's undersheriff Rick Sung learned in 2019 that the district attorney was executing a search warrant for the sheriff department's CCW records. I mean, they asked him for the bribe. He didn't have to give it, though. Sony Interactive Entertainment CEO Jim Ryan confirmed that the PlayStation 5 is completely sold out during an interview with Russian news agency TASS. He said the supply shortage likely would have happened without COVID-19, but that launching in the middle of a pandemic was a challenge he, quote, wouldn't recommend. Ryan says due to travel and other restrictions, quote, we had to do all the manufacturing preparation by camera remotely. I mean, just imagine that for a precision device like the PlayStation 5. Twitter will now warn users who try to like a post that has been labeled as potentially misleading. Twitter said warnings on, quote, tweets of labeled posts decreased sharing by 29 percent. So obviously the company thinks it's working. Twitter has said the warnings on, quote, tweets would be in place until at least the end of the election week in the U.S., but they remain in place today. Oh, they're never going away. Korean publication Aju News is reporting the Galaxy Z Fold 3 will be the new Samsung IT phone in 2021 and pour a little out, folks, because they're saying the sources are telling them Samsung will discontinue its Galaxy Note product line. Samsung hasn't commented, but according to analytics firm Counterpoint Research, the Galaxy Note 20 and Galaxy Note 20 Ultra were only fourth and eighth in the top 10 smartphone sales for the first week of September behind the iPhone 11 line last year. Pre-Taylor Junes. Junpei Spinoff has received a Luxembourg electronic money institution license to operate in Europe. Junpei will let Europeans send and receive money instantly for free. Junpei will also let you send money to any email address or phone number, whether or not the recipient uses Junpei or not, and connect to any existing debit, credit card, or bank account. Junpei has opened a waitlist for its beta app on Android and iOS and will compete with TransferWire, PaySend, and PayPal, among others. All right, let's talk a little bit about drones and robots living together. Let's do it. Israel's Percepto makes unmanned aerial vehicles for remote work, inspection, and monitoring. Basically, they fly over empty work sites to collect data and look for issues. It's one of the few drone companies that makes the whole stack of software and hardware, including computer vision, navigation, analytics. It develops most of its own hardware, but it does acquire chips from Nvidia. But Percepto is partnering up with a robot. And you might have seen it around the internet, if not in person. Percepto's Spiro drones will integrate with Boston Dynamics spot robots. Spot is that famous four-legged robot that you might see frightening people in YouTube videos, or maybe you, depending on where you live. In the real world, it can handle rugged terrain and recover from falls and stumbles. But for some reason, it freaks people out. The partnership will see spot robots handle high-resolution imaging and thermal vision on the ground to see things that the Sparrow drones can't see. Spot is expected to find things like hot spots on machines, or electrical conductors, water and steam links around plants, and equipment with degraded performance. Yeah, so these are usually not abandoned work sites, but work sites that need to be left unoccupied for certain periods of time. So this is both security, but also just maintenance. If a leak springs and there's no one around to see it, you benefit from one of these drones spotting it so you can send somebody out there to fix it, or any of these other things that you mentioned. Having spot involved is interesting because it can see some things on the ground that a drone can't. And potentially, although this isn't part of the immediate plans, you could maybe fix it up to do some minor maintenance itself. Maybe plug a leak or turn off a lever or something like that. So I think this is interesting, especially because Percepto has gotten within the industrial IoT space a lot of credit for the Apple model where they have the whole stack. But it shows that they're still willing to partner outside of their expertise. Their expertise is in the air and they're partnering with Boston Dynamics on the ground. Yeah, I mean, the idea that something could happen at a plant that isn't heavily manned by humans. And at least, even if the humans have to eventually come in and fix whatever is broken, to just get more information about what are we dealing with here? Is there hazardous materials? What are we getting ourselves into? It makes a ton of sense. And I don't know why people don't like the spot robots. I think they're really cute. It's the Uncanny Valley thing. It's the way that they move just freaks people out because you perceive that they're not real, that they move so much like an organic being. But yeah, I think that this is great timing as well because there are so many construction projects that have been put off due to our current circumstances. And so, yeah, there's going to be a great need for this. Yeah, for sure. And I think there's obviously the reaction of I fear this taking my job. I fear robots and drones teaming up together to be too smart. But this is the future. And in my perspective, what this does is it makes it more efficient to run these complex situations, whether they're construction sites or whether they're industrial installations, which leaves more money to apply to safety. It leaves more money to apply to customer service. The cynics will say, but they won't do that. They'll cash it out. And in some companies cases, you may be right. But the smart companies will use that money to improve their business because in the long run, that's what's going to make those companies better. So overall, I think this is an interesting development in an ongoing slow and maybe less covered revolution that's happening. Been a lot of concern over the future of newspapers too, speaking of a slow concerning disruption, including efforts in Australia and Europe that would force Google and Facebook to participate in plans to pay news outlets for the privilege of linking to their stories. But Axios's sources show two outlets in the US, the New York Times and the Washington Post, have been faring well of late. Both outlets have tripled their digital subscribers since 2016, three million for the post and six million for the Times. Axios says the post growth is credited to its back end technology. The post has developed its own advertising and publishing software. That itself brings in revenue because they can license that out to other companies. It makes for a more user friendly online experience because they are working on that interface. And it's developing a single sign on feature for the more than 100 sites that use its ad software, a lot of local news sites among that. A post engineering team is focused on paywall and metering applications, making them work better, optimizing them, that boost sign ups, which it also licenses out. It also licenses out that technology. Jeff Bezos owns the Washington Post and it shows a lot of like build a platform for your own use and then make money off of it by letting other people use it. Now the New York Times on the other hand is focused on brand awareness, hiring recognizable names with big followings like Cara Swisher. There's been a growth in opinion based content because that grabs eyeballs and brings people in. It's also focusing on daily habits like cooking and crossword apps. Axios notes that research shows flashy things like hot talent or discounts to get people in the door and functionality and breadth of content keep people. So both these companies are doing parts of that and that explains their success. The Times is going for buzzy talent and an emphasis on editorial while the Post seems focused on platform engineering and optimization. It's almost as if one is owned by an engineer and the other is owned by a newspaper family, which is in fact the case. Peter, you work in this industry. You're very close to the idea of like, hey, can newspapers survive? What do you make of this? Yeah, I think Axios is, I don't know, idea here is, first of all, I think that they're right that both companies are doing an amazing job and doing much better than a lot of other newspaper companies, including my own, in terms of understanding what digital means and how to bring in people. The New York Times is focused so heavily on podcasting, for instance, which is something that they were one of the first newspapers to really stake a claim in the podcasting space.  So it's been something that I've wanted to pay attention to. Yeah. And yeah, that probably lends to some of the numbers that we're seeing. Not that you couldn't read it on paper, but in the digital world we're in when there's a lot of news that people say, all right, the subscriptions, it might be worth my money. Yeah, I think that's important to note because not every newspaper outlet has benefited. So yes, you get that surge, but how do you make it work for you, essentially? Yeah. And I feel that with those two papers specifically, it was so many stories I was reading that they sourced the original story from The Washington Post and The New York Times. So at a certain point, it became, it felt like, well, I may as well support the places that are actually breaking the stories rather than just the people who are rereporting the stories. But yeah, I think this shows, I really hope that some of the papers around the world, especially in our market, we seem to be very slow at adopting new technology. And I would really love that some of my bosses would have a look at the strategies of both companies because, yeah, it really shows that newspapers don't need to be a thing of the past. Yeah, and I think it will also be interesting to see what affects these different approaches have. I don't subscribe to either one of these, I subscribe to the Wall Street Journal, but I do that because I find the content valuable, right? So I kind of like the New York Times approach here of being content. But to get people in the door, you have to have buzzy content which pushes you towards opinion, which may push your outlet to kind of skew in a certain direction because that's what brings in the money. Whereas The Washington Post is taking a more engineering approach, which is going to be a little more editorially independent, but it also might run out of steam if there's not this continued surge of interest, right? It's one thing to build a great mill on the river that takes advantage of the flow, but if the river dries up, it doesn't matter how good your mill is. So I think those are both interesting. It'll be interesting to watch both these approaches and see how they fare now. Yeah, and I know that for us that we produce the show every day, there's probably more tabs open from different news outlets than perhaps the average person, but you also have all of the big names in the newspaper industry now trying to push towards digital. They know they can't pay while you completely. Some do, but mostly it's like, okay, you have like a few articles per month, and then you can get around that by opening a new browser or using a VPN, and they know that too. And I just wonder how many folks are like, I don't need to pay. I mean, some people are paying, but how many people are just not that's always been the question. How many people are paying? And it looks like quite a few because these are subscriber numbers. These are people paying. Yeah. Well, Microsoft's Phil Spencer told the Verge that an Xbox app is likely to appear on smart TV is sometime in the next 12 months. Spencer previously told a strategy that he thought you might see project cloud streaming sticks and at it at the time, quote, you could imagine us even having something that we just included the Game Pass subscription that gave you an ability to stream X cloud games to your television and buying the controller that could be easy with a smart TV app connected to a Bluetooth controller. Perhaps Microsoft also announced a partnership with Samsung in February that would certainly include phones, but might also include TVs. We're seeing a trend here. He also told the Verge he has no plans to abandon consoles, no plans to abandon hardware advocating, quote, a hybrid environment of the cloud and the local compute compatibility. The Verge speculates this could mean being able to try a game in the cloud on an Xbox console, say, before deciding to buy and download it. I love this. I also love how Phil Spencer just goes around like leaking things to interviews. It's quite entertaining to watch. But I love this idea of saying like, look, we're not going to stop making Xboxes anytime soon because of course, he's not he can't say that he would he would anger the Xbox loyalist out there, right? But he's also saying we could also make it so all you need to do is buy a controller and then launch an app on your smart TV and start playing Xbox games through Project X cloud. And and while that may not be good enough for everyone, the fact that you can still buy a console, if it's not good enough, I think is I think it means they're like, yeah, we're taking that Azure led approach that Microsoft said, which is we'll put Microsoft Office apps on Android and iOS. Because what we want is people to use our cloud service here Phil Spencer saying we don't care what device they're using as long as they're using the Xbox to play some games. Yeah, you stole my idea completely there, Tom. It feels exactly like the DNA of modern Microsoft that you don't necessarily need our hardware.  But I can also see this being, you know, really handy in a family setting where you might have the one great TV that the Xbox is normally plugged into. But then you've got the other TV for the kids. And if they want to play again, they can just go in and and with a controller jump on on a TV and still get that experience of playing on the TV. But yeah, they don't need a second Xbox in the house and and all everything that, you know, just before this this new console era started, I was so I so thought that the PlayStation five would dominate and the Xbox had no nothing to compete with. But all of these great little ideas that they're coming up with, you know, the I really think that they've shown that software is so much part of the game, and that they're leading in a lot of ways in software and integration and play anywhere and apps. And it's just fascinating to watch. Yeah, yeah. Playing to the Microsoft advantage, playing to the internal expertise. And as you say, software is the game. The game is software, literally in this case. Thanks, everybody who participates in our subreddit, you can submit stories and vote on them at Daily Tech News Show dot Reddit dot com. A report published Monday by the Australian government's Inspector General for the intelligence community. That's an oversight agency of the government's intelligence agencies, their spy and eavesdropping agencies. That oversight agency says it's discovered that some intelligence agencies were quote incidentally collecting data from Australia's COVID safe contact tracing app during the first six months after its launch. The collection happened in the course of a lawful collection of other data that was allowed to be collected under the Privacy Act. Now that collection is considered incidental because it wasn't possible to collect the data they were allowed to collect by warrant without inadvertently collecting the COVID safe data somehow. The watchdog group said that there was no evidence that any agency decrypted accessed or used any COVID app data. The reports that the agencies were taking active steps to ensure compliance with the law and prevent future collection and that collected data would be deleted as soon as practicable. Practicable. Now the COVID safe app uses Bluetooth to allow proximity, not location data. So this wasn't going to have your GPS coordinates in it. But the app did require a user to upload some personal info like name, age, postal code and phone number. This is the oversight working because they caught it and they're looking into it. But Peter, you're someone in Australia that this directly affects. How does this make you feel? Well, I think that it's great that the headlines here have been as sensible as they are because you could easily have made this. COVID safe is lying about the privacy that they promised us all because that was one of the big things. When COVID safe was launched, there was a lot of pushback by the community and because of that, they really took a slow launch and made sure that they had all of their privacy concerns addressed by people like Troy Hunt even. They got in experts outside to look over the code and say, would you trust this on your phone? And the majority of people said, yes, they're doing everything they can possible. So what it sounds like, we don't have the full picture here. But what it sounds like is that there was a warrant already in place on someone that and because of that, they were tracking everything that that phone was doing. And in the case of that, they happened to pick up some of this data. It sounds like because they're saying it only happened in the first six months. I don't know the timing there, whether that means that they realized that they were doing that and now they're no longer doing that. The thing is COVID safe, no one I know is still using COVID safe, unfortunately, because the Australian government chose not to use the Google Apple framework and iPhones basically don't work with COVID safe. And there's a market share of about 60% of iPhone in this country. And so that became common knowledge pretty early on that this app doesn't really work. And so unfortunately, people don't use it anymore. So I mean, I think a contact tracing app that worked would be fantastic in our current situation. But unfortunately, that's not the case. Either way, I think that this is, like you said, it's the system working as it should. It's picking up the issue and hopefully addressing it. Yeah, I mean, my guess is probably they were monitoring someone with a warrant for six months, and then the warrant ended, and then the oversight committee found this and just a guess though, don't really know. Well, Twitter announced it's relaunching its verification process with new guidelines. The new system will roll out in early 2021, but the company is asking its users for feedback on a draft of those guidelines. The proposal would make government accounts, companies, brands, nonprofits, news media accounts, entertainment accounts, sports activists, organizers, and other influential individuals eligible for verification. The blue check mark, as it's known, although it's not always blue depending on how you're accessing Twitter. Most of these accounts are verified by being confirmed on the site of a verified organization like a company or a sports team website. Different kinds of media coverage can also make an account eligible. The criteria for anyone else which would put you in the category of activist, organizer, and other influential individual is as follows. Consistent and rule abiding use of Twitter for six months prior to applying for verification and meeting one requirement for activity and one for notability. Activity requirements involve creating a popular hashtag or being in the top percentile of active accounts. I can hear you chuckling, Pete. Notability can be from Google Trends, a Wikipedia page, news coverage, or reference from an advocacy organization. Verification can be removed if a user changes their display name or bio to mislead people about their identity or for repeat violation of Twitter's terms of service. You can take a survey for the policy by December 8th. If you're really interested in being verified, if you haven't been already, or tweet your thoughts with the hashtag, hashtag verification feedback. After receiving and considering feedback, Twitter will finalize the policy on December 17th. I am now chuckling myself. Twitter also says it plans to offer more ways to identify yourself, such as new account types and labels. And the reason that I'm chuckling is not because they're not, clearly the company is taking this seriously after sort of just abandoning the entire process for some time, but I just don't know who cares that much. Activists apparently. Does it strike anyone that this seems so tailored towards activists? Yeah, I mean, listen, if I was like, hey, listen, this is my whole thing. Twitter's my platform. I want people to take me seriously, and that verification is going to help me be taken more seriously than I would be otherwise. Sure, you'd be like, hey, Twitter, wake up. Help me out here. I'm a legitimate person, or I at least think I am. But yeah, I kind of forgot about it quite honestly. Yeah, look, I think this is almost embarrassing. That's why I was kind of giggling away. It seems to be missing the issue here of what verification should be on Twitter, which is I would love to just see, open up verification for everyone. Just, make it so that if you've given a legitimate phone number, then you are verified as a user rather than a bot or anything like that. I think the idea of having this kind of caste system where some people get the blue ticks, because they're more important. I'll tell you how I got my blue tick. And by the way, my friends all call me a blue tick tosser for having it. They always think it's hilarious. But the reason I got my blue tick was I showed up to a Twitter launch one day in Sydney and they just gave them out to everyone who was in the room. And I guess technically that meant we were important if we were in the room, but we weren't really. There were some losers in that room, including myself. And the whole system is just so silly. I just, yeah. I think they've backed themselves into a corner somehow by letting the check mark become a status symbol. Because I think you're right. I think they could do a fairly simple verification procedure that just said, hey, you want to prove who you are? Do this. Granted, that maybe that's too much scale with the size of Twitter's audience to do now. I don't know. Maybe that's part of the problem. And maybe they just need prioritization to say like, well, we need to go to the most famous accounts first. But the fact is people do see the check mark as a notability item. And I think Twitter has decided that, well, we can't change that. So we need to adapt our policy to it. But hey, y'all asked for transparency. So here you go. Let's talk about vinyl records, shall we? It's been a minute. Vinyl Superior Art of Fidelity. You know, vinyl nerds will certainly say that archival longevity compared to things like CDs or tape or MP3s. But the classic knock on the medium is it's vinyl. It can't boot an operating system. It's just what it is. That was true until engineer Joseph Bogan turned a turntable to spin a vinyl recording of a 64 kilobyte bootable read-only ram drive containing a modified free DOS kernel. The bootloader reads the disk image from the record through a cassette modem, which is then loaded into memory and then boots the system. Sure, the sound from the record conjures up memories of the worst AOL dial-up sounds. I don't know. I kind of like them myself, but you might have not.  There's finally a solution for you. Yeah, I just prefer the intimacy and the warmth of running my OS on vinyl. Absolutely, absolutely. I love that this was done. There is no reason for this to be done other than it could be done. And in the spirit of having Peter Wells on the show, I'd like to say that Joseph Bogan is no Bogan. Tushesa. I don't even get it. Because Bogan is an Australian slang for an unrefined person, I suppose. I see. Yeah. Like a hoosier or a hick. Like a hoosier. Right. Yeah, a word that we all use quite often. Hey, I've seen the movie. Yeah. Yeah, it's a good movie. Yeah, it's great. Yeah, this is awesome. This is just one of those things. And of course, Wang Wang is, which will be in our show notes if you want to read a little bit more in the article, is great at uncovering stuff like this. Yeah. I mean, and Tim in our Discord points it out. This is the equivalent of a program on cassette. And back in those days, there were programs put out on vinyl records. So this is fantastic. I love it. All right, let's check out the mailbag. Let's do it. Rob wrote in and said, I recently got a recommendation that was awesome. And I both jumped on and started digging into other possibilities. Here's the scene. There's an echo beside my beds. The alarm is set to play my local NPR station every morning, but I set the volume low to two. Because I only occasionally actually get up at that time. Later in the morning, I turn up the volume for my morning routine. Amazon's assistant offered out of the blue and I was taken aback to set the volume to that low level every morning. So I don't get traumatized by Steven's keep at high volume at five in the morning for that first for that first round. I couldn't say yes fast enough. Rob says, turns out they're turning up possibilities. Get it. And I'm sure the accuracy is hit and miss early on, but I hadn't seen it coming. And that's very clever of them. I wonder if I can tell it to do this. I know. Because I have I have an issue with this as well. Eileen, when she cooks, plays Spotify, but it's too loud. And so she turns it down. But then when I go to listen to my flash briefing of the BBC News in the morning, it then is too low and I have to turn it back up, but she doesn't cook all the time. So we don't do it. It doesn't happen often enough for it to catch on. I'd like, I bet I can't. I bet I could just tell it like, Hey, can you do this? My problem is that I listen. So I've got my flash briefing set up to play NPR and then the BBC and it's all sort of part of my, you know, first I hear the weather, my lights go on and then I get some news. The BBC is extremely low volume. So I start with something where I'm like, ah, you know, down, volume down, volume down. And then I'm like, struggling to hear the BBC stuff. But that's all in one thing. So that's probably a separate issue altogether. But Rob, this is interesting. I love it when my assistant who happens to be Amazon most of the time at this point is like, Hey, do you want me to keep doing this? I'm usually like, Yeah, I do. Thank you for asking. Also, I think we discovered if there's anyone working at BBC podcasting out there, your flash briefing needs to be louder. Turn the volume up, please. I want to hear your stuff. I'm throwing stones because we've had the same problem on Daily Tech Headlines. Yeah, no, it's, it's good content. I just want to hear you. Well, if you've got feedback for us, we want to hear you as well. Feedback at dailytechnewshow.com is where to send those emails. We also want to shout out our patrons that are master and grand master levels, including Scott Hepburn, Dale McKayhee and Allyson Jobby. Also big thanks to Peter Wells. Peter, it's so nice to have you on the show. And where can folks keep up with your work? Yeah, follow me on Twitter. It's Peter Wells over there, and I am silly enough to have also started at Daily Tech News Show at the helpdesk.com.au. Very cool. That is brave of you, my friend. Welcome to my world. Go check it out, folks. It's good, the helpdesk.com.au. If you want an ad-free feed of DTNS, support us on Patreon. You get your own personal RSS feed supported directly by you. You can find out more about that at dailytechnewshow.com slash Patreon. We're also live Monday through Friday, 4.30 p.m. Eastern, 21.30 UTC. If you can join us live, we'd love to have you. Find out more. Tell a friend, dailytechnewshow.com slash live. We'll be back tomorrow with Scott Johnson. Talk to you then. I hope you have enjoyed this program.


What's up guys? New type of video here. I'll just be talking straight from the heart I won't be putting a lot of the crazy videos and nice editing I make on the other videos because this channel has been growing and Quite frankly, I need to put more content out there So in order to keep up with the demand some of the videos are just gonna be me talking But it's about the value anyway, so let's get into it anyway, so tomorrow is my 21st birthday and If there's anything I've learned in my life my relatively short life Compared to some of the viewers out there is that We often think that we have a lot of time to do what we want to do We have these grand aspirations these grand goals that we wish to accomplish over our lives and When you look at it from a distance, it looks like we do have a lot of time You know, we have 24 hours in a day Seven days a week 52 weeks a year seems like we have ample amount of time But what we don't take into consideration when we are Making our goals and we are thinking about what we want to achieve is the time That we spend idle, you know humans were not built to be Super effective at doing things outside of survival Our buddies are not meant for us to attain some of our lofty goals So many of the time we have on this earth will be spent just doing nothing procrastinating Waiting around and stuff like that It's not always that we're gonna be on our hustle Getting in making sure that we're doing the necessary things that we have to in order to attain our goals so in order to ensure that we actually do reach some of our life aspirations it is necessary for us to understand that It we might have to Cut down. We're not going to be able to accomplish everything that we thought we might have wanted to do when you were younger perhaps you wanted to have a certain type of job or to Become a professional basketball player and as you go over that you start realizing some of these goals that out of your reach Some of these things that you desperately want it will be unattainable or require too much effort. That's the nature of life That is okay. What is important is coming to an understanding of this fact and Being able to adapt being able to cut down lean out lean out your goals Like anything deeply about what you truly want to do and you need to go just for that You need to kind of have a tunnel vision in regards to these things like for me my calling so far is you know Partly making these videos educating people on some of these things ever since I was a young man people tended to Come to me for advice, you know, I'll give them advice because I had that sense of Being able to put my self in their shoes So I was able to give them decent advice that would help them, you know, and that's carried on to this Platform YouTube and my blog and what have you it's just an extension at this point in my life I'm also doing an engineering degree. I'm studying mechanical engineering. I'm in my third year right now So that's something else. I'm doing so I can't really Expect to also become a rapper or to become a award-winning author or An multitude of other things. You really have to narrow it down and find out exactly what you want to do Exactly what it is that you need to accomplish before you died in order to die Well, do not do everything if you do everything you're gonna accomplish nothing No one wants to be a jack-of-all-trades in a must or of none This is the problem that too many people fall for they try accomplish too many things they try again to You know marketing they try again to coding they try to get into Writing they try again to you know sales Too many things they're trying to accomplish you you don't have enough time You need dedicate yourself to one thing to really understand something at a almost spiritual level if you wish to become great at it Look at Bruce Lee when Bruce Lee was doing martial arts. That's all he was doing. He was doing martial arts He was trying to become the best of that. He was Dreaming about martial arts. His life was the embodiment of martial arts. He didn't try to be a comedian He didn't try to be a soccer player. These things do not help you Find out what you want to do and double down triple down on it. For example at my age I'm 21 tomorrow as I said before you would expect me to be playing a lot of Call of Judy a lot of Halo 4 Halo 5 whatever the hell it is these days or going out to a lot of these clubs and getting drunk smoking weed But I don't because I had to make necessary sacrifices in order to balance the tougher lifestyle that I want and I'm having In which I'm doing the degree in which I'm working part-time and doing this entrepreneurship Sharing my stuff out there via this blog via YouTube. I need to make some necessary sacrifices and Chasing girls and smoking weed does not help me in that endeavor. So I don't do it that often, you know Well, I don't smoke weed all but I don't Do those things that don't benefit me because I feel like I have a limited time And if I miss my opportunity right now, I might not have this opportunity again And that's what you should do with your goals You should see them as as a sacred almost because too many people think that they have all the time in the world They think that they have abundance of opportunities, but that's not the case It's not the case at all.  I'll catch you guys later. Just do it