Hi everyone, welcome back to another stream.  So this being both, you know, the software that I use, but also the hardware that I have set up around my desk, both for streaming, but also just, you know, generally for work. I figure I'd start with the hardware because the hardware is the bits that require the most arrangement to kind of work as hopefully you'll see in a problem everything works fine when you try to use your phone as a web camera. And if it didn't work fine, then maybe I'll edit it out. We'll see. Before I start, there are a couple of things I want to get out of the way. So let me go here and switch over to this thing. Like so, so I have finally been able to open a GitHub sponsors. This was something that I couldn't do while I was in the US for various visa reasons. And so now that I'm no longer in the US and no longer under the same restrictions, I've been able to open GitHub sponsors. I also have a Patreon that I can show you right here. And this Patreon, the information that's on the Patreon and the information that's on the GitHub sponsors is about the same. There are a couple of different tiers. I don't want to sort of go through all the details, but the basic idea here is that if you feel like you have derived value from some of the, some of the content that I put out there, whether that's videos, whether that's talks, whether that's the book or open source projects, then this is one way in which you could sort of give back basically to make it possible for me to spend more time on it going forward or just in general if you want to say thank you. There's sort of everything from a relatively small tier to a much larger tier. I want to be clear here though that this is not something that I sort of rely on for life. I'm doing okay, I have a stable job but you don't need to sponsor me.  But if you feel like you want to sort of say a thank you then this is one way in which you can do so. If you do, you also get access to my new Discord server, which is right here. You can get to it if you go to discord.johnhu.eu. It'll take you to this doorstep channel that explains basically the same things that were in the GitHub sponsors and the Patreon. And these other channels you basically get access to depending on the tier that you sponsor at. None of it is like super crucial.  This is not intended to be a sort of GitHub sponsors where I produce lots of private content and you only get access to it if you sponsor. I don't want it to be that way. I want to keep producing sort of open educational content. And that makes it a little weird to have something like a Patreon, right? Because normally you're sort of incentivized to only give people things if they pay you. And I kind of want to do it the other way around where you pay me so that I can give away things for free to more people. The main thing that you'll see on here that is sort of available to everyone is there's announcements channel where I announce things like the stream and all future streams. So if you don't want to follow me on various social medias because you don't want to be on those sites or you just remove that from your life, then maybe you could join only this one Discord server and you can get your announcements from there. That's entirely up to you. Apart from that, the other quick thing I wanted to share is I'm going to be at Rust Nation in the UK. So the Rust conference that's held in London in the end of March. There's some pretty exciting stuff happening there that I can't talk about yet, but I'm very excited to go. So if you are not going, then maybe consider going. And if you are going, then say hi to me there because we'll have a lot of fun. Okay, with those things out of the way, let's then go to hardware setup. Yeah, I know I use Discord light mode. I use light mode for things. I actually like light mode. Let's start out with physical setup stuff. So here's what I'm going to do. I'm going to see if I can get my phone to act as a web camera. And in theory, my phone can do this. In practice, it's a little bit hit or miss whether that works. We will find out. So now, if I now do this, let's see if it works. Boom. Do you now, in theory, see my screen? I'm going to share my full screen at some points. You can see the actual things on the screen better later on. It frozen. Oh no. You see windows. All right, let's try this again. Let's see if I can get it to work the next time. Uh-huh, uh-huh. Okay, no data transfer back to webcam. How about now? Still the same, still the same, still no, still the same, you still don't see my monitor. All right, then I will have to go into OBS and get OBS to be helpful here. I do this. Oh, that's because OBS got very confused. How about that? Now maybe you can see it.  It worked for a second and then it stopped. See, this is what I get for getting excited about a new technology and seeing if I can work to work. Yeah, I know. It's very concerning that it's not really doing its thing. Okay, this is now still working. So I'm gonna keep OBS open so I can monitor whether it freezes. So there are a couple of things that I'll show you around my desk here. Oh, and it froze again. All right, clearly, maybe it's the cable. I don't know. I know what I'm gonna do. I'm gonna grab a different webcam. Let's see here. Give me a second, I'll be back with another webcam. I'm gonna call that a great success. Let's see now with an actual camera or rather an actual webcam. Let's see what we can do here. Uh-huh. And then I want to do studio mode and then I want to do phone cam. Aha. So stop studio mode. And now switch to this one. Aha. Okay, we now have a webcam on a stick instead. Excellent. And this one seems like it's just kind of working. So let's pretend none of that happened and we'll try again. All right, I'm very glad I had a webcam just sort of lying around. That was by sheer luck. Okay, so the first thing you may notice is that I only have one screen. There's no second monitor. There's the laptop over there but there's no actual second monitor and for my home, this is my work computer. So my home computer has only a single screen. This is something that was a big debate for me about whether I wanted to go the dual screen route. I decided not to because I kind of find it annoying to navigate windows across multiple screens and I can just use virtual desktops for it and it works just as well for me. The other thing that I'll show you is I have my rubber duck. So my rubber duck here is my debugging companion. So whenever I run into programming problems I talk to my rubber duck and then I have a split keyboard. This is the Kinesis Gaming keyboard. I've used this for years and I'm pretty happy with it. And then I have one of these Kensington like ergonomic mice and so this is one where you use your whole like hand, your fingers to actually move the thing around and so it's not one of those thumb ones it's a full arm one. I find that this helps enormously with like RSI. I've been very very happy with that. I have speakers. I don't think they're particularly interesting or important and then I have these little lights that I use for streaming and then behind here you'll see I have a bunch of mess of wires and then I have a stand I'm thinking of upgrading the stand because it's a little wonky and then I have an actual DSLR with a prime lens up here that I use as a webcam. I've been really happy with this one it gives pretty crisp video quality compared to the webcam I'm currently holding which can't even render this nicely. And then I have my drawing pad so this one is basically like full US paper size. I use this for annotations of papers and the like but I mostly use it for streams for drawing diagrams. It's really handy to try to do that rather than trying to do it with a mouse. And then work laptop not super interesting but what is kind of interesting is that the home desktop and the laptop are both connected to the same screen and I don't know if this is going to be useful at all but if you look at the back here no I'm not going to show that it's not going to make any sense I have a USB hub and a bunch of like basically all my peripherals including my little sound device here those are all connected to the screen and then the screen has a built in KVM switch and so I can switch between my work computer and my home computer through like a single button on the monitor and then everything switches over so that includes sound that includes my webcam that includes my keyboard my mouse like literally just everything switches over between one computer and the other which is very very handy it makes it pretty easy to just have a single setup and like even during the work day or while I'm just on my home computer I can really quickly switch to the other one just to get things working apart from that I have my little corner over here at fidget things you've got to have things to fidget with and my headphones which wearing headphones I'm not entirely sure why I did that there's no actual sound coming from here my cable management is awful I have a lot of cables it's actually like not quite as bad as you think like they are like pulled together but yeah it's a little bit of a mess and believe it or not I am actually using Wi-Fi like my desktop here and the thing I'm streaming over is using this Wi-Fi antenna on top of my box here oh man this camera is so bad I wonder if I can not easily but it is actually all Wi-Fi based and it's working pretty well the Wi-Fi is just past that door over here behind this giant sound blanket and actually get pretty good reception and then over here this is my thinking chair so I go sit over here next to the fake plant I wish it could be real but with cats that's harder this is where I sit and think whenever I get stuck on things I still haven't put that picture up but I want, I don't know if you can see this picture particularly well but it's a guy sitting with his head in a plant and so I want that to be in the plant I like this piece of artwork too it's got like a thousand faces on them and one of the faces or it's got like a thousand heads and one of the heads has no face and you need to try to figure out which one it is and then apart from that you know I have I like maps so I have maps up here this in particular is a D&D map of the Sword Coast of the Forgotten Realms because of course you got to have that and you know printer and box and stuff my board game collection which I really want to organize better but alas this is where Chai sleeps right there and then my wooden DM screen that my players gave to me a few years ago which I love very much I got a little embedded device and my plan is to start trying to fiddle with it and see if I can build something interesting maybe on stream but I haven't gotten there yet and then down here I have my three copies of Blood on the Clock Tower that one to the right is like a playtest prototype that I'm very happy with that's another conference I'm going to soon or a convention is the Clock Tower Con in April in Washington DC I'm very excited I'm going to be playing Clock Tower basically continuously for three days yeah these three Blood on the Clock Tower I think that's most of the hardware setup really I do have like an audio switch and stuff that's mostly because my microphone this guy right here is like a Rota Procaster so it only has XLR and so this is the thing that I use to then switch into the computer oh yeah I'm very happy with my rug this one here took me forever to find one that I actually liked and then I have a little cat cave here where sadly the cats do not particularly like this cave but it's right here so I'm just hoping that one day they'll accept that this is the best place to be in the house okay I think that's all the hardware stuff unless people have questions about hardware that I can try to answer while I still have this camera connected this is a 4K monitor so it's you know 3160 by 2156 or something the PC specs yes but that I can do without having to hold this I'm just trying to figure out that there are other things that I want to show as opposed to like give you the specs for do you customize the buttons on the trackball yeah so I have these two buttons map to previous virtual desktop and next virtual desktop so that it's really fast for me to switch back and forth between them that's sort of the main one oh the chair of course the chair I've spent so long trying to find a good chair the one I've landed on is this thing it's a really weird chair I don't know if you can see this it is like an ergonomic chair and it's actually a Norwegian brand called Hog that have developed this like weird ergonomic chair called it's called a capisco chair and it's really nice when you sit for long periods of time because it is designed so that you it's designed actually let me switch back to that so this chair is designed so that it forces you to sit more upright it forces you to sit with your legs somewhat spread as opposed to like bundling them together or tightening them it forces you to have your lower back sort of aligned it's a chair that is not super comfortable but it is very good for you I looked at many of the Herman Miller chairs for example and I tried them out and they are very comfortable but comfort is not really what I'm looking for but I'm looking for something where I'm not going to regret using this chair 20 years from now this is my previous steel case chair you know I think this one the steel case chair was definitely more comfortable than this one like this one I can't like lean back easily but the downside of the steel case chair is that I could sort of slump in it and I can't do that in this chair like it just will not let me it forces me to sit a lot better the orange thing the one close to the mic orange thing close to the mic you mean the drawing pad what do you mean this one this thing is a remote for my lights oh capisco C-A-P-I-S-C-O and it's H-A with a ring above it G are the lights easy on your eyes these are new so I'm still getting used to them the trick with them is actually to find them so that when I look at the camera they're not they're sort of in the periphery of my vision but not directly on me the orange pad do you mean the ferris over there do you mean I mean this one is just a drawing tablet the coolest D&D hardware I have well I recently got an initiative tracker that attaches to the top of a DM screen but apart from that I mean I have this thing this is this is a you know everyone has something that they probably shouldn't have spent money on but they did and for me that was getting basically all of the cards so these are like hand out cards for players for every spell every action every class feature every monster gear all of the monsters the reason I got this whole thing is because I really prefer playing D&D without screens when I can and this helps my players not have to have screens in front of them because they can track everything with they can track everything with cards instead so this one I'm pretty happy with okay as far as my computer setup goes oh one more thing so for my camera the actual way the setup goes is the camera goes into an HDMI splitter one side of it goes to like a pie link card that's a PCI card in my desktop the other one goes to an olgato cam link so it's a USB thing that goes into the Mac technically I have to press the second button to push my webcam between work and home although we are all living in America part it's basically a bug in the newest version of Hyperland where they change the default for whether these weird little quotes get auto displayed or not and because I haven't specifically configured them to off when I updated suddenly they started showing apparently it's been fixed in the newest version so the default has been changed again got a personal laptop I do I don't have it in here I've actually been using the same model of laptop for a very long time I've been using the Lenovo X1 Carbon series I've been extremely happy with them I think I've had three different generations now like my first one was literally the first generation of the X1 Carbon and then I have the third generation and now I have the sixth generation I think now they're on like generation 13 and I just haven't really needed a new one for a while I think my next laptop is probably going to be from framework so that's the one where you can they're sort of built to be repairable and modularizable but I'm really holding out for them to get an ARM processor and whether they will in any meaningful amount of time is unclear oh there's one last thing I haven't shown which is my little stream deck so this lots of people get you know these fancy things for controlling this webcam is so bad for controlling which like scene to show in OBS I have a numpad and then I just have these different buttons mapped to different things so this button will take me to sharing my code view this one will do my webcam this will do the current shitty cam I'm holding this will mute my sound as I have like the buttons just mapped straight on there who needs a deck right so I can just do this and it's back to me it's very handy it's very straight forward it was dirt cheap too the steam deck is like an insane amount of money and a numpad little thing it's like plastic it costs nothing I even brought it with me from the US because I didn't want to buy a new one I'm very happy with this thingy thing I found in terms of my desktop like computer hardware I have it's an AMD Ryzen CPU it's the I want to say that it is the actually I can find this out pretty easily just to make sure I don't lie to you I have this one nope that's the wrong component I have a Leon Lee case it's the O11 Air Mini that I'm pretty happy with and then I have installed water cooling in it so it's basically completely quiet like if I don't speak and the microphone is on the only sound you can hear is the sound of the fan in the audio interface that I use and I used to have a spinning disk in my computer and you can hear that if it spins up then I have the Gigabyte B650 motherboard and I have the here let me pull that up and then I have an AMD Ryzen it's a Ryzen 7950X3D it took me ages to figure out exactly which one I wanted and whether I wanted the 3D one or not I found this to be it's like a 16 core 32 hyper thread kind of CPU that just it works really well I find that it compiles things super quickly the hyper threads work decently well I also think the extra cache size you get from the 3D does help with rust compilation but it's it is pretty marginal like realistically and then I have I have an AMD GPU as well just because the Nvidia drivers on Linux are so annoying so it's like a it's an RX 7900 XT which I'm pretty happy with and apart from that you know I have I have like an NVMe drive it's like a terabyte Kingston Fury Renegade which I've also been very happy with and I think that's like most of the hardware setup of relevance I do have a a NAS that I use for backups of in particular the the recordings of my videos that one is just like over by the router so that I don't need to deal with it here and then I think that's most of the sort of actual computer hardware setup I don't do ML no you can tell that from my graphics I do a little bit like I do have a sort of I ran a little bit of stable diffusion on my computer and stuff and it worked okay but like clearly this is not not where you're intended to use if you do it for real and that's okay I don't I don't mind that too much I don't use any kind of OBS noise suppression I have my this is one of the reasons why the the mic is on an arm is because I can get it very close to my mouth and then I can turn the gain down quite a fair bit and so I'm the it's very hard for it to capture any noise at this point because the game is so low let's see um what's your mouse for oh yeah I have a I have a razor mouse in there that I use just for if I'm gonna play any kind of FPS or something I have a mouse mat and I sort of pull that that mouse forward because it's you don't really want to play that with like a trackball mouse does not work very well not really worth it do you have any stickers on your stuff no I don't really I'm not really a stickers person I like my laptop just be my laptop and not be full of stuff and I don't really know why this has always bothered me I just want it to be sort of pristine maybe it's because I have some weird conception in my head that I might like sell it one day but but no um you have a signal booster for the mic yes so I have one of those um it is called a cloud filter it's the cl1 mic activator and it's just a magical box it has so it has like XLR on both sides you plug the mic into one side and then you get XLR out the other side and you put it in your audio interface and suddenly your audio is louder and better um doesn't take power like it pulls power from the XLR I've been very very happy with it um I did not DIY the the NAS um I bought a synergy one I just it's just not worth my time I figured out to to run it myself and manage it myself and then my NAS um auto syncs to um to back place b2 so I have an online copy I basically the idea here right is that I have I have two copies locally one is on my computer one is or one is on a disc like a spinning disc on my computer one of them isn't the NAS and then I have a third which is a remote copy which is the the one that's in back place b2 uh I don't have an IKEA chair I did for many years I had the IKEA chair that I was pretty happy with um but I do have an IKEA desk like this desk is IKEA and it's a it's a sit stand desk it's like one of the cheapest you can get like the the size is not the cheapest one but it's like the IKEA standing desk is much cheaper than basically everything else and it works okay I do miss the ability to have preset heights that's a little annoying but other than that I'm pretty happy with it um is your mic a dynamic mic uh so it is a the the procaster is yeah and yes I have played valorant that's actually one of the reasons why I got the uh the mouse uh the map is in Portugal yes it is the Iberian peninsula this is one of the few pictures that I actually took with me from the US like the frame as well because like the picture you could take out and roll up but the frame is like a bunch of old barnwood that's like knocked together and it looks super cool um the necklace b2 is very cheap like their their price for storage is very very cheap uh my headphones are it's the hi-fi man sundara these ones um I've been very happy with those they're um they're open ear so they're not really good if you're in like a an environment where there's a lot of noise because they basically don't block any sound from the outside but that makes them a lot more comfortable to wear longer periods of time the sound quality is really good they're like more of an investment like they're not cheap headphones but they've lasted me for quite some time and I'm very happy with them my mug is huge yeah this is actually um I complained that after moving to Norway that I couldn't find a big mug and so my work bought me a giant mug it's like the size of my head and it's fantastic and it also says size matters on it um uh let's see okay so let's then do a little bit of a switch over to software maybe um oh yeah technically my camera is a sony alpha zve 10 if anyone is curious with a 35 millimeter prime lens um let me go here and switch over to this so before I start diving into the software um all of my configuration files are on github so it's on github.com slash john who slash configs they're not really documented many of them are like kind of a mess like I've just built them up over many years they're not really designed to be you know shared or designed to be readable but they work for me like these are the ones I actually use um so if you find any of this useful and you're like curious how I do it then you can go there and look um obviously the um the first thing that people notice generally when they watch the streams is why are your tabs on the bottom um this is something that comes up I think it's a comment on like half my videos is how are the tabs on the bottom um well so I'm running firefox developer edition um why developer edition um you know I don't have a great answer to that like I used it back in the day because the non develop like there were things in the developer edition I wanted and then I've just sort of defaulted to that now like I I don't have a great reason for why to use that instead of the standard firefox edition at this point but you know develop I'm a developer developer edition seems fine um and then I have custom user chromes enabled um which is a setting was like a little bit of a deep hidden setting but it is a setting in firefox that allows you to essentially write CSS in order to style your browser UI um and so you can see this here under oh it's under like GUI mozilla firefox chrome user chrome and writing one of these is a huge pain and every now and again firefox just breaks them uh so it's not always fun to try to keep something like this but it does work like it basically restyles it uses like um ordering for these components in the UI to basically force the browser render to swap them so that the the URL bar comes at the bottom and then has to do a bunch of things so that like popups go up instead of down right because if they're at the top then the popup would drop down and there's still some things I haven't figured out like if I start typing here then notice that this like the the recommendations list goes from the bottom up but if I write for example like github then in order to go up this list I have to press the down arrow because the key mapping I can't change with CSS and it's really stupid I can change the ordering of them and I do want the first suggestion to be closer to the URL bar but I can't change the keyboard mapping so the keyboard mappings are upside down so it's it's a little annoying but it but the reason I do it is because I found that like the top of my screen is very far away from where I normally keep my vision right like my terminal is very often and like near the bottom is where things happen same thing if I look at code I look sort of in the roughly the center of the screen near the top is like where my webcam is is where the lights are and so I don't like looking up there is kind of annoying and so therefore I instead keep use the bottom and I've been pretty happy with that it originally stems from when I used to keep my monitor the other way around so I would have my monitor be vertical instead of horizontal so that it was easier to read like research papers for example websites work a lot better that way code is nicer that way arguably I should just do it again but it's a it's pretty annoying for streaming which is one of the reasons I've stopped doing it but there the top of the screen is very far up so you really really want the tabs to let's see can make a PR to firefox to anyone can use this checkbook in the settings there used to be a setting for this and then it got removed so I don't I think they're actually looking to standardize they're trying to get rid of user Chrome CSS entirely but luckily that one's living on for now okay yeah at work I also have my tabs on the left tabs on the left is pretty nice like I use a tree style tabs at work to basically get that full tree view I find that I don't really need that at home quite as much and so the horizontal view of the tabs works pretty well for me here and again like for streams it often tends to be decently nice to and it forces me to like actually clear out my tabs every now and again which I do not do on my work computer or on my phone and then the the next question that's sort of the the fundamental one is okay what distro you're running I'm running Arch Linux I've run Arch Linux for many many years I think there are a couple of reasons why I like Arch one of them is that things are generally pretty up to date and that's nice and I haven't really found it to break things for me very often like one of the downsides right of running sort of bleeding edge softwares that oh it breaks all the time I just haven't found that to be the case for Arch the second one is that there's a huge repository of packages that just kind of work out of the box whether that's directly from the main repositories or from the user repository like basically everything has an Arch package these days and third if there isn't an Arch package it's pretty easy to write them yourselves like these bash scripts are pretty straightforward to write and they are bash scripts it's a little bit nicer than just standard bash but it's pretty close as opposed to something like Nix where you need to actually learn the next language this is just you write some bash files that run like .ash configure and make and then it kind of works so that's really nice oh yeah and the Arch Wiki is also very very good it's arguably one of the best Linux wikis for documenting how things work, why they work this way and what your options are I know a lot of other distros end up linking to the Arch Wiki because it has so many people and then for my that's sort of the main thing I think for the browser for browser extensions I have a couple the main ones that I use are one password for password management I use ublock origin for blocking things I use to use the advanced mode where you have basically the matrix functionality of for each domain and each subdomain which resources are permitted but it's gotten so tedious now that lots of websites just require me to spend 30 minutes to an hour to get them to work and then it's particularly annoying if you try to check out an online store and you get to step one and then filling out your credit card details doesn't work because you need to approve this thing and go to next and that works fine and then for the next screen some other JavaScript thing didn't work and so you need to allow it and then refresh the page which takes you back to the start of checkout and then you need to do this like really really start to finish process over and over again and I just got sick of it and it sucks I wish I could just have a thing that kept me secure by default but alas and then I use dr go I don't know whether it's a great reason but you know I I installed it one day and I haven't really had problems with it and I like the things that are getting blocked but I don't know that there's a great reason it might deserve deletion at some point now Firefox multi-account containers I'm not using too much of my desktop anymore the Pinterest save button and then I have this better jump to tab this is actually an extension I wrote myself and it is straightforward actually the only thing it does is normally in Firefox you press like control and a number then it takes you to that tab so control one takes you to first three two takes you to the second control three etc but I've mapped control nine instead of being the ninth tab it is the rightmost tab and that it's so useful it's much much rather what I would do that for control nine to go to the ninth tab um AUR seems so unsafe the AUR is unsafe compared to the the package repositories but at the same time you can just open the package builds like I do this for most of the things I install from the from the AUR and I actually read through them because they're pretty straightforward to read there's not usually that much in them and depending on the AUR package or installer tool I use one called AURman um and it actually when an AUR package is updated it shows you the get diff of the package build so assuming you review the previous one you like hit a key and it shows you here are the things that change in this file and usually it's like the version number um and then it's still using like a you know the same github URL to fetch the actual source and at that point like okay yeah it's fine easy to to stay secure up to date there that I've been happy with um I have heard of Vimium and you know to get Vimbinase on the browser my experience using that as many years ago now was that it just did not work very well on a lot of websites especially things with like particularly dynamic content I just found that I ended up going to the to the mouse way more often that I would have liked for things like hover um like too many things rely on hovering um scrolling as well like you can like it just it just wasn't quite the same like for example if I'm reading an article it's nice to be able to scroll as I read and you can you can do that with stepwise scroll which is what you get with Vim too but it's not quite as nice so I just I think I've found that the the annoyance of it was greater than the value I got out of it that might change like it might be that if I try it again it would be worthwhile but but no um I do not use a VPN because I don't really think they carry that much value um in general VPNs are it's just you're trusting someone else with all of your connectivity information um and it's not clear to me that trusting all my data traffic to a given VPN provider is better than providing it to my current ISP in the U.S. it might be different because ISPs are pretty bad in Europe much less so I have more control too over my ISP like they're subject to local regulations here whereas if I send everything through a VPN to like you know control by some U.S. entity then I have a different my ability to have insight into and rules enforced on those connections are different um Firefox does the right most tab already really has this changed it did not used to be this way managed extension disable well now it's not doing anything all right because it's supposed to be alt instead oh yeah how about that nice why is it alt though I want it to be control because alt I'm using for window manager hmm interesting interesting that's good to know um VMM has gotten better but it still doesn't work everywhere that makes sense um NixOS packages or Nix packages are a little bit better audited that's true but they're also a pain to read because you need to use NixLang that's not to say that I dislike Nix it's just I kind of like bash uh I don't really have a need to use a different browser I'm very happy with Firefox I use Firefox sync for everything as well it works pretty well for me haven't really had any problems um right so windows manager I'm using so I switched from X11 to Wayland when I started when I basically built this computer um my experience with Wayland so far has been that it's mostly fine um I'm using the hyperland window manager and it's okay I don't know that I'm fully sold I don't like you can rebind all the keys but the way you write keen bindings are a little bit weird um in Wayland too the the window manager does a lot more it's sort of a desktop manager more so than a window manager it controls things like you know screen capture and stuff as well um and that means that one program has to do a lot of things right and I find that hyperland does like most of the things okay but I also haven't found any better alternatives like I think it's the the decentest alternative at the moment um like I don't actually want any animations for example one of the things that hyperland gives you out of the box is like everything is very like smooth and animated and stuff and I want none of that I want to turn all of those things off um because I like things to be extremely snappy without animation um and so one of the sort of main selling points is not really a selling point for me um it's also one where I can't really contribute to it very nicely because it's not in a language that I like it's written in C plus plus um which is fine it's just not a language that I'm fluent enough in that I'm going to be contributing to it um which makes me a little sad I like working with a window manager where I can make some changes um but my understanding is that there's no very serious wayland uh rust based wayland window manager these days um not using sway no um do do do do um I was actually not coming from i3 so on x11 I used xmonad for a long time um and then after using xmonad I was using um bspvm so the binary space partitioning vm which I actually liked a lot um I was very happy with that one and I haven't quite found the ability to like replicate that kind of setup here like in terms of how windows tile if I open multiple of them feels a little bit more arbitrary in hyperland I can I can probably like tweak it to be more similar um but it wasn't quite as immediately obvious to me how to do that um uh I don't think xmonad works on wayland um and then I'll show you here too so if I now go back out to here so now you actually see my full screen uh generally when I stream I only share the part of my screen that set up here and this is one thing that is a little bit nice with hyperland is that I can set basically a padding of my where windows get placed so you'll see if I open another window now it still opens within the borders of what I normally share and that's because I've basically set the margins of the desktop to be this and then I set the chat window to be a um a floating window with a fixed position and you'll see that if I switch virtual desktops the chat still stays in the same place because it's both it's basically a pinned window that is pinned across workspaces in the same location um so I found that that that does help with the streaming set up quite a lot um you'll see I have a bar at the bottom here uh that one is uh yam bar um and right in the config for that took me a little while to get it nice including things like um nice wi-fi information about like showing weather icons for how well connected you are um I'm pretty happy with that one the main thing that was actually annoying was to get the um virtual desktop listing in here from hyperland because it's not no immediately a good way to do that I wrote this little tool that um connects to hyperland over the socket protocol and extracts the current list of virtual desktops their names their order uh and whether they have windows on them and so that's this yam bar hyperland wooses uh and I think that one's on here yeah it's just a rust project it's not super complicated um but it just it just queries waylanded and outputs it in um uh in a format like it uses the hyperland crate to talk to hyperland and then it outputs it in the format that you can feed into um a yam bar script so that I get it listed at the bottom um uh great um and then apart from that you know I have um uh for the the numpad that I showed you um you'll see here that in my hyperland config I have a bunch of stuff in here uh some of it is default stuff some of it is not um but one of the things you'll see down here is uh these key bindings no not those key bindings these key bindings uh which execute this ob s do script so this is my way to control ob s uh with global shortcuts because in um uh in wayland you don't really have global shortcuts that's not really a thing there's no protocol for them so ob s can't register global shortcuts anywhere so instead you program your window manager to like send commands um when things are pressed and in my case um I've mapped the numpad keys here to execute this ob s do script which is a also a small rust program that just uses the ob s web socket control protocol to do things like set the scene toggle mute toggle stream toggle record um and so that that's how I bridge between them so if I press you know one of the numpad keys it really just sends a message over the ob s web socket and then ob s takes the the corresponding action and then for a launcher um I actually use uh d run um sorry rofi um so rofi is this super super straightforward launcher it's really like you can see how bare bones it is I don't think I even styled it and it's because my launcher is on my screen for all of you know 0.5 seconds and I really just want to be able to like type something quickly in there and it has you know fuzzy matching and it just works like I'm very happy with it all I wanted to do is like quick complete my applications and nothing else and so I could configure it pretty easily to do that so it's just uh rofi plus d run and then I'm very happy with that one um specifically because it's so simple and then for uh notifications I use uh dunst which doesn't get launched through here um but dunst give these like you know if I do uh if I send then you can customize those here it appears in the top corner um you can set them up basically however you want you can style them with like css colors and stuff um so again you can see I like these like very simple single purpose programs that I can make as minimal as possible um and then I use neomut technically for my email my terminal here is alacrity I've used that for years I'm very happy with it it's also written in rust which is nice um and as you can see at the bottom here I have tmux set up um I don't actually persist my tmux sessions I just close them and open them uh and that works okay for me um it's rare that I end up having like lots of sessions that I want to keep open for very long periods of time um and oh yeah so for login this is funny I um I used to use stdm as my um login prompt on linux like the thing that launches when your computer launches before that has to be like type your password um and I changed that recently into what I now do instead is um I don't run a um a greeter like a graphical greeter instead what I do is in my fish config um you'll see here I check whether I'm on the first virtual console and if I am then I exit kuiperland so I just get this the like command line linux login prompt um and I type my username and password and the fish automatically launches my window manager um if I'm on the first terminal if I'm on any other terminal then it does not and I just get a standard fish shell uh and this just works really nicely for me it means that there's like very little complexity in my startup process because it doesn't have to boot any gui it just drops me into a virtual console and then auto launches hyperlint when I login uh and yeah I am intentionally still sharing fullscreen um although I guess I don't really need to anymore the the one thing that you'll see from the bar down here is I don't actually have um status bar icons which makes me a little sad um I would love to have like uh you know a little mail uh icon I wrote this tool called buzz which is in Rust which is just uh puts a status bar icon that just shows you whether you have email or not and then uses uh notify send so I get like dunce notifications for when I have email um and I still haven't found a good status bar for yam bar in fact I don't know that it has one um and so that's something I want but haven't found yet um all right let's go back to this um and then let's see so that's window manager desktop setup browser um my shell is fish so I don't use zsh I don't use bash I use fish I'm very happy with fish I've used it since like the early days um and it's just like it just has everything out of the box it's like no it looks nice it has auto completes it has like argument completion um I I'm very happy with it it has a um command line scripting capabilities that are similar to bash but have way fewer of the bash isms so like if you want to set a variable you do like set foo and then the name of the variable um if you want to like I don't know rm something that's in a variable you write this and it understands that it needs to quote them it hence whitespace correctly uh if you want to do like a loop over something um then you don't need all this like in bash you have to write like for uh um you know as an example do echo I and then uh done and then the the terminator end done uh and one of the things that's weird about bash is like the way that you terminate things depend on which operator you have so like if you want an if then you need to remember to like do this and then it's like you know if f and then you gotta remember whether you should have single or double you're writing gotta write the semicolon and then then and then if you don't have a new line then you need a semicolon and then you can you know echo foo and then here you gotta press fi because that's the way you end an if statement um and this is just really annoying and with fish you don't have to do any of it like you do for f in you know c1 10 echo i echo f and and everything is terminated with end so it's just like a more straightforward um way to just like you know do at least simple shell scripting um that I'm pretty happy with and yeah fish is being rewritten in rust which is nice um do you still use your filco keyboard I have it but I don't use it I use this um the split kinesis keyboard now oh I'm pretty happy with that one um bashing on bash I love bash for what it's worth I think bash is a really fun thing to like dig your brain into but it is also very frustrating and sometimes especially so I actually found in the when I end up writing a little bit of automation in the terminal like a for loop with some if for something that those are the times where I don't think very carefully about how I write the command and yet those are the times when most often it comes back and bites me in some stupid way when I didn't handle white writing um and then you're ended up like removing my entire home directory or something um and so I actually appreciate not using bash specifically in interactive terminals a lot when writing bash scripts I'm much less worried about it because I know I have to be careful and I have an editor and everything but but I'm just writing it like this it's not really worth it um yeah I use um for file finding I use for searching files use ripgrep rg um I I haven't used anything else for a long time like the last time I typed grep is a very long time ago uh same thing with find I just use fd these days um I do use fcf um but not in the way you might think so I don't actually use it in my terminal at all because the the fussy finding in fish is good enough um the place I use it is actually in what we'll get to this in a second um is for my fish um completion no for my neo vim uh file opener completion uh not this one but this one uh no um proximity where's my proximity sort here uh this is gonna be hard to read but basically this is the thing that gets called when I press control p in my terminal um so control p is my hot button for open a file in the sort of local like open a file nearby um and what it does is it finds the um uh it finds the nearest like get directory no actually it just looks down it doesn't look up anymore it used to but it doesn't anymore um it runs fd in order to find all of the files and it follows sim links um and then it passes those into proximity sort which is this little tool I wrote um proximity sort um that just takes um it takes a list of files or file names and it sorts them based on how far they are from a given argument so the way I do this here is pass it the current file the path to the current file so this means that if I go into um let's not use that one let's use um let's use we were wondering maybe so here let's say I'm opening you know uh ask so I'm in server slash source slash ask.rs um if I now type e then you know there are a bunch of files that have e in them obviously but the way that they're sorted using proximity sort is they're sorted by the distance from the current file that is open and then pipe through fcf so um as a result like fcf is what gives me um uh fuzzy search over this list so when I type e it's fcf that filters this list but the entire list that's input to fcf is um sorted by the distance from the current file which is why it proposes another file under server source first um before it's and then it suggests something that's an infra but it's in the root of infra and then it suggests something in client source because that's even farther away from the current file um and so this is a this just turns out to be basically exactly the completion that I want because usually if I'm working in a source file chances are if I want to open another file I want a source file I will not say a test file um but I still can't get to them if I want to um let's see uh do do do do do do do let's see do you use any planner apps like Notion um I use no well kind of so I use to-do list as my to-do list which I think is okay um it's not great for um uh forcibly reminding me of things like it just kind of passively shows me a list and I need it to like ring my phone to tell me to do something um and I wish I could configure it to be a little more aggressive um for password manager I use one password I think I mentioned that earlier um do do do do do do uh okay great um I think that gets us to my editor sort of already kind of got there but that's where we'll go next um so I'm using NeoVim as my editor still I'm still very happy with it um arguably some of these plugins can go away now as well I use um I use Plug as my sort of plugin manager for NeoVim straightforward enough um the main thing that I use our light line which is this bar down here that shows me what file I'm in the sort of um um language encoding it uses where I am in the file the mode I'm in um fcf for that control p bit that I mentioned previously right so the thing that gives me a quick open of files um I have a couple of languages added in here to get syntax and completion uh sorry just to get syntax um then I use lsp for getting um actual completion I'll show you that with Rust Analyzer in a second I do use Rust Analyzer not terribly surprising these days um and then um I also use Vim Router which is the thing that will basically cd to the root of the like when you open a file it'll try to find with the root of the git directory that you're in is uh and then cd there so all your commands run from there and all your paths are relative to there um which I've found to be pretty useful um the you'll see that the config file is mostly in vim script um and then there are a bunch of parts that are in lua in the middle um especially things that have to do with lsp really I should just rewrite this entire file to be in lua because vim script is a pain um but that requires I actually sit down and like carefully think about how this um file should be encoded in lua and I have not done that yet um but you'll see that like the all the lsp parts are in lua um I have uh most of the completion here is pretty standard it's like mostly copy pasted from um from the sort of lsp config bits um I do have path completion turned on because I find that really handy to be able to do things like you know this and get past on my system completed um I don't like snippets so I've done everything I can to turn them off uh first analyzer um I have a couple of settings but nothing that's too interesting uh I've enabled grouping of imports um because actually I don't want this to be any I want this to be different what I actually the setting I actually want which I think is unstable still is just use a single chunk of use of imports I don't actually want them to be split up in any way um I want them to be sorted but I don't want white space in between groups of uses um uh apart from that this is standard to move between diagnostics this is all basically copy pasted from the lsp config there are a couple of things that I've renamed like I've this is like rn in the default config but I didn't really care for that this is like a w you I see or something so that the things I use most I've shortened the distance to um I've turned off semantic tokens because I hate them I don't want tree sitter I don't want all my variables to get colors um it leads to too many colors in my editor and it makes me sad so I turned those off um and then I have uh signatures turned on that are very limited so you'll you'll see this if I open up um cordiality no cordiality um so if I go to discord hook here for example I go down to something here um and press uh so shift k is the the hover key uh in vim so you can use this to basically emulate you you tell the lsp hey what would you show me if I hovered over this thing uh so in this case this is what it shows me so it does not show me for example um uh like it tries to keep this fairly minimal it does show me like the the text or the the main bits of the documentation for a method uh same for a type and you see I you know go to definition and all the standard things just kind of work um any particular reason for not migrating to lua it's literally just I have another time I really should there's very little reason to use vim script anymore but it would mean I need to find the lua equivalence for everything that I do which is sometimes pretty annoying um I've not tried helix I have no I've felt no need to try any other editor like I'm very very happy with new vim and my current lsp setting um or lsp setup rather um I don't really know why I would use a different editor um consider moving to the lazy new vim plugin manager it doesn't really matter to me what plugin manager I use like it just kind of it's just cloning a git repo into my configs like it's not really that interesting really um oh there's a way to transpile vim script to lua that's neat uh this has got to be tj right div div uh vim9jit oh I was hoping I could uh nice that's pretty neat maybe I'll do that um how do you balance fixing an annoyance and your dot files was staying on task um it's a little bit of a mix usually I go fix them because they end up frustrating me more so than they um they end up causing enough frustration that it's worth fixing but otherwise I mean I don't need to write them down because they're gonna frustrate me every single time um okay what else do we have further down here anything that's worth sharing a lot of this is just like old configuration that I set once and sort of forgotten right so this is configuration of my light line down here um I don't think that's particularly interesting this stuff around ag I don't use ag anymore so this one isn't really relevant I've turned off all folding because I don't like folding um control p to open files I also have um same thing as I have control p to open files I also have um leaders semicolon to do an fcf search over my uh file history over the sort of open buffers rather um that works pretty well uh I don't think these even do anything anymore honestly um none of this is that interesting uh permanent undo is very nice configure it if you haven't already just be aware that this folder then has sensitive information in it you might want to remove it every now and again um incremental search is nice so this is the thing that gives me like you know actual search and globally highlighting all the matches same thing for replacements so if I do like um it it live highlights replacements that I do um magic search that's fine none of this is particularly interesting color columns at 80 so that's this line over here um I've disabled um all my arrow keys which down here so arrow keys don't work in Vim for me I don't use them anyway but initially this was useful and then I have control j and control k both map to escape um because they're on my home row so they're faster to get to than have to get to the top left um I have caps lock map to control so control keyboards are very quick for me to type um so control j and control k are sort of home row things um I used to use a auto jump as my sort of way to get around things quickly but I found that it like it didn't really speed me up that much and it's mostly because um the the fish completion like you know I type cd and it takes me to the place I wanted to go and I type control f and then I'm there um so I just haven't really needed it tabs or spaces I used to be very much a tabs person um and then uh and in particular I like um 8 care 8 space tabs because it discourages very deep indentation but with the rust that gets really annoying because you want to be able to wrap and stylistically indent um like you want things like you know um chained dot calls you actually want to line up and you want them to um you don't want them indented by like 8 spaces and so that means you need a mix of space and tabs and mixes of spaces and tabs are awful to deal with um and so as a result now I basically reverted to using tabs and it makes me sad but like I like the ability the idea that you can configure the width of your indentation but in practice it doesn't really work when you have to mix and match them anyway um and also I just want rust format to do the thing for me um you might not needing search in new of them again my my um my configuration here has been left with me for like many years so a lot of these things are probably not needed in new of them at all um how do you get relative number oh I mean this is just relative line numbering which is an absolutely fantastic thing to have in in vim because like now you know let's say I wanted to delete all of these lines right if I'm up here I can see that that's 10 lines so I can 10 dd and then they go away um I have not used the window subsystem for linux and I have no interest in using it I don't want to be ever be on windows ever again um how do you build and run rust code in any of them I don't I open tmux and then I have a separate terminal that I use so I just tab between them in tmux there's no reason for me to really do anything else and like cargo t will run my tests I know that some people then start complaining to me like oh but like you know one what if you are uh what if you want to run like this test or like what if you specifically want to run the foo test and I go well then I do cargo tfoo like I don't it's just not having a keyboard shortcut to run this and then have any pop up in like a in a terminal that's inside my editor it's not worth it to me one of the big problems is it means that I have to share the screen estate um so the output of running the test is then going to be in like some window that is inside of the editor which means a worse terminal and it also means some of that information is either going to be reinterpreted by the editor in order to display it nicely um or it's going to be like cropped because that output window is smaller than my editor and so I would rather just get the full output raw directly from Rusty um so I I you don't use any integration for running code um I have not used bacon for compilers and I don't know what that means um do you ever reach for a debugger when understanding tricky bugs in Rust I do but it's pretty rare um I'm to a large extent like a print debugger I find that that works pretty well most of the time not always like every now and again especially if it's something like a deadlock or a crash like an actual like I did something bad and this is segmentation fault um for those things I pull out a debugger but for just like everyday debugging um print line works fine for me um do you use harpoon I don't know what harpoon is so no um nice um let's see if there's anything left in the them config that matters um uh oh yeah um double leader for me so in my case leader is space so double leader switches back and forth between the two most recent buffers um which is very handy if you're like just copy pasting something between two files or referencing the two files uh what else do we have oh yeah invlist so I um leader comma right and show things like trailing white space uh or like whether something is tab indented or not um it's this is a handy way just quickly show hidden characters um oh yeah these are nice too so I make sure that I don't accidentally overwrite backup files um jumping back to the last place you were when you open a file but none of this is particularly interesting um apart from that you know I have I use rust up like everyone else I use rust analyzer installed through the arch package because it gets updated frequently enough that I don't actually really need to have it downloaded locally that works okay I generally build on beta so my default rust setup so I have like rust of default beta um just because I like testing beta releases of rust um it's pretty rare that I use nightly these days um apart from that I think I'm trying to think if there's anything else that like is software or hardware I use that's worth mentioning um it's a good question uh are there is there anything that people are curious about in my workflows that are having watched the videos that I have uh so far like anything where you're like how does that work or what do you use for this or how do you get that thing to do this thing um have you tried nix I've still not tried nix I have I just haven't had a use for it which is not like I just I haven't had a use for it and also have not had the the spare time to go investigate it on my own um if I had one of those two then I would do it um I've not really used the one password command line tool no um hasn't really been needed how do you handle per project dependencies can you say more about that like I don't know what you mean uh have you ever had anything explode because you're using the rest beta channel no no I uh beta has just worked very well for me actually I haven't had any issues with it what's your tmux team um my theme is and my theme everywhere is um groov box uh dark hard retro groove color scheme so it's uh specifically the it's the hard version of dark mode so it's less gray more black um and I've been pretty happy with that I'm using um base 16 uh so base 16 is this project no that's unhelpful uh themes um base 16 is this effort to it's like a framework for taking like you can write um the way that colors are encoded in different programs as templates and then you write colors as variable sets for those templates and so that way you can generate like for all of the different programs you can generate themes for all of the known themes um and so using that I basically generate um groov box dark hard theme files for everything um as I use that for neofem I use it for alacrity I use it for tmux I use it for mutt um I use it for uh my virtual console uh I use it for dunst just everywhere that it's it's so nice to be able to just like not have to um not have to like try to find a theme for each one I can just sort of say I want this theme generated for all my applications um and oh yeah my font is um font am I using these days notosans mono um I've used that for a while too and I've also been pretty happy with this font I think it looks pretty nice it also looks nice both uh small and large uh which is a handy combination um how did your work laptops setup differ from your home setup I mean my work laptop is very different right because it's macOS so I have much less control over the setups I use like rectangle for uh window management um but that's really the main customization I have there my work setup is very uncustomized especially when it comes like window manager applications type of things my um editor setup there is the same so I'm using the same configs for like using any of them the same set of plugins like or it's like slightly reduced but like basically the same set of plugins um tmux so the editor environment is more or less the same um is the beta pipeline updates due to got unstable how is it different from unstable uh do you mean how is it different from nightly so beta is the thing that will become the next stable release um it does not give you access to nightly feature or unstable features like nightly does so it's basically like you're pre-testing the next stable um how do you handle note taking um I so it depends on what you mean by note taking for like notes to myself that are like about things I like ideas I have or things I want to do I use obsidian um for notes like in a lecture I basically don't but when I do I write markdown files um what's your quick way to check where the program is spending the most time inferno or a combination of tools yeah I usually just use perf um unless perf specifically ends up not giving me the right results um so like a quick perf record and then piping it to inferno and that gives me a pretty quick overview uh how do you provision your OS do you have any automation in place no I actually specifically do not have automation in place um I don't automate my computer setup so I have my configs all checked in but apart from that every time I set up a new computer every time it doesn't happen that often but when I set up a new computer um I redo all the setup from scratch and I do that on purpose because the idea being um the choices that I made the last time I set up a computer may no longer be right they may be like if I had automation I would get exactly the same setup but it could be the like some of those programs are no longer maintained some of them are no longer optimal choice um and so it's a it's sort of an opportunity for me to revisit those choices so I actually enjoy the fact that I don't have automation for setting things back up um have you done go-lying these days no I have basically haven't programmed and go for a very long time now makes sense um my first year of the phd it's been a long time it's almost been 10 years now since I did go which is nuts yeah I started my phd in 2014 this is like 10 years ago um use popular rust core utils alternatives like ripgrep and fd yes we've already discussed that um use an rss feed reader no I don't although I am increasingly getting back on to the sort of blog train like I'm getting pretty annoyed with like twitter doesn't really work as a way to follow people and to have meaningful conversations anymore masodon is okay but I don't really like it and I can't quite put my finger on why uh linkedin is a closed ecosystem uh discord is okay for real-time conversation but it's not really where you follow people for like updates um and so I'm actually increasingly moving back into the sort of um uh I'm increasingly moving back into like using rss feed readers and having an aggregated feed that I read the biggest problem I have at the moment is my reading list is so long that I have no hope of catching up on it unless I like you know dedicate a few months to just catching up um so I might have to declare bankruptcy at some point and just start from scratch uh do you ever use miri in your testing workflow yeah I use miri quite a lot um a lot of my the ci actually that I use for a lot of projects runs miri by default at least for anything that has unsafe in it uh have you looked at the flavors cli I have not and what was someone said any of him like bacon it was bacon this one uh I'll have that open for later uh flavors base 16 manager I don't want to manager um let's see uh when you use a debugger what do you use to use some kind of new of an integration you just do gdb I actually don't use gdb either I use well every now and again I do but I often use ldb these days um it's a little nicer to interface with um but yeah I just I just spin up ldb I don't use the the actual editor integration uh do you ever use VMs or containers no basically never um it's pretty rare that I need a container for anything even less of em um what email service do you use I use fast mail I don't want to use gmail because a I want to pay for my email b I don't want google to have all of my email um and c I like something that actually interoperates with standards and google and gmail do that because they're forced to fast mail does it by choice um I've used fast mail for a long time I really like it um yeah fresh installs are fun right like it's fun to start from scratch and sort of re explore and rediscover uh project layout for large rest projects I don't think I'm going to go into now because I'm trying to sort of focus on things that are setup based um you play games or PC on console I'll call that setup based uh I mostly play on console these days on the ps5 um although I do have like a windows drive in my computer that every now and again I'll boot into for like uh for valorant or for civilization or you know any of the the games that are uh way better on PC um how do you manage switching to macOS don't you get annoyed with the missing window management yeah I hate working on macOS but in a in the work context it's not impossible to use linux but it's certainly much better supported to run windows or macOS and between the two of them there's no doubt that I would rather use macOS um plugins use in obsidian just core plugins I do have a blue sky account but I don't really use it um where do you read rss um there's a tool called the old reader which is basically it's a website that is essentially a uh someone basically try to replicate google reader and then they continue to develop it and hence the name the old reader um and I use that for a long time and then I haven't really used it for ages now but I that's probably the one I would start with coming back to it uh use bat over cat usually not I like bat syntax highlighting but cat is like built into my fingers and it's very rare that the syntax highlighting actually makes a difference for the things that I end up catting um will you just give rust rover a try no I don't like IDs I like to have like my editor be in a terminal uh and so I don't want rust over and I don't want an ID um civilization does work on linux but there are a bunch of games that don't and so I just have basically windows be my gaming partition so to speak uh same thing also because uh on windows the AMD drivers are a little better um I could use the binary drivers on linux but I don't really want to I want to use the open source ones I don't use diran no I haven't really needed it much uh do you see any app for ebooks um I have a kindle that I use but on that no not really that's uh good enough for me have I tried xcalidraw yeah xcalidraw is pretty nice um I've used it for a couple of things um but but mostly like basic diagrams I used it for uh I wrote a blog post about eisenhower vectors a little while back where I used it amongst other things not analyzing things with gidra although it is one of those things that looks like fun to do one day okay I think I'm trying to think if there's anything else that is worth covering um of software and hardware here uh I mean cats are essential hardware I would consider them essential hardware um but other than that is there like software I use regularly that's worth mentioning here I don't think so uh no no I think I'm uh I think that's all I wanted to cover yeah alright I'll I'll leave it another 10 seconds or so if people think of last minute questions again about setup so like there's all this is not really a general purpose q&a stream although you know I can do another one of those soon too but it's specifically like about the hardware or software setup so anything that you've like seen in videos so you're curious about how how worked or how I solve a particular problem when it comes to software hardware I'm happy to talk about that but otherwise I think we're we're getting to the end uh any gadgets um yeah I have I use like a Fitbit it's like a charge HR um and the main reason I use this one is actually because um I wanted to wake me when I'm in light sleep it's like the only thing I use it for I have like notifications disabled on it I only have it for the the smart wake-up alarm and nothing else um breast extensions we already went over uh doo doo doo doo system d home d no because that only really started to be a thing after I did my last big setup um so it's probably something I would do next time I do a setup but not something at the moment uh how do you keep your setup secure software wise I don't specifically run any security software oh that's not quite true but close enough um how do you do google calendar thing for streams I just have a shared google calendar it's actually like it's not not anything fancy like it's literally just a shared google calendar um I have thought about writing some automation for it but because the streams are like not that frequent it's not really something that um uh that's super required like the the manual process is very fast and so the automation would have to be very fast to build in order to actually make a a positive difference uh wake during light sleep works pretty well I think yeah uh how do you navigate buffers and you have him just the alternate file plus fcf or something else yeah it's just um the buffers plus fcf and then control piece of column files with the with the fd and proximity sort uh pipe wire for sound yeah I use pipe wire these days uh keyboard layout is quicky I'm not uh I'm not cool enough to to use anything else um did you have a strong reason to move to one password from pass so I used pass for ages and I was pretty happy with pass the biggest annoyance actually was not having a I didn't feel like I had a solid and secure uh story for um keeping it in sync across devices managing the keys and uh backups and accessing it from my phone you can do all of those things with pass right like you can exchange them with um with git um you just keep your gpg keys secure however you know hand wavy um and uh from your phone I think there is like an android tool that can integrate with pass as well um for backups I mean you have it in git so you can in theory get push it somewhere and I did do that um because they're encrypted files it should be fine but ultimately it just felt very hacked together and it was annoying enough enough of the time that I was like I'm just gonna switch to something that is easier and that I don't spend as much time worrying about and I've been very happy with that um how do you deal with switching between command c and v and control c and v between mac and linux it's so annoying it is so annoying like one of the things that happens is also which key does like if I do command v on linux it like hyperlend will like switch a window to like um it's not even floating mode it's like some other mode and it's not what I wanted I just wanted to paste something it's very frustrating I've like accidentally closed my browser I've pressed the wrong command key it's very frustrating I want them to all be the same but mac is not macOS is not very happy about letting you control your shortcuts linux is but there are a couple of standards and they're just kind of fundamentally incompatible and it's super annoying yeah so one of the reasons I moved away from pass as well was that I don't use gpg keys for anything anymore um like I don't currently have a valid one I only have expired ones um and I'm okay with that there was a period of time where I was very like you know I got my gpg key signed by lots of people and it was very exciting and I'm like it's just not it's not providing me with any actual value so I stopped alright I think I'm gonna call it there um hopefully I've now covered all of the burning questions people had about my setup since like I think the last time I did the stream about my setup was in like 2018 so a lot of things have changed since then but hopefully now it's all been covered and now I can wait another 5 years until I do the next one uh and oh I guess I'll mention yeah I use a I do use a ub key I use one of the fido keys I'm not using the the older ub keys anymore so with that thank you everyone uh thanks for coming out and hopefully that was interesting and useful and I'll see you all next time


Words are some of the most powerful things in the world. If you can control words, you can influence minds and change people's behavior. There's a particularly powerful technique that you see in politics, all the time that I call hijacking a word. And it reminds me of that scene in Indiana Jones where he's got to swap out the gold bag with the bag filled with sand really quickly. So words, as I spoke about in one of the earlier videos, elicit concepts in our minds, but that's not all that they do. Words also produce feelings on the inside of somebody who's hearing a word. So if I say something like murder, I'm not just communicating the concept of, let's say, the unlawful killing of one human being by another. You also have a feeling when you hear the word murder. It comes with the feeling of bad or scary or dangerous, that internal negative emotion that's associated with murder. If I say something like freedom, that's a word that has a very positive emotional attachment to it. What happens when a word gets hijacked is the conceptual definition changes while the emotional feeling stays the same. Here's an example that comes up all the time in the American world, violence. That is one of those words that has a very negative feeling. You can't support violence, everybody's against violence. Now what has happened just in the past few decades and even in the past few years is we all are in agreement that violence is bad, but what one segment, one political group has done is change the conceptual definition for violence. So violence used to be about physical force, physical aggression of one party onto another, and now they've changed. They said, well, that's one type of violence, but there's another violence that's verbal violence. If I'm speaking to you and I'm saying really upsetting things, very bigoted things, I say I don't like women, I don't like people with your skin color, that now they say is a form of violence. Now, if you're not aware of what's going on here, you might not care so much, but if you care about how the world works, this is an incredibly powerful and dangerous change to the common definition of violence because now everybody agrees. We have to try to get rid of violence in society and what they'll say is, therefore, we need laws to protect us from verbal violence, just like we need laws to protect us from physical violence. So in a matter of a heartbeat, we've gone from everybody agreeing it should be illegal for you to smack your neighbor over the head for no reason. Now they said, oh, well, for the same reason, it should be illegal to call your neighbor an upsetting word. Do you see what's happened? When you address this, you say, well, that's not violence. Calling somebody a mean name isn't violence. They'll say, what do you mean? You're supporting violence. What violence is is the imposition of a negative feeling onto the internal state of another. Now, if you let that slide and you just accept, oh, well, now we've got a new common definition of a word, you have essentially given up political power. Those who are able to define what violence is in society have a massive amount of power and control for how our society operates, precisely because we have a very strong emotional attachment and emotional feelings that are elicited by the word violence. That's just one example of the hijacking of a word. Let's make it even more extreme. Let's talk about the word terrorist. Now, what qualifies as a terrorist? Everybody agrees, terrorists are bad. It's not just an empty conceptual word terrorist. That word elicits very strong feelings and if we're not very careful, and our definition, our commonly held definitions for what terrorist means, you might find yourself someday on a list because your political enemies have said, what qualifies as these big bad things called terrorists is people who have your political views or my political views. I've been on the record for many years and calling myself a market anarchist. Well, that word anarchist has a bunch of emotions associated with it. Now, my version of anarchism is 100% explicitly peaceful. That's an essential necessary part of it. Other people use that word to talk about bomb-throwing hooligans that overturn cars and set fire to limousines. I'm not one of those anarchists and yet I might still call myself an anarchist and it's not a stretch of the imagination to think that someday in the future we might hear a political leader that says we need to cut down on domestic terrorists and who is included in the definition of a domestic terrorist? It just might be anarchists. In a very real way, words are a matter of life and death and they are absolutely a matter of political power. One word historically that has its traditional definition has been gutted is liberal. Being a liberal came with a source of pride if you could call yourself that and what that meant 100 years ago, maybe 150 years ago, is that you supported free markets. You supported toleration amongst people. You supported the separation of church and state. But nowadays being a liberal might still have that emotional appeal. Like a badge you wear on your chest, I am a liberal, but it means something very different in terms of what political policies you support. Maybe restrictions on free speech. You're anti-free trade. You want all kinds of regulations on the banking sector, on who can and cannot get jobs, at what price they can and cannot get their jobs. In many ways, being a modern liberal means being anti-liberal by the original definition of the word. And that I am suggesting is not a coincidence. Those who are aware of the emotional power that come attached to particular words have a very strong incentive to try to change the definition, change the commonly held definition, according to their political vision. Paint their opponents as irrational terrorists, or paint those who agree with their policy as those who are liberals or open-minded. Now like my earlier video said, I'm not claiming there are such things as objective definitions. Words don't work that way. It would be a lot easier if they did. Instead we have a much more difficult task, which is that words do have some kind of commonly held definitions if you speak a particular language. You have to be aware of what a particular word means, the concept that is brought to the mind of the individual who hears the word. So what I think is going on in many of the cultural and political battles, especially in the United States, is a battle over language. It's a very important battle. What is gender? What is sex? What is rape? What is violence? What is freedom? What is tyranny? What is oppression? If you don't play this word game and fight back about the definitions of words, you may find yourself losing power to those who control language. You may insist that you're not being violent, therefore you've not violated the law, but if you've lost the word game, it may very well be the case that in a very short period of time you could be considered violent, or a terrorist, or a threat, or a rapist, or a bigot, and you'll have a very difficult time persuading people that your definition of the word is the one that should be upheld in the court of law. The language wars are not something that is just restricted to eggheads that have too much time on their hands. It is very much a political battle to say, high stakes.