This did not have a whole lot of solves. I think a lot of people were kind of confused by it. I know I certainly was for a long time. The challenge prompt here is, my computer got infected with ransomware, and now none of my documents are accessible anymore. If you help me out, I'll rollard you with a flag. So we have a download link. Let's copy this and let's go play with it. We can get this. It looks like a GZipped tar file, so we can gunzip that. I'm sure there's some nice fancy way to do that with tar on its own, but whatever.  So we have a directory here. We can change directory into 1, 2, 6, 2, 4, 0, blah, blah, blah, whatever. And ls here, still we have more numbers, except there's this hahaha.txt file. Let's check that out. It says all your files have been encrypted with an uncrackable algorithm you are now screwed forever. Great. So I didn't particularly know what to do with this. I would run binwalk, I would run strings, but if we actually check out any of these files, they are all simply more numbers. And that's pretty awful to look at. It was kind of crazy. So I had no idea what to do. I tried to talk this out with other players that I've been hanging out with in my Discord server, people that were tackling the CTF with me. But we didn't know what to do for the longest time. I thought some crazy idea, maybe that's like the key, like the phone keypad cipher or something like that. But it was a Michelinius challenge, so it could have been, could be anything. At some point, I had a random idea that, wait a second, all of these numbers are in decimal, right? Like these are all base 10. What if, crazy random thought, these are simply, what if these were in a different base? What if these were in hex, right? So I tried to take a look at one of these, convert it to hex. I cut up like all the way up to the, got the zero X and the L out of there. So I just had the original string. And then I would try and decode that from hex and then, oh, oh my goodness. Okay, all of these things are simply the regular file name just in base 10 encoded into hex and then put into decimal. So I figured, well, let's try and write something to experiment with these. Let's work with them, blah, blah, blah. So I did just that. I wrote like a simple decoder to see that's got to be the solution to actually figuring out all of these files. So I went ahead and worked with the glob module. And actually from glob, let's import glob. So we have that easy and handy. And then I use the OS module to just move around the file systems that I wanted to work with. I took the like root directory, root is not the right word here, but the top most directory for what we are working with. And then I would have just changed directory into that. But first I wanted this like general purpose function that would take a number and then convert it to what it's supposed to be. So it would return the hex form of that integer of the number. Do I need to do that? Yeah, just in case I don't pass on a string to it. Sorry, I'm again looking at my notes off of the side. And then I would get to the zero X cut out in case there was an L in there, maybe there wouldn't. So I used replace just to be sure in case I'm not cutting off the last character. And then I would decode that from hex and get the original string. Cool. So now that I had a general purpose function, I could run that on just about anything like even directory if I wanted to. And I can see that okay, that is originally documents. So now I would just move directory into whatever I wanted to work with. And I would start to look at some of the others, I would do for I in list directory, OS dot list directory, so we can see all of our files here. I guess I didn't even end up using glob whatever. I would try and print out the clarify of that file name. And let's see if I would get anything I would run except if things didn't work like on that ha ha ha file, actually just print failed with and then I in that case. So when I run this, I can see I have files ping pong Minecraft coding HQ default work, etc. And it failed with that file. So I figured, well, let's recreate these files. I know that they are doing just the exact same methodology where they're taking the decimal number, and it should be in hex and converted back to ASCII. So even with the contents of the files, I figured, let's go ahead and try and fix these. Let's open each of them up as a file. Let's read the contents out of them. And then let's create a new file open with the original file name that we're expecting. So like document or work or etc, etc. And let's write it with clarified version of the contents. And then we would just create all those files. So now I have moving into that directory. I have files like HQ default or ping pong or Minecraft 3.zip. So let's check out what those things are. EOG ping pong that did not open up for me HQ default. How about you? No, that didn't work either. Am I doing this the way that I wanted to? No, I did not. Oh, I mean, it's because I wrote read rather than write. We wanted to fill that file out. Fine. Now we can go ahead and run that. And it should work just fine for us. Let's EOG ping pong. And we've got some files here. Okay, awesome. Okay, so that didn't have any specific flags in it or I still wanted to explore more. So I tried some of the other directories. And I'll just grab one and I'll I'll tack it on just to make sure we're getting over there. And then I would run run our decoder and we'd get more documents there. So if I change directory into those, I can see I have new documents here, here too, etc. So let's try and open those up.  I figured I'd check out the next one here to blah, blah, blah, same kind of data, except I found this at the very bottom here is our interesting sheet name. And that is the flag just there. So that was interesting. That was kind of cool, poked around with some of these files just exploded for a little bit until I found the file with the flag in it. I don't know why that was hidden so much, just to be just to throw more red herrings at us, but whatever that was the flag that we wanted to get. And peculiar, interesting challenge with getting that out of all of those encrypted quote unquote files, like, it's just decimal numbers that we could very well consider as hex and ascii. So saving that as our flag, mark this challenge as complete as we want to etc, etc. Cool. Hey, I want to give a special shout out to my supporters, people that show me some love on Patreon. I love you guys. Awesome. You're the best. One dollar a month on Patreon will give you a special shout out just like this at the end of every video $5 a month on Patreon will give you early access to everything that I release on YouTube. If you did like this video and you want to see more CTF video write ups or programming tutorials, other stuff that I do, please do like comment and subscribe. If you're willing to join our discord server link in the description. Lots of really cool CTF players, programmers, hackers, just a cool place to hang out. I'd love to see you on Patreon and I'd love to see you in the next video. See you guys soon.


just like there's organic food versus conventional food. Organic food is better for you and better for the environment. Conventional food is produced in a way that's cheaper but is damaging to your health and to the environment. Well, there is also organic marketing versus conventional marketing. And that's what I'm gonna talk about here in this video. So the reason for this topic is that someone emailed me the following question and I wanted to share that with you. So she wrote, I attended a local marketing meeting. The topic of funnels, sales funnels, marketing funnels came up. The leaders shared all of the manipulative FOMO, fear of missing out, fear-based tactics out there. When I shared that, I thought many were just that fear-based tactics. The conversation turned into me having limited beliefs about what people want and when they want it because all the information is being offered as a service. It wasn't, I have a few examples but it's too much a share, she wrote. It wasn't the leader who was saying this. He was very chill about it all but there was a couple of the other participants who have heart-centered businesses. So in other words, even the heart-centered businesses are being indoctrinated by the marketers and maybe you are too. Chances are, if you're watching this video, you probably watch other videos from marketers or you read other blog posts or you take other marketing courses, you are probably getting indoctrinated into the conventional marketing model which is to manipulate people from one end of the sales funnel to the other end. Now you might think that that's what you're supposed to do, right? Well, how do you get someone to take action if you don't manipulate them? Well, do you also manipulate your friends to get them to do this or that? If they found out that you are manipulating them, how would they feel? Do you like to be manipulated knowingly by somebody, especially a salesperson, especially a marketer who's trying to get you to buy something or to sign up for their email list or to take some action or buy politicians? Do you like being manipulated by anybody? No, none of us like being manipulated and yet why is it that we are okay in our marketing manipulating others? Because we don't know that there's a better way and that's what my entire business is trying to help you with is a better, a higher way, a way that's taken the higher road and still works and still works just like organic food works. Do you like, if you had a choice between organic food and pesticide food, which one would you choose for you and your family? I hope you choose organic food. Now, the reason why some people don't choose organic food is it's more expensive to produce because you can't use the shortcuts, the unhealthy shortcuts that conventional farming uses to create food, right? Organic food doesn't have genetically modified ingredients. It doesn't have pesticides, fungicides, et cetera, et cetera that gets into our system and causes cancer and other degenerative illnesses. And it doesn't cause runoff and create environmental pollution and it's bad for the animals and the plants and the ecosystem, et cetera. Well, same thing with conventional marketing. Conventional marketing uses unhealthy shortcuts to produce results and it's not good for the values environment of the world. When most marketing, the most marketing that's taught to us that you are indoctrinated into is to use fear to get people to do things. Oh, time is running out. Scarcity limitation and also trickery. It's sort of like you entered into a video series.  You can smell it. You can just smell somebody's intentions or maybe you can't because you're so used to it now. You're so used to marketers just being creepy or being selfish or do you know what I mean? Like you can smell it from a mile away but we are so desensitized to it that we're just, we just accept that it's normal. Oh yeah, you join someone's email list. They're really just trying to sell you stuff. They're not really trying to, the mission of the email list was to give you free information. No, it wasn't, it was to sell you stuff. Whereas my email list is actually trying to give free information. And yes, of course I sell things too but I make the free information really the primary purpose of it. I'm on several email lists where it's like they have one free information thing, like 10%, 20% free information and then 80% is selling something or you watch a video and it's like mostly selling something, right?  It's just, it's gross. Just like conventional farming is pesticides are gross. And okay, so why is it that conventional marketers keep doing that? Because it creates short-term results. Just like, why are conventional farmers still using pesticides? Because it creates short-term results. They can make money faster, okay? Organic farming takes a lot of certification and it takes a lot of work to do things in a natural way. It takes more time and it takes more money. And you know what? The kind of organic marketing that I'm doing also takes more time and it takes more work. Are you willing to work? If you're not willing to work in service of your audience, then of course you should do conventional marketing because it's faster. It is, it's faster. But it's also damaging to your conscience and it's damaging to your long-term brand. And you can't, because I did conventional marketing for the first couple of years in my business, it made a lot of money fast, okay? You might say, well, George, you did that. You made money fast and maybe I should make money fast and then I'll be a good person later, right? And yes, you can still make that choice if you want to. And really, I really should say that. I really should give you the permission. If you wanna make money fast, go and make money fast and then try to be a good person later, you know? Just like I did, right? Now, if I had, if I were able to coach myself from starting 2009 when I started my business, I would have pleaded with myself to please go the organic route because you will not have to have those regrets that you have now. I gave away most of the money that I made in the first couple of years of my business. I gave it away to charities because I was feeling so guilty about it. And I wish I didn't, those were the lost, those were the dark years in the George Cow history of business. Those were the lost years.  Not all teenagers are fools, but many teenagers do things that they regret, right? So, bad for me to mention that right now of being what's going on in the news. But it's basically, organic farming is healthier for the farmer and is healthier for the consumer. Same thing with organic marketing. It's better for you, your conscience and your pride and your sense of fulfillment and your sense of joy.  And yes, you're not shoving offers down their throat like conventional marketers are doing. You're not using scarcity. You're not using the funnels to trick them into buying, okay, or to pressure them into buying. You're not using those things, so they buy slower. It's true. My way will be slower for you. And we have to admit that. And I'm willing to admit that. It will take you more time. It will take you more work. Are you willing to do it? But it works. Like my business now is on an upward trend. It just has gotten better ever since I started doing organic marketing back in 2000. And 2014 was when I kind of started playing around with the idea. I really didn't know much about it. I had to, I feel like I had to create a lot of it myself. 2015, I started doing it in earnest. And then in the middle of 2016, I noticed that I had no longer needed to go out to get clients because they were all coming to me. So it took me two and a half years. Are you willing to take that long? If you can't take that long, you may need to do some conventional marketing. You may need to do some sales funnels, things like that, or if you have an advertising budget. Like if you really need money, you know, it's not that I can't help you. There is an organic way of making money faster. And I wrote about that in my newest book, Authentic Selling. You have to be willing to reach out to people. Okay, if you need to make money ASAP, you need to be willing, just like organic farmers. How can organic farmers make money faster? They need to be willing to go to the farmers markets, to really do a, you know, to really reach out to people. Hey, strawberry sample. Hey, you know, we're getting, we're doing a sale on the scale here. You know, they need to be willing to really reach out to people and to really look people in the eye and do their best to be there, to be person to person, to really make a relationship, to really make a connection. That's what makes sales faster in the organic way without using sales funnels, without using fear of missing out, without using fear and greed and pressure in one's marketing. But the pressure does work. The fear does work. We're human beings, of course. That's why conventional farming works. And that's why conventional marketing works. It works faster.  Just like conventional, you know, conventional people who consume conventional food, eventually get cancer faster. So they regret it. It's like, I wish I had eaten organic all those years, right? And then I wouldn't have to deal with this cancer. So your audience is gonna regret it at some point when you use conventional marketing and you'll regret it at some point, but you do make money faster. That's the reality of things. So with organic marketing, what we're doing is taking care of, it's like organic farming is taking care of the earth, taking care of the farmers and taking care of the consumers. With organic marketing, we are taking care of our audience, taking care of our clients better. We're working harder. I mean, honestly, the organic farmers are working harder, right? And we have to be willing to work harder than the conventional marketers as well, the conventional businesses as well. We work harder. And by working harder, hopefully it's more joy because I feel more joy now in my business than I ever did when I was doing conventional marketing. I feel more joyful. And I'm better at, when I say work harder, I really mean works, maybe it's more like work smarter, but I'm a better time manager now of my own time. So I work, I probably work less than I did. I still work about 35 to 37 hours per week on my business. That's without breaks. So if you look at my day, it's seven a.m. to seven p.m. Monday through Thursday, and then Friday it's up to one p.m. And on Saturdays I work for three and a half hours. So, but seven a.m. to seven p.m. is, I take an hour and a half morning break. I take an hour for lunch. I take two hours in the afternoon for naps and things. So I take a lot of breaks during the day. So anyway, 35 to 37 hours per week of work. I work harder I think than my peers in terms of like really caring. I really try to care for my clients. I care for my audience. I put more heart into it. I think just like the organic farmers do, they put more heart into it. And therefore I feel like I'm happier than I used to be. And I'm probably happier, I would guess, than my conventional marketing peers. And I really feel like I have a real audience now. And it's only gonna keep growing. And I've never, I haven't had to reach out for clients in the last, since mid-2016. And I have a full client load and I am selling courses well. And so things are going well in my business. But anyway, so if you have any questions about organic marketing, please comment below and let me know. But essentially organic marketing, I mean I've written so many articles about it. So go and read my blog, georgecal.com slash blog. You'll read all about it. All my tactics and strategies are there. And if you want to go more in depth, take my courses.  It'll help you get started. And then my courses are if you wanna take it deeper and really go into the details and the nuances, things that take more patience and more effort to apply are in my courses. And so anyway, any questions? Let me know. I don't wanna keep talking just for the sake of talking. But organic does work. Organic, and by the way, when I say organic marketing, I should say the more advanced marketers like you, George, when you say organic, do you mean not paid ads? No, no. What I mean is I'm using the sort of organic conventional farming analogy to say organic marketing meaning the kind of marketing that uses more heart that works harder to care. And that is better in the longterm for one's health and for the health of one's audience and for the health of one's brand. It's definitely better in the longterm. But it makes money slower than conventional marketing. But it makes better money in the longterm, what I've seen. But by organic, I do mean, I don't mean I don't use paid ads because usually in the marketing world, but by the way, when you search, when you Google organic marketing, the phrase is not really there. And then when you think of organic with marketing, they usually need non-paid ads, like only search engine optimization and just doing nothing that's paid. I use paid ads all the time. So I don't mean organic in that way. I mean organic in the sense of not using fear-based tactics that most marketers do use to get results faster, okay? And also being authentic, not using lies, not using pretending. I don't try to pretend to be bigger than I am. And I don't try to come across as polished or anything. That's also part of the conventional versus organic marketing, is what I would say. So thanks to those who were able to join me live here. Jen Marco, Antonio, Tucker, Steph, Cornelia, and Captain, thank you. Thanks Tucker for your comment there and Cornelia for your comment. Cornelia wrote, I needed years to create my individual work helping people, but that's exactly how you say, like organic farming. I know I'm harvesting my efforts with heart, absolutely. It is much more fulfilling in my experience to do it this way. There's much more joy. And also we develop ourselves on the path of mastery. I think that's the difference also between, well, you could say with organic versus conventional farming is the organic farmers are on a path of mastery to partner with nature, to create truly healthy and delicious food, right? Biomemichry, all that good stuff, to partner with nature on the path of that mastery. Whereas with organic marketing, it's the same thing. I'm on a path of mastery. You become truly great marketer with heart, not using the tactics of sales funnels, marketing funnels, lead pages, scarcity tactics, fear of missing out, and polish, like sort of fake looking polish, that kind of stuff. No, I don't need any of that. I'm on a path of mastery to become a truly great writer, to become truly great speaker, and to really know my field well and to be able to communicate that in a way that's helpful and interesting to you. I'm on that path of mastery. And as I get better on that path, my marketing works ever and ever better. And client acquisition gets easier and easier. It's core sales gets easier and easier. That's what I found anyway. So anyway, I hope this works, and I'm continuing to give you my best information that I discover and create, and I can summarize for you what I'm learning elsewhere as well. So thank you for joining me on the path of organic marketing, and may you also find yourself joyful and fulfilled on that path. Wish you well.


Okay, I think I'm live. I think everything is working correctly. Usually when I think things are working correctly is when they, you know, aren't working correctly. So if I could get some yeas or nays from you folks out there in the chat room, I'd be appreciative of appreciative, appreciative words going to be hard, just grand. Also, a Giants lost. It's like their offensive has completely disappeared. We got some yeas. That's good. That's great. Don't pull me and be 15 minutes late. I was right on time. I was I did a good job. Um, and you were more than 15 minutes late. You were you delayed last night, man. Everybody was so disappointed in you, Tyler. All right. That's me. That's good. I'm glad everybody can hear me. It's always good when the audio works. Always should refrain from touching the mic. Just in case you know, it stops. I've been zero preparation work for the stream. So it should be good. I saw DT put a Emax video today. So we might watch that. I can't hear you. I don't have my glasses on. I can't. People say, watch what you say. I can't. My I teeth are in the way. Is that the saying like that? I don't know. It's an old person saying I why not? One more look at Emax after this in a couple months. You'll turn into DT. I don't. I don't think I'll turn into DT. I don't think there's risk of me liking Emax quite that much. And here's the kicker. I can't stand Haskell. So there's no there's no risk of me turning into Derek. Yeah, this is about as short as my hair is ever going to get by the way, guys. I'll never shave it any further than this. And honestly, this is a little bit too short. I was meaning to keep it longer this time when I cut it. But I got a new shaver. And apparently the numbers are off because usually when the higher the number on the shaver, the longer it leaves the hair, right? Well, this time I went from a two to a four. So I thought that the it would be longer, but it was actually shorter than normal, which is weird. So I don't know what was going on there. Boy, was I surprised when I made that first pass.  Well, I guess I better keep going. What is that American pie word there? No, that was jackass or something like that. When they were going around shaving people the back of people's head just randomly.  I can't hear you. My pipe wire is broken. Oh, join the club. You should use pulse audio. How you doing below? I'm probably butchering your name. But I'm doing well. What microphone am I using? This right here is the Heil PR 40. I highly recommend not buying it. It's fine. But you have to do a ton of post processing in order to get to work just fine. But if you do do the work afterwards, you can make it sound wonderful. But it's a lot of work. Also, this is the microphone that Leo Laporte uses. And that's the reason why I bought it. Because he was just like, Oh, it's the greatest mic ever. And I'm like, I got it. And like, no. Moig is here. Oh, Moig. I'm nobody knows how to pronounce your name. My philosophy when it comes to haircut is just to shave off as much of it as I can without going bald. Usually that's the my philosophy anyways. I do it three times a year. Simultaneously goes along with shaving. Well, this time I was going to go longer and try to keep the beard, but it didn't like I said, it didn't work. Alright, I'm sure everybody's here to talk about my haircut. So let's just go ahead and see if we can jump in to what we were going to do. So we're gonna open up. Oops, wrong one. Gotta make sure I'm focused. See here, we're looking for doom Emacs. So everyone asked me last night in Tyler's stream, was I going to go with doom Emacs? And the answer to that is yes. And the reason for that is because I'm familiar with it. And I'm lazy. So we're going to start off with doom Emacs. If I still feel adventurous at the end of the stream, I'll give vanilla a look. But I doubt it. So anyways, what we're going to do is they're going to install us because I have not installed it yet. All right, let's see here. We're gonna do we zoom in so that you guys can see I'm gonna be belching to this entire stream. So we're gonna copy this command here. And then we're gonna copy this command here. Oops, that's not in path. So we got to go into that then. Or we can add that. I don't have that in a path I should have in the past. So let's go look here. Let's see here. Why do I have? Okay, I think I actually have two path declaration things here for some reason. Maybe I don't. Maybe I finally cleaned that up. So we're gonna add this thing to the path. So we're gonna go down here to the end and copy in. I believe it's just dollar sign dollar sign home slash dot emacs dot d slash bin. And then another colon there. I think that's the way you do it.  And then we can run that again. No, that obviously didn't work. I don't know what you're talking about. And now you can do regular Vim commands like on. We're not even in Emacs yet. So I'm down there, buddy. Tyler, they talked you into switching to Nix OS, huh? Oh, you want to I don't know if I haven't yet. I might not have. I thought I did. I thought it should be. I apparently did not. Apparently. Emacs, what are the other ones that are dependencies? There were a couple other ones, right? Requisites, ripgrip. And I find is already here. So FD. I don't know if it's going to find FD in the regular repositories or not. Ripgrip is already installed, but it can reinstall this fine. Well, it does not like trying to find Emacs. Look at it. Look at it just hang there. Whoa. Oh, that's because I get it up to date the mirrors. There we go. I'll be better. There we go. That's better. If you're talking about me, is this a Starship problem? No, this is power level 10,000. You know, I gotta wait for my external hard drive to spin up because it does it every time it runs OS prober. And that thing just makes a ton of noise. Scares the living daylights out of me. All right, now we can try to run this one. There we go. That's better. All right. Okay, so we do. Yes, I believe. And that's going to do its thing. And then ask me for anything else kill gets to the font. See, I've done this several times. And I never stick with Emacs. But we're going to give another try because I've never tried it for writing. And that's the goal here tonight is to figure out if I can use it for writing. That's what I use Vim for basically is for writing. So I need something that's similar to go yo and light. Lighthouse light. I can't remember what that other plugin I use. Light something. Anyways, I need something similar to that. And I wish I need really good markdown support. And I know people are gonna say, What do I don't you use org mode? Well, because I don't want to use org mode. I want to just write in markdown partial bold. No, I'm not even partial bold. Short hair. There's a difference. No one actually knows what org mode is unless you actually use it. And no one who doesn't use it can actually explain it. At least that's what I think. But everybody who uses it thinks it's the best thing since sliced bread. Oh, it has been a long day. I was supposed to get a video done for tomorrow, but I have not done it yet. So I'm gonna have to do that after I'm done streaming. So that should be fun. But what are you gonna do? Or mode is marked on from the future. But then you have to put it into if I wrote all my stuff in org mode, then I would just have to translate it or whatever it does into mark down. Anyway, so I might as well just write it in markdown. It just be easier. They cut out the middleman. It's that's the way I see it. I'm sure there are other reasons why you would want to use org mode, I'm sure. But at least for my purposes right now, I don't think I need it. Alright, here we go. Get to the got to the fonts. Here we go. I'm sure you can export org to mark down. But again, I ask you, why would you not just write in markdown to begin with? Why have to learn an extra level of syntax? You know, when you could just use the original syntax, wouldn't save me any time. Okay, so if something goes wrong when you do doctor, we use doom up grade to update doom doing it any other way will require additional steps run, do help upgrade to understand those extra steps, access dooms documentation from within Emacs using space hdh. And I heard something beep in my headphones. It doesn't matter. Okay, so we can close this. Go to another workspace, open up Emacs. We have Emacs. Yay. Now, things that I remember, so space period is going to bring up dear Ed. I believe that's what that's called. And the first thing I need to do is go into dot Emacs dot D. And then maybe or maybe it's not it's that doom. And I think it's, is it config that I want? I think config is the one that I want. And then we'll zoom in here so we can actually see stuff and that's the first thing we need to change is the damn font. So let's see here. I want that we want to choose or the place that we need to set the font is from right here. So we can I believe we can uncommon these two lines here. And change the family, the font to jet brains. I can't remember. I think it's this it's not jet Brian's definitely not jet Brian's mono nerd font. And then we change this to 15. And I think we'll I don't think we actually need to set this one. We'll change it anyways. Make sure I didn't use Brian again. The first thing you should do is press MX doctor. Why do I need to do that smoke? Nerd now. Obviously, I did not do that right. Okay, well, what did I do do wrong here? I was just something wrong. Did I not put Brian again? I did know I put brains brain mono. Was it just brains? I can never remember. I think there we go. That's better. Turns out you have to spell things correctly. Who would have known? It went from Brian to brain. And so this brains spelling is always the hardest part. Like I know how to spell stuff. But my fingers don't. I just blame the fingers. Okay.  Do me max. I need that to go away. So I need to remove confirmation from doom. Max. There we go right there. So we need to. Here we go. Right there. You should you should make jet brains a customized Linux cast. I don't know what that means. I think I can put this anywhere. Oops. Okay. Why? Yeah, that's I remember how to how to do how to paste in in do me max. It's P because control shift because this is not a terminal application that it's, you know, that okay. Now I'm sure there's a better way to actually load that. And that and that worked. Excellent. Okay, now I'm going to catch up on that there. Yep. And I misspelled it. Do I really need to run that alt x doctor thing? Switch to Dr. Buffer and start giving cycle therapy? What? So that was my biggest one of my problems when I tried do me max before is that they're very cute. You know, like what does that even mean? Like this tell me what it means that you don't need to be cute about it. You don't understand that they're they're cute in their documentation to do music configuration framework. Oh, I'm not going through all this. I don't really need to. I'm not going to be changing much. I'm going to do most of my help get the stuff I need help from my searching for it on the internet. MX. Petrus. No, I'm in talk. How you doing? Welcome to the stream. Welcome to the madness. Okay, so I remember. So what's the one for listing the buffers? Show killing new empty buffer.  Wait a minute. Emax has his own scratch pads. Cool. You almost got me there.  I think it's that. Yeah, it's eye buffer. That's what it is. So there's two buffers. Okay. All right, cool. There we go. And the lack of padding at the top of that it was really bugging me. So let's go back to here and what we're going to do next is search for how to use markdown in Emax. Probably should actually how to use markdown in do me max. Let's see here. So f l there we go. All right. So markdown is a text HTML conversion tool for web writers, blah, blah, blah. Yeah, yeah, I know. documentation isn't really helpful. In my opinion, Tyler barely found anything in there as well.   I've also been messaged again on master done. They need to stop including me in that conversation. You can just type markdown as you would now that tech editor, can you do that? So we're going to be oops, that's wrong on space B. Okay, right. I think kill buffer.  Okay, space B, capital N. And then this is a headline. Now you can't just do that. I'm assuming then you have to face Bn oops, Bn. Oops, space Bn. There we go. And Dr. mdub do doom. Is it the packages? Probably the packages. Okay, so let's scroll on here. That's obviously not the right one. Go in it then. Yeah, that's the one I was looking for. So let's do search for mark down, which is already enabled. Right here. I wonder what any of these are the ones that I'll need probably not any of them, at least right away. So I'm actually you know, I'm thinking is that I need to just go into your CD media documents. Just do touch test MD. And then we'll open up media documents, test MD. And then if we do found this is a headline. Yeah, and then we'll also do. Yeah, okay. So I'm bold and italic. And this is a list. Oh, it doesn't it doesn't continue. It's also a list but not really. And see at least them will do that for you. So you have to do another one. This is also a list.  She mainly switched to a mode with MX markdown mode. Okay. Yeah, them does this does the same thing unless you have a plugin install. That's why I eventually remembered it. Yep. The real question is, is why doesn't do the automatic listing thing like, you know, I would expect it to.  So let's see here. So it's all that stuff works. Wasn't the one of the big selling points of using emacs that it did like made things bigger.  This is h3 is exactly the same size as the other ones. So what's what's the point? That's the question I have. Control return. This is a list. Control return. Nope. Doesn't work. It's only for org mode. Well, that's rude. That's actually kind of disappointing. So if it doesn't give me the part of the reason why I was thinking about switching to emacs to do my writing is because it would let me do different size fonts, which you can't do in the terminal. I've been I've been swindled. I feel I feel cheated. Let's see here. My spell has been configured not to spell checking code blocks. That's something I'll have to look into is spell checking out of the box fly check that those are that markdown preview. This module requires markdown compiler in order to markdown preview to for work. That's going to preview in a different window. That's not what I really want. You can do that in them to all to return to continue ball list. And that that worked. That's not confusing at all that they use the meta key for that, by the way. But that is cool. I'm glad it glad it's there. Yeah, I wanted to do it manually. I was hoping that it would do it automatically. See this module requires markdown compiler in order to markdown from markdown preview to work it will recognize and use one of the following executables in this order. You only need one markdown marked JS and doc already have that installed. So I went to worry about installing Haskell. That's marked JS not to be confused with the mark two app marked is an NPM package. So if you have I already have pandoc installed out of the box fly check recognizes these checkers from markdown mode and GFM mode. Markdown lint. MDL. Okay, so if you if you installed one of these things, would you need to enable it somewhere in the configuration file? What is what is that terminal? I haven't had a terminal opening quite a while. Talking about this terminal that's lackery. This right here, not a terminal that's emacs. With absolutely no padding at the top, which is just driving me absolutely bonkers. If you open up a VIM file, so there's some padding up there at the top because you're in a terminal and the terminal has natural padding. I'm just being anal about it but bothers me. Anyways, I love scratch pads, by the way, just put that out there. Okay, go back to here. So we're going to install this thing. And then I wish the documentation would tell you if you had to do anything after that. What is the web browser that this is cute browser using Tyler's configuration file. Because I haven't configured it in ages and I needed one that worked. So oops, yeah. Really? Well then why? Why did you tell me that? Because apparently I moved and moved the AUR since they did this documentation. Okay, I should have chose the one that did the Haskell dependencies already have all those look at all those Python dependencies. Python is almost as bad as Haskell when it comes to dependencies. It's like the KDE of programming languages. So the question then becomes let's go ahead and save this and get out of this and open up emacs again. And reload the last session. Hold on a second, my dog needs to leave the room. Silly pooch. Okay, now. Okay, so it's not checking automatically. So I have must have to do something different. Once you've installed pros lint, what do you need to do afterwards? That's what they need to tell you here. Oh, wait, I bet you have to enable that. So let's go here. Oops, wrong one. And that doom in it, BL. And we're looking for a fly spell right here. I zoom in so I can actually see I'm going to actually have to go through and change that. All right. So you want this one? And this one? Okay, and then write that. All right. Now, here's where the chat is going to help me. What's the excuse me? What's the keybinding? What's the key chord to get it to do sync? It's like base HRR base HRR. Okay, I'm going to remember that. I love key chords a lot. But they are harder to remember. That's the reason why all my key chords and sxh kd are all in the same key. They're all on super G. Then all I have to remember is the secondary key. All right, so now space B bracket, there we go. Now this is some wrong spelling that didn't work either. All right, do I need to reload this buffer? You don't need to create a new buffer before finding a file emacs, create a new buffer for you every time you file open. Okay, that's good to know. That's probably something that is falling around for my Vim days because you get a, I mean technically Vim does that too, but you really have to use those buffers, which I usually don't. All right, we're going to try that. Yeah, it's not. In Vim, when I do that, it underlines it when it's spelled wrong. That's what I want. Make sure you do a colon W map before you do this HRR. Okay. Did I not do that? No, it's saved. Space HRR. Yeah, I'm betting it. I bet you I did save it. Try meta X. So let's do space B. That's going to get annoying.  It's control W and then the keys. That's the same thing. Oh, I always change that. So you said meta X fly spell mode. So it's space TS. Let's try actually wait. What was that? No, it says some flash up there at the bottom. Space TS. Oops. Can't find hun spell dictionary with a dot AFF affixed affixed file. I'm positive if I hun spell installed. Excuse me, sure do. It says it's looking for hun spell, which is here. I mean, I could install the English one. So I usually don't need it. Starting new, I spell process hun spell with default dictionary done. And it's working. There we go. Cool. Now, what are the key bindings then to change that? So let's just misspell an actual word instead of just, you know, gibberish, something I do all the time. Oh, you guys, it's spell check like that, like word. Oh no, it's it. Wow, that was slow. Did you guys see that? It took a it took a minute and that was quite a delay. All right. So what do you what's the all right, you know, instead of asking, we're just going to open it up. So T, let's open control checks, look at this fly spell key bindings. This will be somewhere on the internet, right? Key bindings, clothing, fly spell correction, suggestions. No, I don't. Yeah, yeah. That's not what I was looking for. All right. Well, you want to know it? We'll go see if the real search engine can do it. Yeah, let's see. All right. I have no this, I have this on camera now, guys. Like everybody, everybody. Oh, duck duck goes so good. And it gives me all the proper things. Like, but this is why I use Google. Okay. Okay. Okay, here we go. Middle mouse click on work. That's going to be weird. That's supposed to be paced. Okay, that's cool. But I want to know that I'm going to have to know the key binding. I don't want to use the mouse. Here we go. Helpful key bindings. Meta dollar sign. So it's a meta. That'd be meta shift for to change corrected word using I spell. So go back to here. Do meta shift for and that actually moved it. That's not going to work. I actually have that key binding already done. So and you can't use that. Um, yeah, that's not going to work. I'll shift four for me moves it to my 14th workspace. That's awesome. I mean, I got a bit by having too many workspaces. That's the first time ever. That's great. I think you have to either type the function meta x fly spell command or something. Rebind it yourself. Escape dollar sign. Yeah, it doesn't do anything. And I just go to the end of the line, which is what I think it doesn't fit as well. Let's go back here. Mx flies by autocorrect words. So meta x is autocorrects the current word. Common customization, which is completely blank. So that's helpful. Thank you. So if I wanted to, to, to do the autocorrect thing, I'd have to do meta x fly spell autocorrect word. That's control meta eye. Control meta eye. That works. Control meta eye. That's good for that, I suppose. What happens if there's not a suggestion? Control meta eye. It does nothing. Okay, some control meta x. What else here? This is hard. This is a good way to find the key bindings because it just shows them next to each other. So fly spell, spell check word. Okay, so you would be cool is if you could highlight one of these and then set the key binding as you're like on it or something. That'd be awesome. So correct. Next. And none of these are okay. So that's a good thing to learn, I guess, is how do you bind keys in Emacs? So oops, I did that wrong. Okay, so open bind keys in Emacs. More likely bind keys in Doomy Max. In my previous post last year, wow, I've really been neglecting the blogging thing, blah, blah, blah, blah. I don't need to know your life story. Adding a key binding to in Doomy Max. I was missing a binding for adding a new journal entry using org journal. A quick Google led me to adding the following to config.el map leader and then a description and then the key binding. So we need to space period that doom config.el. Okay. And then I'm assuming this can go anywhere. So oops, back, back. Now we're in the right now if now we're focused. So we need to parentheses, map, exclamation point, leader, which I'm assuming means space in this case. And then space, the script in quotation marks the description. So this is going to be check word spelling. Okay. And then put up another one in parentheses, the key binding that you want. So here's the hard part is what if I'm rebinding something that I need, to actually, I don't want to accidentally rebind something that's important. That's going to be rough. Okay. So we're just going to try something, I guess. And what would be the chances of me? So I'm going to use Z P P just for reasons. And then the next thing has to be the pound sign.  So we need to go up here to this thing here. The one that we want is I spell word P and not outside of it, we need to be inside of it. P. There we go. But it has to be inside single quotes. No, there's at the beginning of it just one single upside down apostrophe, like that. All my cameras in the way. Thanks for telling me that I'm just going to get rid of it completely. Sorry about that. Also, I need I'm while I'm here, I'm going to change the font size because this is still a little bit too small and changes to 17 changes from here to 17 as well. So they're the same. Okay, now go back down here. I think it doesn't need a semi colon at the end. So delete that. It's not according to this. Yeah, I know I can zoom in and out, but I would further not have to do that every time. So I think that that will work if this guy's done it right. So it says, however, I soon discovered hitting the leader key space in my keys showed a is plus prefix. I wondered how I could rename and declare this prefix after some exhaustive googling. I eventually did a rip rip in Emacs D and found some code for the default evil bindings. This led me to this. All right, so I will come back to this if what I have doesn't work, but we're gonna try this first. Sure, why not? Okay, here we go. Okay, so I wonder if you have to do that for a minute, minute X. Well, okay, so we're going to have to figure out how to turn that on automatically, because I'm not going to want to do that every time. So space t s. And we want to go back to this. Maybe this. Okay, good. All right, start down here. Okay, good. And then we wanted to what what I do that I did space Z, P, P. That is correct. Okay, let's do another one here. T H. Oops. So space Z, P, P. election suggestions for for that is apostrophe. Okay, then obviously did not work. All right, Mike, thanks for joining. You did a push your dot files. I'd added the code for making markdown headers bigger. I'll check that out here in a minute. Okay, so why didn't that work? So high spell word, maybe that's not what I actually needed. We already have we would make one for this as well. Split pop up with correct word section. So that's probably the one that I want. Instead of this. Oops. Nope. We just type file a spell. Correct. Word. Okay, so that space HRR is just to do doomsync, but you don't need to doomsync when you save this. Is there a way to make it so that emacs will reload? Because like when I'm in Vim, I can do space s to get it to load the current configuration files. There's something similar for that. So we're going to find out. Reload doom emacs config. Just reload it with mx eval buffer, or use the menu emacs less evaluate buffer. Really? So mx eval buffer. So actually learning more about this. So let's see this was space ZPP. Why spell correct word must be bound to an event with parameters. What does that mean? Go away.  Why spell correct word must be bound to an event with parameters. Okay. Fly spell correct word must be bound. What did it say? Must be bound to an event with parameters. Damn it. Keep browser. Sure, I spelled parameters wrong. Nope. Thank you for that. Yeah. Keep browser. Your ad blocking is just fantastic. General describe key binding show all the key bindings and might be able to change them there. Okay. So it says that's because the function called fly spell correct word generic is not fly. What function is called generic. What then why does then why does it say this and not generic. Go away. Stop that.  I'm just going to put that out there right now dash generic g n e r i c and x eval offer z p p wrong argument command p fly spell command word generic. So that obviously is not work and didn't work. Don't blame yourself. That wasn't helpful going back. That's not helpful either. Every time I want to correct a word. No, stop that. Never.  How can I correct this? I don't have my having problem with the mouse to it. It works fine with the mouse. I don't want to use the mouse though. Well, we're going to keep going and see if we can figure this out. It's possible as a possible and more nor words. All right. You want to know what do the thing we normally do g bang. There we go. Emacs. That's not the right word. And that's so right here. Let's see here. Why don't use mx fly spell word? What is the difference between snaps and flat packs? What is the best? That's asking for a lot of trouble, but I think flat packs are the best better one. I'm not going to say best, but the better one. Now if you ask DT, he's going to tell you to look at app images. So ask five people, you're going to get five different answers. For a recommendation, install arch, use the AUR. Personally, I use a ton of flat packs. Vice, but autocorrect word, and I'm a alternative spelling offered in the mini buffer, but I don't know how to select the correct from these base. I spell auto, wait a minute, auto dash correct word. That just auto corrects the word though. That's not what that's supposed to do. I spent hours customizing my Emacs setup to match my three config only to use the blind text. I'm going to spend our, you know, a couple hours doing this and just end up using them at the end of it. Since posting this a discovered that if I run mx, I spell word that seems to do what I want offers alternatives in another window and allows me to correct those miss old word and add it to an existing dictionary. Is this the way it's supposed to work? So it's, so if I actually run that some meta X, I spell word.  No way.   That's the exact same key binding as them.  If I just done the thing I was doing Vim, I would have been there 10 minutes ago and then just press one and it does the thing.   Of course, it's the same as Vim. Just sorry. We can close these now. I don't need that anymore. Actually, I probably needed that one again, but we'll come back to it if I need it. Anyway, so we were going to go look at gitlab.com slash. What is it? DT one or something like that and DT that is that that what that is? No, obviously that's it was close. So we're going to have to search for get lab. Destroy tube. And there we go. It's DWT one. I was close. All right. Back here. Stop with the pop ups. I remember it was something. DT something. I just missed the W. I'm not sure what I'm supposed to be looking for here though. No, let's see here. Where are the, what are reason whenever I'm on get lab and in the light mode, I don't know what I'm doing. Like I just look at it like I don't know what I'm doing here. Here we go. I wasn't looking for activities. I was looking for my config directory in my dot files. Okay, so we're going to dot config. And we're probably looking in at doom, right? And multiple ones here that are so the config.el is what you're looking for. If I can pick this out of out of the lineup here, might as well have them to download the whole thing. If you don't want to do, because most of the stuff you use Emacs for, I'm never going to use probably org files, easier to find it, of course it is because it's org mode. There we go. Mark down right here. Table content doesn't work. I think that's a get lab thing, quite honestly. I found that on other things too. So we're going to scroll down here. We'll probably scroll too far. EMS emoji, ERC evaluate EWW fonts insert date. Hoping this is all there we go right there. Oh, cool. So I can just I should just be able to take this right and put it in my config.el. Copy this and do I'm going to remember this eventually base B bracket. Okay. Okay. Now. So now I did meta X eval buffer. That's space MEB space MEB. Yeah, there you go. Let's see if it how it does it does live. This is a headline. This is H2. Cool. This is H3. This is H4. Cool. That really does well. Sweetness. Thanks, DT.  Okay. So that is, that is mostly all the markdown I ever do. Honestly, other than links, which I always have to look up like every single day I use I use the link syntax every single day, and I can never remember it.  I just go completely blank. I can never remember if the title goes first or if the link goes first. I think the title goes first and then the Linux cast. I think that's the way it works, but I'm not actually sure. It might be the other way around. I always have to look it up. Links in mark down. See, I had it backwards and I had brackets first, so the title and then yeah, that's the way it was supposed to work. Okay. I always, I mix them up. It's something that's just wrong with my brain every single time. And then to do the picture thing is, is the exact same only adds the exclamation point at the beginning, I think that title and then a link to a file. So slash home after mdub media pictures, walls, then just wallpaper, PNG. Oops. That's not what I wanted to do. mx mark down insert image is so multi x mark down insert image. Let's control C tab. So girl C tab, walls, little text optional text. Okay, cool. Sweet. So you do so you could do control C, control I. Cool. Okay. By the way, in case of the long commands, you can do something like mx R tab and this tab and tap on commands. All right. So let's see what's next. We did this here. So we got the winter working so that I can, I don't even know if it's actually using that or not. I have no clue. Markdown preview. So how would you actually wonderful markdown preview to work? So let's just see. It was meta x. Oops. That's not the right one.  I don't want to send an email. That's what I did last time easy mix is I was just randomly pressing buttons like, oh my God, where am I? Because every time I hear the word meta, of course, I'm going to hit super. It's almost guaranteed. So meta x mark down dash preview space MP space MP just uses firefox just uses firefox, but you guys can even see go to go over here and there you go. That's what it does to preview, which is what them does to when you have the proper plug installed that it's there as cool and close that go to this. So that's preview. Let's take this back to two. Oops. Wrong one. There we go. All right. That makes sense, Peter. Thank you. These are all the same thing usage markdown preview configuration, which is changing how markdown is compiled, consult markdown command, it's default value markdown compile consult markdown compile functions, a list of functions that take three arguments to start endpoint and the current buffering use it as input and output buffer to insert the result in by default, the value of markdown compile function is okay. So it's uses the things that it will make sense. I don't need any troubleshooting in the appendix hasn't been done yet. So that is all markdown documentation that they have. Okay. So the next thing I need want to know is something similar to Goya. So open this year, Emacs equivalent of Goya. There's one of the reasons why I've decided to do this is because Goya hasn't been updated in two years. And it does not like the new version of Neovim.  Let's see here. So I watched the focus plugin, but I need a really focused mode to center the text and remove all of their, their stuff. English is really, I mean, it's not that hard people. It's okay.  I still judge people all the time because it's my job. I'm always editing other people's words. So when I see like this, like, I want to, I want to edit this and fix it. Okay. So take a look at Olivetti too. It's what I'm using. Awesome recommendation. Olivetti for Emacs. Okay. For Emacs. Emacs. A simple Emacs minor mode or a nice writing environment. Set a desired text body with the automatically recited wide one margins. Yep, that's to keep text comfortably in the middle of the window. Text body can be a number of characters and integer a fraction of a window width or nil, which uses the value fill column plus two interactivity with interactively change body width, which is cool because you can't you have to explicitly set that kind of thing up in Goyo and it's not easy. Ah, TFL is here. Hi, man. How you doing? That was a little bit irony there. You didn't misspelling an editor in real life. You misspelled the editor. I do that all time, all the time. It's great. If Olivetti body width is an integer, the text body width will scale with the use of text scale mode. Whereas if a fraction, then the text body width will remain that fraction. But it's been fairly recently updated, so it's not gone. Okay. So requirement Emacs. I wonder if this will work in Doom. Emacs probably will. It doesn't say greater than 24.4. So installation, the latest stable release of all of it is available via ML, MLPA stable. First at MP.  If you ever want to watch something, the stupidest thing ever, just waste time on YouTube to search for people typing on phones or the phone typing competitions and they just blow your mind. Okay. So how do I install this thing? MLPA is the Emacs package manager. Yeah, Emacs can be run from a terminal, but it would take away the really cool sizing that I have gone here because you can't do that in terminal. It's cool if you could though. It's weird that somebody hasn't created it. Well, I mean, probably what they'd ask you to use just then is something like GVM or something. Because I'm assuming in GVM, you probably could have multiple tech sizes, but I don't even know I've never used it. Okay, so I'm going to open this up in a new tab and find out what how that is. That is helpful. That's a man page. And that's the most useless link ever. By hitting this link here, it just opens up a man paid version of the same thing that you were just on. MLPA is repository of community maintain packages. Okay, I understand that part. Question is how do I use it? So we're just gonna have to Google that then, right? So what was it called? MLPA stable, how to use my first Emax packages a couple of months ago, left me more cognizant of how Emax packaging system is put together and rich questions about how I use its capabilities. I had been installing all my packages from me and me LPA. But now as a fancy Schmanche package author, I've become intensely where the MLPA builds its packages on the latest commit of a project's repository. Suddenly, it became paranoid about exactly what I wanted to push the master branch. In Doom, you should have a me a point. Okay, so if that's the case, then I can just require it like this. You wish to contribute?  Famous last words. This is what? Okay, so there we go. So what's the one which this is the one that we want? We have way too many buffers open. Okay, so that's not even the right one. Okay, it's this one. Let's see if that's actually included. So all the what was it called? O, L, I, V, E, O, L, I, V, E, O, L, I, V, E. No, not like that. Okay, so where would you put this? Require all of it. So I think Mx package install is temporary in Doom, not permanent. You have to add the packages to package.el. Mx package install rep all of any mode. So you don't include it in init.el. You include in package.el this here, which by default is all commented out. Good luck TFL, man. You have fun. Init.el is just for default Doom packages. Okay, modules. Extra stuff goes in packages.el. Okay, so you just do the I just then do this thing here.  I'm going to control shift V until the end of my life. This is not a terminal. Different syntax, empty by default. No, look at mine in the dot files for it for the syntax. Okay, that's a good that's a good idea.  Of course, I do. Sweet. Okay, so we're going to I forget. I'm going to go back here. Doom. We're looking for packages.el package. Okay, that makes sense. Not at all. Oh, you're you actually use this. So we'll just copy and paste that. So did he? Damn it.   And it still pasted the wrong thing. This was the thing that I needed, right? Right here. Okay, there we go. Okay, now. Oh, thanks. Did he is like half of it is like way behind me. Never mind that there's like latency on the stream. At least some and we still be still in front of me. That's hilarious. Okay. Okay, so now I do that. Space HR are wheat. Okay, now. So go back here and go back to the Olivetti thing and see what the key bindings were. What do you use to get into it? Mx Olivetti mode. Okay, that's good. Yeah, and we'll have to bind that. Okay, so that's what I'm looking for. So meta X, Olive. Oh, yeah, that's cool. I want that's exactly what I'm looking for. Oh, yeah, that's good. All right. So I'm gonna have to bind that. So let's go back to config.el I think. Yep. And so what we want to do is insert parentheses, map. Wait a minute. Do we see that? Did I already have one? So meta X. No, it did not. Okay, I just want to make sure I'm not redoing something here. Okay, so leader description. I'm just gonna call this go yo. It's just way easier. Okay. And then so I think this will work. The thing that I normally use is command G is command G anything here? No, it should be okay. And then base TL to turn off line numbers, cool. I might have to bind that something. Is there a way to set that automatically when it's in? Because you could probably create like a binding whatever that does both at the same time enters all the go yo mode, which I'm just gonna call that and does the line numbers all at the same time. Well, G is important in Emacs. Don't use it. Okay. Then what about let's just do GGG. Now that wouldn't work because well, maybe it'll work. Why not? And then pound upside down apostrophe. And then I'm gonna do that. I'm never gonna remember that. G will be a problem. I already use bindings with space. Well, yeah, I am. That's what leader is, right? To be leader GGGG. Am I not doing that the right way? Okay, so I think never gonna remember that.  Can never can't remember how to spell some meta X, O, L, I, V, E, T, T, I, O, L, I, V, E, T, T, I, O, L, I, V, E, T, T, I. You can tell I'm not used to using the whole auto the auto suggestion thing in them. If I just started to begin with, I would have had it. Okay, like that. And then did I do something wrong there? Is it face GG is magic? Okay, so I'm gonna have to do something different. GHG then GH maybe space G oops, space GH is unidentified. So that should work. Okay, so write this and quit this. Okay, now. Okay, so space GH, space, space GH man, haha. And does it good? Does space GH squad of it? Yeah. All right, cool. Sweet.  Now, what I want to know is if simultaneously, if I go back here, can you combine commands? So if at the same time, I wanted to also turn off line numbers, when I do that command, can I do that? So let's see if I can look this up. Before somebody answers me the question in the chat, do two commands with one key binding in Emax. That's using a completely different syntax. All right, David, have fun, whatever you're going to have to do. Thanks for being on the stream. GFL, man. Thanks for stopping by. Appreciate you jumping in. I know it's real late over there across the pond. Actually, getting kind of late here. I've been going for an hour and a half. It's usually my cutoff time. We're gonna do this one last thing for sure. I'd recommend never binding Lameda expressions to keys. I don't I'm not doing that anyways. All right, Google is going to answer this question. Mastering key bindings in Emax. Mastering Emax. What makes up a key bind? Emax is self-hosting and depending on who you ask, close to achieving sentience. This is why nobody likes Emax. The documentation is because you all think it's the God of all gods.  It's all right. It's just the text editor with some Tetris. Sorry, DT, I didn't mean to offend you. I probably did. Let's see here. A key map is an internal data structure used by Emax to store keys in their associated actions. Key maps are rarely modified directly but through a set of commands that manipulate the data structure for you. Most Emax users will never interact with key maps aside with indirectly assigning keys to them. Every buffer in most major and minor modes have a key map and that key map defines what the keys do when the key sequences are sent to the buffer. I know all that stuff. So key bind commands. So define key. There are several ways you can define or undefine keys. I don't really want to get into a function. I can probably just learn to do them both at the same time manually. Representing keys and code, remapping commands, define key. See, this is a completely different syntax than what I was using. Reserve keys. So you'd have to do with a function. Okay. Let's disappoint. Probably have to do the same thing with, because the Goya stuff is done with a function too. See, so this is my Vim general thing. That's okay. If a hook is anything like the hooks in Haskell, I don't want anything to do with it. Hooks in Lua are horrific as well. So and that's from very, very brief exposure to all together key maps, listing all the mode maps, quickie. Look, hooks, a mode hook has zero or more functions that are called when its mode is activated, like say, you want to open a file that uses that mode, or when you change the major mode in a buffer, you can add a mode hook using the special function add hook that takes the name of hook to Python, say my Python mode hook, and the name of the function to call. Did we skip the line above functions? No, it didn't cover functions earlier. Listing all motor, if you're unsure of the exact name of the mode hook, you can use this handy trick to list the ones Emacs can see. Here's a bunch of templates for various use cases that you can cut and paste, and using your own code, I recommend naming things sensibly and giving them a doc string in code. Basic global key bind, add key definition to purpose. I don't know why this came up in the Google search. I just because the word key binding uses mode hook template to bind keys that won't work with a standing defined key template or that require local binding for other reasons, probably more involved than what I want to get into right now. But that's definitely something that I'm going to look into. Alright, so the last thing I want to do, I will save that for next time. And I'm going to search for lime. What was it called? Yeah, limelight. Emacs, I'll turn for Emacs. Anything like limelight for even for Emacs, this plugin looks really good. If you're looking for a distraction for writing mode, you might want to try dark room mode. How's that doesn't help me if it doesn't show me a screenshot of what it actually is. Dark room makes the visual distractions disappear though. Mode line is temporarily elided. Text is enlarged and margins are adjusted so that it's centered in the window. So this is the same thing as the other thing. Dark room tentative mode is similar, but it will ultimately turn on dark room mode unless its current buffer lives in the sole window of the Emacs frame. Whenever the frame is split into two display, more windows and more buffers, the buffer exits dark room mode, which does the same thing with go yo. When they are deleted, the buffer reenters darker modes. That's cool. Personally, I always use dark room tentative mode. Also see customization options, dark room margins and dark room fringes outside margins for which effect both modes. Hasn't been updated since 2016, but I'm not too worried about it, I suppose. If you install this thing like this, it's not permanent. I think that's what DT said. So I'm looking for package exclamation point RR. Okay, so meta X dark room tentative mode. That does the exact same thing. It doesn't get rid of the line numbers, and it doesn't really do the same thing as limelight does. So what's the, so it was space Z, space GH. The only thing it does different than the Olivetti thing is that it makes the text bigger. So that's Olivetti right there. And then, oops, meta X. I mean, yeah, it hides some UI, but I'm not too worried about that. I don't know. I'm not sure which one I like better, probably this one, but I wish it also hid the line numbers at the same time. That would have been cool. All right. Well, I think I'm done for now. I still want to find an actual limelight replacement. That's definitely you're looking for distraction. Does this thing have a and basically does the same thing by default writer remote does the following things activate full screen disable transparency disable the menu bar disable the toolbar disable the scroll bar enable the bottom of the window divider of one pixel maximize the current window delete all windows in the frame place the fringes outside of the margins disable the mode line and add window margins to the current buffer, but it doesn't highlight the paragraph active paragraph. That's what I'm looking for. That's not all that helpful. It's something you were looking for. That's not I mean, that's that's a dead link. This was the only other one that I and that's also a 404. So excellent. That must be a really old Reddit post. Seven years. Wow. Okay. Will that work? What would it? Okay. So if I copy that and go back to four where that that's going to be in config that yell right. So this one here. Damn it every time. Seriously, man. How hard is to remember that P is that are in private config so that doesn't actually go there. Does it gonna add a hook that hides the line numbers when you enable all of it or dark remote? Okay. Where do I put that in order not to get that air? This is one of the reasons why I don't use text editors other than most. Look at all these features. I get Tetris. You need a positive fee. Okay. Okay. So like this line dash mode. We're going to try that. Okay. So every time I want to do meta X I do colon because I want to think I'm getting into command mode. Meta X this. Yeah, that didn't work. Add hook dark room mode hook line mode. I never decaf welcome to the stream. You're catching me at the end, but you at least made it here. So ad hook dark room dash mode dash hook mode dash hook. Wow, that was way too many letters. Like this. Okay. And then we'll try again. Yeah, so I'm doing those numbers are still there, which is a list of commands that gets run when you start dark room. And ad hook adds the given command to that variable. I mean, that may that may be true, but it's not. It didn't seem to work for me. And that's I'm putting in the wrong place. So meta X line. So this online is very popular. And the line line, you will delete line line number mode, toggle line number display and mode lines and line number mode. That's all that work. Not line number. Well, it's not line mode either. Okay, so number will just search for number then number to register evil evil numbers highlight numbers mode rectangle rectangular numbers toggle line doom slash toggle line numbers. How would you do doom slash in the in this hook?  Because why wouldn't I be more confused? So the same way just doom slash toggle line numbers. Okay, so doom slash toggle line numbers. That's what it was, right? Meta X numbers. What was that? And I went too far, write a custom function, it should mass slash whatever is doom toggle dash line dash numbers. Okay, try one last time. I'm going to get an error. So meta X. Yeah, that's still going to work. Okay. In Emax, you usually add a slash to add a contents to it. But it makes it easier to know what where the command is from. Are you saying that I probably don't need the doom slash thing? Yeah, I know there's a key binding for this, but I'm trying to make it so that when I enter this, it does them all at the same time. Ben, what video game are you playing? You're probably having more fun than I am. Okay, so that is still in work. You need dark room tentative mode dark room tentative mode hook. That's literally the last thing I'm trying. Emax is now officially at the top of my application most useless. I've opened it so many times. Okay. Yeah, that didn't work. And air dark room tentative mode hook air running toggle line numbers because void function toggle line numbers that doesn't actually so it doesn't actually exist. So if you go back, if we go back to doom slash with that work in Emax, really nice GitHub and discord. Because I'm going to try this. That still didn't work. Didn't get the error this time, but the numbers are still there. Did I actually spell that right? I'm going to X. T E N T A T I V E T N T A T I V E. Spell correctly. Okay, well, not that big a deal. Why? Like, that's what's the wrong thing. So like, we know space TL space TL. Isn't actually space TL. There you go. Get rid of them. But I don't want to have to do it manually. Yeah, I don't. Obviously, there's something that is wrong there with that hook, because it's not obviously not work space. TL just works fine. So what we're going to do is click here, delete this line completely. Go back up here, we're going to change all of any mode to what metax it's dark room dash tentative mode dark room dash tentative. I like that all complete thing. I really need to remember that that's there. Can we try removing the pound from the hook? No, I've already deleted it. It's okay. I'll keep experimenting, but I'm done for now. All right, so wow, that was quite a stream. It's about a half an hour longer than I normally go. I'm very interested in water and getting out of this chair. So thanks everybody who has missed around with a stream. Thanks everybody who popped in the chat to help. I really do appreciate it.  And I'm further along in Emacs now than I was the last time I tried. So that's a win. Now I still need to auto start that Emacs daemon. So it launches faster. And I need to add a key binding so that I can actually, you know, get to Emacs without opening up Rofi. So okay, you want to know what Gregory, we're going to try this one last thing. Why not go back here? Why not? Okay, so we're going to try this out right here. And we added so space gh winning. Thank you, Gregory. That's it right there. That's so good. So space gh space gh yep. That's good stuff. Works really well space gh. And the numbers are there space gh the numbers aren't there. That's winning. And I see surprise to work.  All right, excellent. Thank you for that. Thanks everybody who's helped before I go. I should take one thing my current Patrons. You can support me on patreon and patreon.com slash Linux cast. Thanks to Robert, said Devon Patrick, Fred Kramer, Megwin Jackson, I'm Jules Davis, everybody go next Gary, Samuel, KB, TGB, Keith, Andy, Uncle Bonehead, TriDevil, Gary, Mitchell, J-Dog, Carbon Data, Jamie, Sean, Odin, Martin, Ross, Eduardo, Art, Senator Elliott, Merrick, Cam, Joshua Lee, Peter A, Chris Bulldark, Ben and Six Primus and PM. I don't know exactly what I will be doing next next Sunday. Maybe I'll mess around with the emails a little bit more. Who knows? We'll see. Anyways, there'll be a new video tomorrow. So peace out. I'll see you next time.