 So today we're gonna have a leisurely video a leisurely stroll through a folder I haven't shown you guys, but I've occasionally been asked about so if you go to my script directory I've talked about a lot of the scripts that I use every day that are on my system. They're on my github You can check them out yourself But some people have noticed that I have this directory called Personal in my scripts folder and it of course is another script scripts folder and people ask they're curious What's going on in personal? Well personal is just The scripts I use just for myself. They wouldn't make sense for any other people or at least most of the time So in this video, I want to show them to you not necessarily because I expect you to use them But just as examples for the kind of the kind of things that I script or I automate so I don't have to deal with Now a lot of these scripts aren't actually done a lot of them I don't actually use that often. This is probably the least updated directory, but it's worth looking at Okay, so one of the most important ones is actually at the top. You'll see it's called ban mail This is what it looks like. So here's what I want, you know as you may know I use mutt and I use my mutt wizard Which basically basically I send all my my email from the command line I use mutt of course I can do things like look at images and stuff like that I can or if I really want view the view it in HTML or something like that But ultimately I do all my email from the command line so I want to be able to automate banning an email address and The way I ended up doing that is I have this script. Let me actually show you how it works first On this other tag right here. I have my email pulled up. I have this particular email pulled up That's a spam message. It's from someone pretending to be YouTube an address. That's YouTube at Devotia.se and I have it bound This script has two functions either block the particular email address or block the entire domain that it's on So I have them bound to Escape B and escape capital B to ban all so if I I'm just gonna run it escape B lowercase B and it's gonna ask do you want to get rid of this mail and I'll say yeah, okay, and what that does Let's actually look at what the script is doing Because I can't I mean it's not like my email is although I download my email to my actual computer my My email server is the thing that actually determines what mail is spam or not, right? so what I actually do here is I have it run this little command here, which is really just an SSH command when I run the script It will log into my server as root and since I you know only have GPG Login to my web server. I you know since I don't have to put in my password So it'll automatically show up if I have my GPG key pair and all I do is I run this command I Put in okay blacklist this domain in my spam assassin Local config file and then I have system D reload spam assassin So that's actually all I do so there are just two functions here And what determines which one runs is basically I I just send an argument to the Function if I want it to run the ban all command and in that case it just says okay. Well, I'm going to ban not just that mail but the regular expression of You know the entire in the entire domain. So that's a pretty useful thing I think in general spam assassin is pretty good at keeping spam out, but every once in a while There's some spam domain that gets through or some particular account that's sending a bajillion emails So I get rid of it like that Another one. I don't think this one is working right now. I was playing around with it but initially I had this script to get the like Library of Congress code for a particular book so I can sort it in my library. That's why I use that Here I actually have a couple games in here So this is like all the good old stronghold crusader I have a link to that if I run a run it. So actually we could do that briefly. Let's let's see what it looks like I hope it doesn't read Sure change the screen size or anything like that. Why is it not? Okay? Here it is. It has the load up wine That's what it's doing. So Okay. Yeah, so this one still works. So I have a couple of games I know people know that I'm very anti games and stuff like that but for I guess nostalgia purposes I still have a couple I mean, I don't even play them that often, but I just like having old games on my computer And so I have stronghold crusader the original stronghold I think I have the Lord of the Rings mod if anyone remembers that and I also have this command here It is I have like every Nintendo 64 ROM on my computer and if I run this script I can actually run it in It brings up a D menu prompt and it will give me a list of all the Nintendo 64 games that I have So if I want to play one, I can just select it and open it up. Let's actually make this full screen or something like that So that's just a nice little thing. Oh man. Is that loud? So if you want to play some game or something, I have it now again I don't really do that that often unless I'm just goofing off Again like video games to me. They're not they're not something I recommend doing as a habit But you know, I'll have them just because why not? Okay, so fix audio. I've mentioned this in another video This is just a process I'm gonna run this script on the recording. I'm doing now because when I do a recording on my face The the audio sync is a little off So I actually run this script on it afterwards to sync up the audio and also change the codec So it's easier to update This was just me playing around trying to get Mail server information. Here's another script. That's pretty important. It's actually an X render command This is very useful if you want to do screencasting Because by default my laptop if I'm just on my laptop, I don't have a 1080p display So if I were to record on it, you'd get the weird resolution that I have in that computer But with this X render command, it just scales up whatever your resolution is to You know 1920 times 1080p So if I want to record on my laptop, I run this script So X render will change to a 1080p display and then I record so when I upload it It's actually in better quality than the quality that it is on my computer It does look a little funny though. So here's another mail thing that I have. This is it's called mail arc for mail archive and Basically, I run this every once in a while. So I keep very few you can actually see here I'm not gonna go into my emails, but you'll see in my inbox. I only have I don't delete things first off I don't delete email. I always store them. I only have a hundred sixty eight emails in my inbox Well, that's because once I think I'm pretty much done. I've mailed all the mails. I'm gonna mail I will run this command Which takes all of my mail and put it puts it in an archive folder So I actually have my mail sorted into all these different archive You know these different archives based on when I got them or they're usually named after place Places I lived when I lived in Arizona. I put all the mail in that box So I run this mail archive command and the other benefit of that is it I mean, let's say Hypothetically my email server was hacked, right? Well, it's not a big difference. I'll only lose a couple mail like I'm not gonna lose all like all this mail here It is kept kept exclusively offline all this stuff here the only mail that's on my server is like the current inbox So if in the worst-case scenario, I lose my email server or something like that I haven't really lost that much and I can just do manual backup. So the rest of the stuff so I find this very useful to sort through mail and Yeah, it's just pretty sweet make tour. I don't think I've used this in a while This is to make a torrent file add a bunch of trackers by default It isn't actually working because some of these trackers or it is working But a lot of these trackers aren't active anymore. So it generates problems So one little script I use all the time is actually this thing. It's called next vid very simple What this does is it? Okay, so my internet out here isn't super good and a lot of times I want to download a video and Well, basically, I'll be like, okay, let's say I want to learn how to propagate a blueberry bush Okay, so I'll go on YouTube and it you know If I want to watch 30 videos on it, so I know I don't know which one's good or not You know, I can't do that in one sitting So what I do is I have this script and basically what I do is I go over and I copy all the video links to You know, let's say I want this one Okay, I'll copy this video link and then I'll run this script and what it does is it takes What's in my clipboard and it cues it in YouTube DL? I mean using task spooler So basically I can queue up a whole bunch of videos to download and watch them a little bit later So that's usually what I'll do now Of course my internet isn't so bad that I can't watch videos live But it's just when I want to especially when I want to have a archive of them It's nice to be able to queue them up in task spooler and watch them over time Let's see so these three are related to my my podcast. I haven't used them in a while They're just to automatically tag some things And then I already talked about the Nintendo thing this script. I think I was just processing text Another thing I have is a screener and this is a very I guess we used to say ghetto script But what this does is I have this run whenever I start my graphical environment And it just checks to see what screens I have attached and it will use like the You know the display port if that is attached You know as first priority then it'll try the HDMI and then VGA and stuff like that And that's just because if I have my laptop Connected to its port or dock or whatever. I wanted to automatically use only the other screen So a lot of people will have scripts like this just with like preset X rander Configurations for each of you know in this case you just set what output you want what size you want it And I also turn my laptop off so a lot of people will do these You know have X rander scripts configured for when they start up and they want a specific configuration I don't actually have a render installed a renders one where you manually select like visually how you want it I don't use that. I use only my own scripts for that So stab bid this is stabilized a video. I actually talked about this a couple videos ago This is a new one and basically it just runs the ffmpeg Library for stabilizing a shaky video, so I now run all you know all the screencasts I have I run fixed audio on and all the ones where I'm walking around with a phone I use stab bid on although sometimes it takes a little long to compile So I actually have a desktop in the other room. That's a little faster And so sometimes I'll just ssh or I'll rsync the file over to that one and have it process it And then bring it back to this computer if I need it or something like that Stronghold, that's a game tag Tag is for Tagging like what is it vorbis music files? It's just because it's hard to do like this is the stupid syntax of Tagging a vorbis file and so it's just because it's so annoying I just have a different script for that where you can give it command line options Like you can give it artist title stuff like that. I just find it much It's it this is really just a wrapper script could because the Syntax and vorbis comment is sort of stupid and also I'm gonna be using this for Tagging other audio like podcast things and stuff like that. I want it. I Sort of want this a little more extendable Let's see tech quote. I think this was like a yeah said replacement script that replaces quotes with Quotate, you know how in law tech you're supposed to have quotes like this Okay, if you want it to format correctly, this is just to replace those or replace the originals with that or something like that I don't think I think I forgot that that was there. So I don't even use it Let's see. This was also me trying to feel figure out how to use Thunderbirds Mail server information thing. I was thinking about using that for mail wizard. This is just a minor thing Up and up all or for updating my website Basically, I just keep all my webs like I have a local repository in a particular folder Where I have all my website files and I run this script to update my website The only trick is that I also have this line here So basically if I go to let's say I go to my website location, you know local source website I Have one thing on my website. It looks maybe I'll just bring it up. Okay. It looks something like Why is it taking so long to load? It's not even online. Okay, so I have this recent blog posts thing And I will don't change that manually. I have it update automatically and how that actually looks is I Think it looks like this. So it's just one line here. I have all the last five blog posts there When I run the script what it does is it automatically? Searches my blog index for the most recent five posts in case I've made a new one and it replaces the pre existing line here With that line. Okay, basically so I don't have to worry about manually changing that it does it automatically That's that's the magic of just using grep and said and stuff like that for for that Let's see update info. What is this? Oh, yeah This is something I was trying to do a while ago where I can like automatically get my Number of YouTube subscribers and stuff like that. I think I was gonna do something like Automatically put some information on my website about my, you know, GitHub or YouTube. I never bothered doing it Let's see and then all the other ones. Okay, the v copy vdiff and re grab those are sort of embarrassing But I'll talk about those I talked about WP in a video a little bit ago That's a script where it just opens up a list, you know all of my Randomly selects my wallpapers and displays them and I can choose one to set as my new wallpaper or something like that Now the other ones v copy vdiff and v grab now people are gonna make fun of me for this But this is the laziest so I have this really stupid way of tracking my dot files Like obviously I have a separate Location where I keep my dot files that I actually upload to github And so I have these scripts that basically, you know, if I run it on a file It will manually let's say I update my zshrc or something like that Well, once I do that I will run this file on it and it will move it into the location It will move it to that other directory where my repository is You know my get repositories and then I can update it. So this is like sort of a lazy way to do it I've just done it this way for so long these scripts are actually really old the only interesting one is vdiff if I want to Get a Neo Vim interactive diff between a file that I'm using on my local machine and the one that exists in my repository Let me actually do an example of this Just so you know what I'm talking about. Okay, so let's say I don't know. Let's do the i3 config or something like that So if I vdiff it Okay It brings up a diff So on the left is gonna be the file as it exists on what did I close out of it? Sorry The file on the left is my i3 config on my own machine The file on the right is the one that is in my repository So if I want to move stuff, you know someone updated something on my repository like a change that Was a PR I can manually move this stuff over here or something like that or you know visually compare them So that's vdiff. Well vdiff is only if you want to Make very specific changes vgrab automatically over that gets what's on my repository and move it moves it to my Actual files and v copy is take a file that I've changed and move it to the repository and vdiff is if you want to do Anyway, that that's a sort of contemplated a complicated way of explaining them all so anyway Those are some of the scripts that I have Again, most of these I don't really I don't really door deal. What is this? This was something I remember that that was stupid. I'm gonna get rid of that So these are the kind of scripts that I have for automating things obviously Most of them I mean are not they the reason I don't put these up is not because I'm secretive about them I just don't really think most of them are useful to people or most of them even if they're useful They're not I know let's say there are many times you might want to convert a a tech file into or you know Change your quotations or something like that. It's not a script important enough to actually upload So I've never done it, but yeah, so those are the those are the scripts I use anyway, so that's just been a leisurely stroll through all these I don't know. Hope it gives you some ideas and I'll see you guys next time