Hi, my name is Alex. I'm a librarian at the University of Alabama, and in this tutorial I'm going to show you how to use PubMed's search filters in order to make your searching easier and more efficient. In this tutorial, I'm going to try to find some articles about the effectiveness of diabetes self-management education programs. To do so, we'll start with a simple keyword search. Even if you're using basic keyword searching, you can always enhance the precision of your searches by using the search filters on the left hand side of the screen. Some of these are relatively intuitive. If you need more recent articles, you can use the date slider to weed out older content. Alternatively, you can use the predetermined date ranges below. Then there's the text availability filter. Not everything on PubMed is immediately available in full text. Therefore, you might be tempted to check the free full text box. That would, however, eliminate all articles that are not considered open access. Some articles that aren't open access are provided in full text to you because of your affiliation with the University of Alabama. We pay for access so that you can use them. Therefore, I would recommend just choosing full text or leaving it alone entirely. You can also choose a specific article type, and there's a whole range of additional options under the additional filters button. Here, you'll find more article type options, species options, language, sex, subject, journal, and finally age. I find the age limiter especially useful. It can save you the trouble of adding descriptive keywords like elderly or children. And that's all for this tutorial. We have other PubMed tutorials available if you want to learn more. And if you have a question, just ask a librarian.


I'll give you a little bit of background. So this project was my PhD, which is technically in sociology, which is arguably more hilarious because there wasn't anyone in the sociology department who really was able to supervise my work that well. And that's how I ended up with a physicist as a supervisor. And I'm the only sociologist he's ever supervised, which is kind of hilarious. And so, and again, it was his research group that was crucial for me to be able to go through all of this technical stuff in a way that I would actually be able to get some results. So if that hadn't happened, I probably wouldn't have finished my PhD. So, but you know, there's finishing the PhD and then there's publishing it. Those are different tasks and various other things kind of had to take over. And so my supervisor and I have finally decided let's go back and see if we can finally get a paper out of that. So that was part of the way of forcing myself to keep going with it and to present at this conference and a conference on social network analysis, which was last week. So this is a very technical side of it, whereas the presentation before was very much the results, analytical results. But I figured this might be interesting for other people in the Python community and particularly if people have old projects that they need to kind of return to and get up and working again. So I call it resurrecting because it was very much the sort of left in stasis kind of situation from a few years ago. And of course, many libraries have changed and this is only looking at the Python side of it. A lot of the analysis ended up being an R as well, so there was quite a lot of back and forth between the database in Python using Django's ORM, specifically the Geo Django ORM in retrospect. Post GIS using the SQL Alchemy GIS, I think it's Geo Alchemy package would have been another option that I kind of wish I had gone for in some ways, but I found so much more documentation of Geo Django and that was one reason why I stuck with it. And I guess the possibility of maybe one day releasing the results in a way that other people could then look at the data was part of that motivation. So maybe one day, but at the time I went with Django and it was still when I started, gosh, part of it actually went back to my master's which was back in 2008. So that was fairly early days by Django standards and the Geo Django stuff was very recently coming out. And so that was back under Django one, I think maybe 1.3 or four, something like that. So if we fast forward to 2014, which is when I finally handed in my thesis, Django I think had gotten up to 1.11, but I had gotten so worried about getting the results that it was still kind of Django 1.7 which we'll get to in the initial state bit. And a lot of the libraries were kind of should have been updated, my test structure which I had done with knows was not done very well. And so there were still tests that weren't passing, they were taking hours to run. And my supervisor not being a software developer was mostly concerned about getting the results published. So things got really hacky towards the end. So I'll just give you a brief further context. It was on analyzing the geographic spread of this community and this map at the back. Let's see if I can zoom in on that. Maybe not. Yeah, so each of these dots, the circle is the number of people running bulletin board systems which were very early kind of social network communities in which people would literally act as a server on their home computer and publish times that other people could connect to them and then they would save messages that other people could read. And they tried to keep the list of phone numbers that you could call to connect updated every Friday. So that's a time series of the change in this community going back to at least 1983. So that's weak level changes in a community that I studied. I think I finally left the data at about 2012. So we're talking almost three decades for large sections, weak level changes in a community structure. And so each of these circles is the coordinates of the U.S. telephone exchange and the number of servers that are being run with numbers that are through that exchange. So it's a little bit misleading because it looks like Washington state up in the top left corner. I assume maybe you can see my mouse is like massive compared to say California, but it's actually partly because there's so many more telephone exchanges in California. So there's actually much higher density of places. It's just that they aren't all going through the same telephone exchange. So they all show up in the same place. So to process all that information, the geographic, I used GeoJango, which allows me to use post GIS so I could run spatial queries. And so it ended up being a Django project. And then from that, constructing that dataset alongside U.S. census data, which is also very geographic so I could get the demographics of the different regions. I could try to model how much the demographic features were important in the spread and then the client of the social network. And I'll just give you another slightly brief kind of delve into the context. This is, I hope you can see this, so FidoNet was the name of the community. There were a number of other bulletin board systems or VBSs, but FidoNet was probably the most global. It actually covered all six inhabitable continents and varying degrees. I actually have plots of that if you're interested. And so this was back in sending texts. So there was actually some fascinating parts of the project in which they were trying to deal with different character encodings before Unicode. And so I won't go into all of that, but that was the project. I think it's a really interesting topic. It was a really good documentary and I've met the guy who made the documentary. I've also met one of the people who wrote a lot of the core code that the system was founded on. And this little logo here by John Madill was the original logo of FidoNet. So that's the context of what I'm studying. And so in creating all of this, I used Django. There were two main datasets. One was the list of telephone numbers and actually I can go into, you know what? Why don't I alter my... Well, okay, maybe I can go back to that. I can show you the list actually of telephone numbers in the file format. Maybe what I can do is just quickly show some of that. So this is a presentation I gave at a social network analysis conference called Sunbelt. So yeah, I hope you can see this. This is an example of the data structure that I was processing. And so I can give you a talk on regular expressions if you like, but yeah. So this is a very hierarchical routing structure. There were actually zones for continents and then regions within continents. In this case, Eastern Canada. And then sort of nodes that were geographically local to that particular region number. And then another hierarchy of hosts. Within that and underneath hosts, there's another hierarchy of hubs. So you can see this is sort of the easier, more standardized level of data. The much earlier stuff is really, really complicated and just use commas and spaces but not in a clear structured way. There are a lot of asterisks to account for more international numbers because originally it was just US numbers. Anyways, there was a lot of processing that went into that and that then led to the dataset. And then I wanna show you this here. There's also US census data which can give you demographic features down to approximately 8,000 people and they'll give you the shape of those as in a shape file, which I could then process with Geo Django and I effectively created, maybe I could show you that somewhere else. Yeah. So each of these lines in this structure is a region that we could get demographic information on. And then these dots are the coordinates of the US telephone exchanges. And so I combine the telephone exchanges around areas that I could get demographic information on that of course there were some awkward edge cases around lakes. And so I constructed my units of analysis with about 16,000 areas. And then I could look at when each area, if they did, adopted and controlling for demographic factors to an extent spatial proximity helped predict joining the fight or not community. So that was the idea and that was the sort of data that needed to be processed in a structured way. So I can actually briefly show you. Let's see. Yeah. So hope this shows up. This is the database hierarchy of tables that I constructed. This was also one of my first big programming projects. So I'm guessing there are many people who think this should be done in different ways. People argue about the best way to do database structures. Feel free to criticize me on that. This was really my first big dive into programming at least on this level of project. So what I'm showing you here is the node time period. What I'm showing you here is the node time point. So I was trying to look at the time points of each activity at a regional level which I could then get from 1990 US Census data and there are different, there are tracks and census blocks trying to handle those different hierarchies. And then there was another which is the NHGIS data which was another regional amount for larger areas where you can get more detailed demographic information which is also related to this iPons thing. And so there were certain things like age and occupation which I think we could only get at the larger area level. And then there were other bits of data that we could get on a more finer grain level. So we had to do a weighted structure of all of that information to kind of characterize all these regions and how much that might make a difference in modeling this community's spread. And then getting the geographic information from area codes and the census track area codes and the coordinates of US area code regions. Anyway, so this is just a glimpse at the database structure that all of this was stored under to then effectively get a sense of the network as it was expanding and then try to get the data right. And I guess that's another crucial thing to point out. What I've done is much more feasible in a research context where it's not like a classic Django project where you have a bunch of users and they are, you need to have some data or something that's providing that service on a consistent basis. I can rerun the whole thing, I can drop the database, make sure my answers are right. I didn't have the classic situation of providing a Django site as a service to users. So that gave me more flexibility. And given how difficult I found this project, I shudder to imagine what it's like if you're running your own Django site without a whole team of other people to help with that transition process. So that's all the background. And so I'm gonna dive back into this. So it's interesting finding this whole share thing. So I'm hoping this is working. Okay, cool. So I think we're back to my poster. So with all of that context, I'm gonna start with the preamble. I assume you've heard of PEP8. Which is about making your code as clear as possible. And clearly written code, documented, tested. If you haven't looked at it in years and you come back to it, I cannot express how crucial that is. And even stylistic sort of linter packages, and there are others that I'll come blanking on some of the names that are kind of, you know, I've just initially running that on my code base and suggesting, why did you just name that variable one character? And then I can't even remember what that variable was doing. And it forced me to label it into a clearer readable way. It's absolutely crucial. And I found it difficult to express that to my supervisor. I think to some extent, some of the research expectations aren't as stringent as I guess production level projects where you're providing a service. But the more I tested and documented it in a structured way, and there were some downsides to the testing, which I'll get to in a bit, I couldn't have gotten anywhere without that. So huge reason why I find Python to be a great language. So with all of that preamble, the initial state for this was, this was a project back with Python 2.7.5, Django 1.7, Django NOS, which is a test running framework, which is built on NOS, which is considerably less popular. I think even the main NOS branch hasn't been updated in a year, but I can't look at that. There was a new package, which was brought into Django core after that, called South, which is for managing migrations, another very crucial potential aspect of a project like this. So I think I had installed South in anticipation of needing to mess with it, but it's just part of Django core from 2.0. Postgres SQL 9.4, I remember how difficult it was getting from Postgres 8 to 9, and even some of the transitions between nine. Whew, that was really hard. So in anticipation of that, and the PostGIS project, and I mentioned, there's a link in here to post on gis.com, sorry, Boston gis.com for demonstrating how you can't just do a classic upgrade, you have to do a dump and then process it to feedback in. It's very easy to make a mistake doing that, at least I found that, so I'll come back to that in a bit. And then two, there were other libraries, but those were two of the more important ones for my data structure. Django TreeBeard, which is a really interesting, efficient way to make a hierarchical tree structure, which is how I could keep track of the networking information that I was trying to show you in that diagram before, and tag it, which is still I think supports even Django 1.11 all the way up to Django 3, which is a fascinating example of a project that's managed to go between different versions of Python and still maintain that far back. So anyway, so that was the initial state. So that's zero, and then taking Python indexing style. So to prepare for the process, the first thing I did was I updated Python 2.7.5 to 2.7.18. That was the easy part. I mean, I think it involves, so originally it was a virtually in V, and I think I've now shifted to doing most of my stuff in Pipe in V, I could have put that information here. But yeah, kind of making that first shift to the latest version of Python 2.7. Then this PG dump, this Postgres SQL dump, that's a, again, not providing a live service. That was my way of having a safety, safe space to return to. I haven't put this here, but I put timestamps on all of the dumps as a way of file names as like being able to keep track when I can't remember how many dumps I used in this process. That'll be a reoccurring theme. So returning to my test coverage, and it was at least 80 something tests, it would take at least four hours to run. There were some things that I was already trying to change back then that those tests weren't passing. So it's really hard to come back to a project that's in such a kind of fragmented state. So you're not even sure what's right and what's wrong and going back through it after years can be hard. So I tried to sort of reduce the set of tests to adhere to so that it was more manageable and just how long it would take. I mean, you change one thing and if it takes four hours to run the test to see if it worked. And obviously you can drill down this particular test, make sure that test works fine, do a commit, then try and run the whole thing. But even that point where you're trying to run the whole thing and often it would be a case of, oh, I thought I fixed something here. Oh, but now this other thing doesn't work. How do I make sure? Anyway, so my strategy for that, and I think the person comes to this was to kind of narrow down the list of tests to cover and then just stick with that to keep going. And we'll see. I think that was a good strategy. I'm glad with how far I've gotten, but it could be further down the road that there's some other core mistakes that some of those tests were covering that I have not sorted yet, but we shall see. And then just updating those two packages, which again, thankfully are so supportive across multiple regions of Python that I could basically do a big leap on those without having to worry about the different versions of Python beyond that. So that was the easy part. And then the comparatively minor stuff. So I added PyTest, which mostly supports the same syntax structure for those tests. I think, yeah, I think I tried, I went to some lengths to make sure I remembered the, I put down the right number of versions, but Django PyTest seemed like a better option. Oh, I just got a message. I'm not sure what that's referring to. But yeah, so I used that as a method it's much more maintained the nose. That was a much better way to manage the tests. And it's mostly compatible with the way that you can write tests for nose. That was another kind of pruning set of tests to adhere to. And then I did the first Postgres and PostGIS upgrades. And those, again, I dumped and then did an import. And then did an import. I think I stuck with Postgres SQL nine to 10 first. I think that was the hardest with PostGIS. And I think it's much easier to update PostGIS versions, PostGIS SQL versions since 10. At least that's been my experience. There's a link there. I can put that in the chat if you like of the Boston GIS examples from PostGIS. And I see I'm actually coming up to, I'm running out of time, which is kind of ironic. So I'll just keep going quickly. Within Python two, the last supported version of Django is 1.11.29, I think. So that was the minor upgrade section. I then got to the actual shift in Python. And this was a very long complicated process to get Python future and future eyes and future eyes ended up being the tack I went with. There is another version called Modernize, which I has a nice kind of, if you decide to just go for Python three rather than trying to maintain compatibility across Python two and Python three, but Modernize isn't that well maintained anymore. And Python future as a package is trying to cover so many different options. It's worth looking through that documentation. And then again, this is a significant summary, but having structured all of those packages as much as I could that were compatible across Python two and Python three, that was when I did the shift. And yeah, so that got me up to, and it's crucial to say I didn't go all the way to Django three, I went to Django two and because there was more documentation on that, but I jumped to the latest version of Django, so that's 2.2.13. And there were some other crucial differences between the libraries, not just Python two versus three syntax, the ORM uses Cascade, it's shifted more to the SQL Alchemy structure being much more explicit about some of the SQL components. But, and then South was completely gone, I didn't need that anymore, I could use the migration structures that was originally South and part of Django core. And then I could upgrade to <IP_ADDRESS> having fixed the syntax. And I found at least in my cases again, I have zero front end to worry about, so I think a lot of the other changes I might have had to deal with if this was a normal web app project then that probably would have been more painful. But from 2.2 to 3.0, that was comparatively trivial. There's a useful thing to look up on the save function on models. Wasn't that big a deal to me, but again, on the back end there's a, in the slide there's a link to that documentation. And then I decided to just sort of tick the rest of the boxes, removing those, shifting Postgres SQL up to 12.3 and PostGIS to 3.0. There were some other details, it's now all dockerized rather than worrying about which server versions I'd be worrying about, but yeah. So that was the project. I realized I went to a lot of detail at the beginning and then had to go to the other stuff which might have been more useful very quickly later. But I'm happy for any questions and I can also go to the discourse chat if that's easier. And thank you very much for listening and happy to answer any questions. Thanks a lot. Why so long? Yeah, this is why I had proposed this originally as a long talk because even this is less than I had originally planned to cover. So I can see why. I wasn't sure how to squeeze it into a 30 minute option. But I'm glad, you know, it's very nice to have a chance to present it anyway. And of course, if you have any questions, we can also go to Discord if you'd rather. It seems like I don't have the option of doing a normal chat function within Zoom here. Otherwise I would have suggested that. And obviously you're welcome to switch your microphone on if you wanna just talk. No, sorry, I haven't really prepared which question. Oh, that's fine, that's fine. Well, I could go into a bit more detail about any of the sections if there's any part that would be that comes to mind. Probably the switch between Python 2 and Python 3. Yeah, that's the hardest part. Yeah, so the crucial thing, so there's the Python porting options, the 2 to 3 package is pretty good. There's reasons people have sort of added stuff on top of it, but yeah, that's a nice element. And what I also found helpful was the fact that there is quite a lot of overlap, like print, for example, of syntactic similarity between 2.7 and 3.5. So I actually, I started with just the print statements as a kind of test example to see if what I was doing made sense. And that meant at least for some of that I could run old tests in 2.7 as a kind of stop gap while trying to make sure that what I was doing is right. So that was the first big hurdle. And that's what 2 to 3 is a kind of classic example for, is fixing your print statements. The x-range versus range stuff. That was a lot harder. And so that was where, because you have arguably this, it's like maintaining two code bases. There's the base of your tests and then the base of what you're trying to execute. And so I had the problem of my tests breaking not because they were necessarily, because necessarily the actual main code was wrong, but I may have broken the text, the test, but not the main body of the code. And that was really hard. So yeah, I recommend the future eyes option. That's the one that kind of got me most of the way. I think it still is trying to help with maintaining something that goes across Python 2 and Python 3. Whereas modernized, I think was pushing for a more strict just three option. But future eyes, I found the most helpful kind of wrapper around 2 to 3. And it's a complicated project, Python-future. And I'm actually sorry, I don't know if you can load this up, but the links I've got here go to different section of the documentation. For some reason, I couldn't include the anchor links on these. For some reason, the export to PDF, those were getting all fuzzied up. So it's just jumping to the top of those pages. So you kind of need to scroll down to the more helpful sections. But yeah, that component, the future eyes sort of automation and you've got some extra options. I didn't go with the extra options. I went with the kind of vanilla flavor of future eyes. And then kind of had to go through various sections and fix some things. And I had to be quite precious, or sorry, the opposite of precious. I had to be quite sort of brutal and I can't remember what that does. I can't be sure if it's crucial. For the moment, I'm gonna keep going and stick with the stuff that seems mostly covered by the texts tests. This is where also stuff like MyPy and coverage ended up actually being really helpful. I don't know if those are familiar. MyPy is a way of type checking. That was also probably a way of keeping track of what was that function supposed to do. I know, I'll guess what type it's supposed to be. And try to force that. So I have, again, the sake of readability in this presentation, not covered all of those details. But yeah, so coupling that with, like I have various Python extensions within VIM, which is the way that I write code. And so it was raising warnings if I hadn't type hinted sections or if I had just raised an exception without a specific type of exception. So lots of those details that would just flare up every time I would make an edit. And as a way of forcing things to be specific and as type checked and correct as possible. Those were all elements of that process for me. And yeah, I mean, I guess I think we, in theory and in about six minutes, but trying to think if there's another way I could go into more detail. But maybe the first question is, is that at least helping answer that for you? I can try and see if I can actually find some of the code sections. I just, sorry, I didn't think that that would come up now and that might take a little bit of time and I'm worried we won't be able to get to something useful before I'm supposed to shut down. But yeah, does that in part help answer your question? Yeah, that was approximately what I had in mind. Another question, how long did those four phases take? So how much time? The first few were like a couple of weeks.  And so it's hard to like, it's hard to kind of talk about that this step three. And again, this is with other projects. That was a month, it's a very intense month. And again, if this was a project to maintain something for a service for people throughout, I think you need a team to do something like that personally. I mean, of course there are developers that can presumably do some of this very straightforwardly. They know their code that well, especially if they've been connected to it for a while and it's not so sprawled from years ago. But yeah, that was a month and not doing that much else. And I found it very frustrating and very complicated. But it was quite a relief to actually get through. I think if it's helpful to say maybe three weeks in, I've almost given up and took my supervisor's kind of encouragement to keep me going. And yeah, I think I also often kind of didn't trust something when it initially just seemed to not work. And I think it was also because of my more recent projects have all been Python three. So my brain going back and forth between Python three ish syntax and Python two ish syntax. I would often get frustrated and think I made a really terrible mistake. And actually it was usually a really small syntax mistake but it could be really hard to find. But once I did, and then it was sort of like, oh, it wasn't actually that big a problem. It was just a really annoying typo, okay, I can keep going, this is gonna work out. I realized that's quite abstract. But yeah, so that was a month. And then the other stuff has been, that's been about a couple of weeks. We're not really done with that yet. So, and it's sort of like the irony of doing arguably the hardest part, which was phase three and now actually trying to check the results to phase four, but then having a whole bunch of other projects that I have to get done has kind of put that on pause. So it seems like stage four is fine, but we'll see when I actually get down to the results, which I have to now then export to R, if we actually get numbers that we like. So it seems like four is the easy part, but I don't know. I feel like I could answer that in a month, maybe more accurately, because it's not really done yet. But at least those components of it, like fixing the testing structure, getting rid of nose, going up to post-GIS three, all of that stuff I'm quite proud of. And once it was just three, rather than jumping between Python two and Python three, that was much easier for me, partly just conceptually, because I didn't have to keep trying to remember which version of what. I guess the other thing I haven't mentioned is I have a lot of Git forks in doing this. So trying to be very kind of retain a base that I knew working and then fork from that until I was happy with that fork and then merge that back into main, or sometimes many, many forks that merge back together to finally get to main. Yeah, and I'm also really sorry I can't show you that project. My supervisor is really keen to get this published and his approach to that is to not have it released until we actually get a draft of a paper to a journal. Otherwise, I would have a repository to just point out for stuff, but yeah. Thanks, that has been very interesting. Sure, thank you for being here. And it's very helpful to speak to someone. And if you have any suggestions on how to present the poster, because I haven't done that very much before. Yeah, I hope this worked for you. And yeah, if the, you know, my email address is, I mean, you can see my, I don't use Twitter that much, but I'm griff underscore Reese and my email address at Sheffield is griffith.rese at Sheffield.ac.uk. So if you've got some more questions, especially if you've got, you know, specific sections of code, I can try to take a look at, I'm happy to help. And I think that means that we're supposed to leave the room. I am also scheduled to try to give a very quick lightning talk for a very different project. So maybe see you for that. And I will also shift to that channel in Discord in case you or anyone else have things to chat about there. Thanks a lot, bye. Sure, thank you very much. Thank you.


We got 44 comics in this box. Okay We got 44 comics in this box. We got This comic book haul Contains 44 comics. It cost 200 dollars Canadian. Okay, including shipping and tax Okay, the shipping came out to 38 bucks.   I don't know why his Wall Street company. So maybe they're trying to increase the revenue or something, right? So basically I ended up overpaying for this haul $220 and the person refunded me the difference which was $22 or something like this, right? So this comic book haul cost $200 all in $200 all in Let me put this I will leave it here and it's this guy. Let's crack this baby over give myself a little space here Nicely packaged up Separate and this is Canadian dollars by the way, so cost 200 all-in Canadian so 200 all-in Canadian would be 75 150 us. Yeah. Yeah. Yeah. Oh god. You got it, right? Yeah, so 154 us or so so 130 pounds UK Kitty guys are gonna love the newspaper I'm gonna put this here because we're gonna put the comics as we open them back in the box Actually, I'll put it here and make space Nice Nice, I have some of these comics, but they were going good for a good price They were a little bit higher grade than the ones I have because I've read the crap out of the ones I have Right. I've read them Some of the comics you're about to see I have these right and I've read those issues like three or four times And I've lent them out for to family to read them and stuff like this And we've done Comic book comic book Levi smells hilarious is that Levi from Attack on Titan and the ones I have of this are actually a friend of mine. They gave him to me Their magazine size. Do you know what they are? Do you know what they are? Mongolian Tugnik Oh, that's that's how much it would cost the Mongolian dollars Mongolian money Thank you very much for the follow. I do I miss the name Apologies Salute Salute salute Before we look at these I'm gonna pour myself another drink Let's do ourselves another drink before we get into this business tequila This comic book haul requires a drink The main character in most of these comic books Would be okay with this As well as smoking a cigar Awesome, okay, most of these comics are Grated the person graded them at seven point five, right? But they're sort of a Reseller and not a reseller, but they're seller that I bought from and they're low some of these they were low grading There's some of them that are graded at four Like check this out out of all the ones about to show you the series. Okay. There's only one two Three four five only five of them that are graded at four Everything else the person graded them. No, no lobo Close though The person graded everything else at seven point five and they're From the picks they were low balling them. All right, and from looking at this I would say they're anywhere between seven point five to eight point five Okay, or Wolverine not Wolverine He's a mean. He's a he's he's Close close close Check this out magazine format magazine format Savits sort of Conan. Look at this How bad man? Oh boy Savits sort of Conan 191 Sweet I have this one. I've read this one. I've read this one multiple times so good so good So good This one was one of the lower grades and this one would be this one. He would have graded This is one of the ones that the person graded as a two. There was one that he graded There's two that the person graded as a two and I agree with this one. This is Savage sort of Conan. Which one is this one? Number 61 Okay I don't have this one. I'm looking forward to reading this one Looking forward to reading this one Savage sort of Conan 94 I have this one. I've read this one so good so good so good Look at him go. Looks like he's killing Jabba dot Savage sort of Conan 177 very nice copy Bondage all savage sort of Conan has a lot of a lot of bondage in it I got this one. I've read this one. I think I got this one Howdy Killed click salutations. Welcome to our live stream Salute. Salute. Salute Elder god saying hold please You want a good pick of the lady, don't you? The bondage Thank you very much for the follow kill click Nice nice savage sort of Conan 202 And this one's a beautiful copy Yeah, this one would be like 99.2 This character here is awesome So effing good So good So good so good This I forget his name this character. That's kona right there. I forget this guy's kid. This guy's name So good. He's a demon Right and initially He was going after kona like he was trying to kill kona. They were back and then they partnered up They partnered up and Go after It's so good. So good. This character rocks Really, I forget his name And the sith plus a tail of king call Oh this one. I love this cover This cover is phenomenal Phenomenal elder god.  Love it. Love it Love it Yeah, yeah, Boris Vallejo Yeah So good Look at the smile on Conan's face Like look at this. Look at the smile on Conan's face. Salut Salutes dark some demon of a robot fun Conan savage sort of Conan number 84 Gore is a gargore. I have this one too. Savage sort of Conan number 150 This one I don't have. Oh, this is the Conan Okay, I'm gonna do all the savage source together Savage sort of Conan 199 I don't have this one treachery of I haven't read this one Alkeru. Is that the character gore? No, Alkeru. Is that the character Alkeru? Oh, I don't have this one Savage sort of Conan 141 John Norman books gore books are the best are they? I don't know if I have any of read any I don't know. I forget the guy's name.  I want to give you guys the name Red the talisman of gore Like some of these I bought like the highest price we paid For the savage sort of Conan was The girl's dancing on a bar with Conan the whole drink that one was 650 everything else was usually Four or less and there were some of them which were for like dollar 50 of these ones I'm gonna take the tape off so we don't snag it I gotta get the name of this guy And these are brand new bags and boards This guy's name is Oh, it's not going to be at the beginning sort of Spirith Part one Hold on. Hold on. Where is this? Who's the artist for this? Roy Thomas John Bushima nice Layouts Ernie Chan is one of my favorite artists for conat. They're black and white Right. Look at this guy. It's awesome Awesome. Awesome. Im Im hot tap The ravage the ravagers of worlds. Look at this Im hot bath guy. Yeah Look at this guy. Look at this guy The olive. How you doing this guy? Im hot tap the ravager of worlds So you do remember me after all But what does it say? But then mine has never been a face easily forgotten by men who have gazed upon it One of the manliest manly comic book series ever So good so good So good so good And look at this. He's he's like brutal.   Thank you very much for the follow. I have this one as well.  Look at this. So good. So good So good so good Alligat to crush your enemies see them driven before you and to hear the lam lam nations of their woman That is the meaning of life Amazing covers indeed indeed Oh, I don't think I have this one. Savage Sword of Conan 140 We put out a video actually looking at the covers Of all the Savage Sword of Conan's I had that at the time like a few years ago While we were reading the comic code authority the censorship thing, right? to be Digenis Digenis Digenis That cover of him about to get a roman Looking guard off a cliff number six I think is one of my favorite covers of anything ever incredible really. Let's take a look at it again. Where is it? Where is it? Where is it? Where is it?  Let's get a close-up of this And what I'm gonna do I'm gonna pull it out so we don't get the glare beautiful 10-minute warning. I think we're going over time expecting over time indeed Let's bring this out We get a close-up of this. This one is would be graded as a four. Who did the cover for this? Let's read the cover cover cover cover cover Um, hold on a second Cover Joe Chiodo Joe Chiodo did the cover. I don't know Joe Chiodo There's his name Joe Chiodo see at the bottom here Right there Chiodo 1980. Here's the cover with the girl in the background. That bee is so busy. Yeah Lots of flowers and goodies here for it, right?   There's a girl in the background So good Multiple bees here savage sort of Conan number 73 Conan takes down a lot of snakes. That's for sure There's more savage sort of Conan. There's a handful here that Uh, I want to show you after we crack open the next Let's put that there Let's crack this open By the way gang the odds are I'm going to load up the Ugeo trading card Livestream we did today on the video sharing platforms I haven't loaded that up yet Nice, I don't have this one Or maybe I do I can't remember Savage sort of Conan 119 Savage sort I don't have this one savage sort of Conan 156 This one I have this one's a nice copy Savage sort of Conan 170 I love Conan's face Not this one. I have two very good This one's a great story by the way Savage sort of Conan number 99 How old are these comics these comics from 1970s To 1980s, okay 1970s to 1980s Savage sort of Conan 101 I have this one as well. I've read it And welcome to our live stream W Plas first time chat salute, salute Salute, salute I have this one as well Savage sort of Conan 98 on the 97 Nice weird, thank you Again, um only me and mods can post links So your link shows up as like asterisks for us This one I have two great story Savage sort of Conan is a great copy Nice copy Way better 7.5 savage sort of Conan 197 And knight in messantia A new barbaric excitement Savage sort of Conan 106 Great price for these books For me anyway Savage sort of Conan 188 I don't have this one an epic An epic of wizards and warriors the power of honor Oh, this one I have too Savage sort of Conan 104 Yeah, me too Controllers and I love Conan covers the best And one thing we Realized when we wrote the comic code authority The text for it Savage sort of Conan was more true to the saga Conan saga really The stories of Conan because they didn't have to abide by the comic code So in the comic's format with the comic code They couldn't show any severed heads Or anything violent on where were, were, were wills and stuff like this So there's covers of savage sort of Conan where it's holding up a severed head And there's where walls are cutting people apart and stuff like this So they didn't have to abide by the comic code authority so it was more true to the savage to the true, the original story, I don't know what kind of Americans probably want, savage sword of Conan 103, I have this one, taking out more Roman guards, don't have this one, savage sword of Conan, this would be, this would be a two or three I guess, savage sword of Conan, what number is this? 88, 88, or 4, so those are all the savage sword of Conan's we picked up, which was great, absolutely fantastic, how many savage sword of Conan? There was 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, savage sword of Conan books, okay? Now, aside from savage sword of Conan, the person had Conan saga, which are reprints of savage sword of Conan and Conan story arcs, so Conan comic book series, I mean comic book format and savage sword of Conan, so we got Conan saga number 67, and I don't have any Conan saga in my collection, so glad to have these, and I have this one as well, this guy is a great character, great villain, he was a pirate that Conan cut off his arm and scarred them, that's why he wears the headgear, the metal headgear, so his, this guy's purpose is to kill Conan, right? He was one of the main villains in Conan that continuously chases Conan, right? And then there's times where they partner up and stuff, controllers and they inhale while counting, you don't hear adults do that, often love it, nice. Conan saga 67, bring these guys here, Conan saga 38, you have to look these up to see which reprints they are, okay? And gang, do not forget, do not forget, Free Assange, Free Assange, Free Assange, Julian Assange's publisher and journalist that has been crucified for trying to bring transparency and accountability of capitalist power to humanity. For more information, see wikilees.org, defend.wikilees.org, or countless resources available online. It's not the comics, it's not the comics that you have underneath, but the Batman comics that define you. Conan saga 21, a-ha, control of the show, it's an endearing as a tongue pop while cutting with scissors, yeah. Human reflex, Conan saga number 72. I don't remember having this cover, so I don't know which issue the reprint this is. Sauron. Oh yeah, that one. Yeah, yeah, yeah, yeah, yeah, yeah. This one looks like Sauron from The Lost Land, I think it's called. Yeah, yeah, yeah, true, true. Conan saga number four. The Folding Stories by Barry Windsor Smith and Roy Thompson, The Wrath of Anu, Rogues in the House, The Talons of Thak. Conan saga number four. So reprinting some really epic stories, this one is the elephant ones, I think, I don't know, I can't remember. Really nice covers, Randall, yeah, yeah. Lonely Piggy speaking of Sauron, my brother went to Comic Con in Montreal today, told me there were replica busts of Sauron's helmet, as well as the Witch King's. Over a thousand dollars, he's still so tempting, so tempting. Conan saga number 39. Conan saga number 33. And there are different periods for Conan where it was a young kid, a thief, a general, a king, so many, so many. Conan saga number three. Oh wow, controller's end, I really wish that we could get a King Conan film, yeah, me too, me too. Lonely Piggy. Randall, I've always wanted a glam ring, but that sounds real cool. Yeah, I have a glam ring sword, right? Okay, oh, here's a couple more. Here's one more Conan saga. Lonely Piggy, I hear about Conan and Spawn, but I've yet to read either, but I mean, oh, Lonely Piggy. Start with Savage Sword of Conan. Savage Sword of Conan, brother, okay. Who would play Conan though, yeah. Conan saga number 24. Who would play Conan? Randall, I just typed the same question all ago. I voted, I vote Alexander Skarsgard. I don't know that person. Henry comes, I don't know. Okay, those are all the Conan sagas. So those are all the Conan books that we bought. Okay, here's a couple of other magazine format books. This one's fantastic, I didn't know this. This is Epic. Epic illustrated number 28, I believe.  This is Epic illustrated number 28, and check this out. Dune, a special preview, this issue. Dune, right? And 2010, I didn't know there was a dune. This might be the first look on dune, right? John Byrne, Terry Austin, Bill Sikwinski, Dave Sem. Dave Sem is a therapist, right? Bill Sikwinski is huge. John Byrne is huge, right? Should we look for the dune preview? Let's look at the dune preview for this. Oh, is it the Skarsgard? Is it the Ukrainian fighter? The boxer? Let's see if we can find the dune page on this. Epic is amazing, by the way. It's like heavy metal, right? What page is dune? Cerberus, Cerberus. Oh, there it is. Film into comic dune, page 82. Swedish, she's Swedish. The sleeper must awaken. That looks great. Look at this. Film into comic dune in 2010. A special preview look at the Marvel Comics adaptation of the season's two most eerily anticipated science fiction films. Look at that! Super cool. A sand rider. Nice, look at this. And we bought this one for $1, great at a 7.5. Awesome. Awesome. Harkonnens. This is the 2010. Cool. Oh, I can't show you this other stuff. There's nakedness involved here. There's nakedness involved here. So Epic illustrated number 28. Very cool. I have some some of the epic books. I think I have epic number one. Okay, and a few other ones. That's epic number 28. And this is epic number 29. And we've got this one for $1. We get $1.25. Okay, we got this mini comic book size. So we mainly got magazines in this haul. There's like six comic books. The packaging of these people that sell these books is really good. I like them. Too bad shipping is so expensive in Canada. I would have spent more on them. Nice, nice. Some randoms and a couple of keys. Okay. Superboy number 214. Okay. Pick this one up for $1. Great at 7.5, but I'm guessing it's a little bit higher than 7.5. Maybe 7.5, sure. So Superboy number 214. It's just a... it's not expensive. This book is cheap. Robot army forward destroy the Legion. Legion of superheroes. The kid we tried to save betrayed us.  Secret Origins starring the flag. Secret Origins number 9. Ended up getting this one for $1.25. Okay, I'm sure another random. Doctor Spectre number... number 18. The occult files of Doctor Spectre number 118. Not 118, number 18. This is low grade. The Eon. Thank you very much for the follow. Salute, salute, salute, salute. And then check out these ones. GI Joe. A real American hero. First print. Number three. This is... this was the most expensive one actually. I overpaid for this one a little bit. Okay, just a little bit. 1950. Graded at 7.5. The person graded at. I have number one and two, right? So GI Joe, real American hero number three. I didn't have number three, so I figured I'd grab this one. And it's fair value. A little bit too much actually. But you know, I was getting some of the other stuff. A really good deal. So I figured it was okay to drop this on this. I already have this one. GI Joe number two. We paid $12.50 for this one. Okay, first print. GI Joe number two. Happy to have this another copy of it. At the time when it was selling, GI Joe number two was selling a lot more for Joe than GI Joe number one in like 1980s, 1990s. And the last book. Graded. Graded at a two. A good. Only. It cost us $5.50. First appearance of Alderga. You ready? You have all of them. Nice. You have all the whole GI Joe series. I wish I had the whole GI Joe series. One of the most expensive series to get from that period. Really? But Alderga, you ready for this? First appearance of the Lazarus pit. Batman number two, 43. Okay. Just graded a good. It's a low grade, right? Low grade. Yes. I didn't. I don't have this one. So what I do now, but I didn't have this one. You're watching a fight to the death that the Batman doesn't dare win. Awesome cover. Right? Neil Adams cover, I believe.  Oh my God. 550 is a good deal for a good. First appearance of Lazarus pit. I would say it's fair, but I think it's a good deal. I think it's undervalued to the truth. Okay. The Randall. Wow. What is that red band that holds them together? I think it's one of those duels where you tie them up. You can't separate. You have to fight. Right? I want it. I gotta fix this part. This part's sticking up. So hold on. I gotta open this baby up. So 550 Canadian for it? Great price. Great price. I'm just gonna flip this over. I don't like it when people just bag stuff with the things sticking out. Right? Neil Adams. Right? The pencils Neil Adams. Inks Dick Giordino. Okay. And story is Denny O'Neill. Lazarus, the Lazarus pit. No effing around. On the first page, the Lazarus pit. Beautiful artwork. Like, or really. Neil Adams back in the day, the Batman stuff. Phenomenal. Like effing phenomenal. Effing phenomenal. I'll take all your tormenting with Batman desire. No, I'm satisfied. Nice. I would say was, is this a two? Yeah, sure. Let's say it's a graded a two. Beautiful. Beautiful. Man, this looks good. So good. Really. Mike Ortuz, how are you doing? Beautiful. Beautiful. Can we find the Lazarus pit? Let's see if we can see the Lazarus pit. Let's find the Lazarus pit. Yes. Here's the first appearance of the Lazarus pit. 1972 maybe. Is it 1972? I can check. 1972. Yeah. August 1972. Here's the first appearance of the Lazarus pit. Ready? Very cool. Very cool. First appearance of the Lazarus pit. Bearing a modern day Lazarus, a risen from the dead.  How could this? Oh, this staple is all whack. Yeah, for sure. It's just a two. Oh, don't drop it. You have the next issue. Nice. Look at this. Very nice. Very nice. Glad to have this. I didn't have this. I didn't have this. Includes the next issue, the demon lives again. Very nice. Good comic book haul. Very happy to do the comic book haul again. Back into it. The savage sort of conan is the people selling this. The savage sort of conan is the reason I decided to go ballistic on bidding on these things and grab whatever else I could. I could at a reasonable price. Right? A Randal. I only have a Swedish version of a Batna from 1977. Those should be more rare than the American versions, but the American versions are the first brands, right? So basically, this was the second, no, the third, the fourth most expensive comic we bought. The most expensive comic was 1950 for G.I. Joe number three, and then 1250 for G.I. Joe number two, 650 for savage sort of conan number 144, and 550 for Batman 243. Very nice. I only got comics. Brought me to Chicho seven years and a month ago. Nice. Nice. Super fun game. Super fun. Very happy about this haul. It feels good. It feels good. Feels good to be buying comics again. And again, this is sort of wow. Yeah. It's when you've been saving up a little bit for comic book hauls. And there's another comic book haul coming this week. Okay. I'm just finishing up a few bids from another seller. I only have three so far. Hopefully we can get our hands on a couple more. Okay. Older comics, but we'll see, but we'll see. Gang. Thank you for being here. I hope you enjoyed the stream. I did. It was fantastic. Good to be back. I'll try to get the usual trading car collection up today. Controller send same here must have been a decade or more when I first discovered future comic hauls on YouTube. Wow. Wow. Wow. Thanks. My pleasure. Niggin. My pleasure. Super fun. Comic books. What an amazing, amazing world. Cheryl. Fun. We can kick off. Fun. We can kick off. Fun. We can kick off. Go fruit picking gang. Lots of fruits around. I've been picking mulberries up the yin and yang. Gotta go hit the plum trees we know. Thanks for another chill evening. My pleasure, Emersonic. My pleasure to be... I can't pronounce that. To be genus. To be your genus. To be your genus. To be my pleasure. Thank you for being here. Gang. If you want to know what this work is about, I am on Patreon, Substack, Subscribe, Star. You can follow the work there. We live stream on Twitch. Soon to be live streaming on Rumble and Kick, and hopefully Odyssey as well. I still have to look into live streaming on multiple platforms. We'll try to get it done towards the end of July. Hopefully in August we're full in. Dizzy moth. That's how detailed it is. Thanks, teacher. Peace. Peace in the great stream. Cheryl. Lots of love. Lots of love. Gang, for those of you who are supporting this work on Patreon, Substack, Twitch, SensorTube, and through other means, gang, thank you very much for the support. It is in large part because of your support that we're able to do this. For those of you on SensorTube, apologies, this couldn't be loaded on SensorTube in this full format, just because I don't want to keep track of what words we cannot say or say on SensorTube, but segments will be put out. You're definitely welcome to join us in our Gilded Surfer, Allah God. Some panels on Gilded of Kona and Aftermower. It's nice. So well done. You're definitely welcome to join us on our Gilded Surfer. Small community sharing what we love and information, helping each other out. Nice place to be. Nice place to be. You're definitely welcome to join us there. We do announce these live streams 30 minutes an hour before we go live on Twitter, Minds, VK, Gap, Gettr, and Substack Notes. You can definitely follow the work there. And for some live streams, we do upload the audio to SoundCloud.com or slash Chicho as a podcast. And those podcasts should be available in your favorite podcasting platform. Aside from that gang, happy birthday, Alfie. I hope you have a fantastic birthday. Mods, mods, mods, Allah God, Cheryl, and the rest of the mods that come here. Gang, thank you very much for being here, having our backs, supporting our community. Salut, salut, salut. I hope you have a fantastic weekend. The odds are we're going to do about three live streams next week. I have a friend visiting, so I'm going to see how it can arrange my time around that. But more live streams coming this summer. Hopefully a cooking stream soonish. Okay. Aside from that, we'll do more cigars and comic book readings and whatnot. I hope you guys have a fantastic weekend. Bye, everyone.