Setup a Mac for Development - Homebrew, iTerm2, Node.js, Productivity Apps and more!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hello friends welcome to coding garden i'm cj and this is the definitely the first time i'm going live i haven't already been live for 20 minutes hello welcome to the show all right we're going to talk about my new mac and so yeah so some people had some questions in the chat they were they were asking did i get the macbook m1 did i get the macbook m2 uh i didn't i still have the 2015 macbook pro and actually let me pull up the the specs of that so these are the specs it's a 2015 macbook pro running on mac os mac os monterey and i completely just wiped my machine so i installed uh the monterey installer onto a usb drive i booted it up wiped the hard drive and did a fresh install and so we're gonna be starting from scratch installing all of the apps and everything that i use on a daily basis i haven't felt a need to buy the latest macbook this seven-year-old macbook still works wonderfully so i'm gonna keep using it and also i'm just feeling really odd because i have none of my regular tools i don't have a window switcher my chat overlay isn't running i just feel way off but i'm going to do my best so on this repo i have a bunch of stuff that describes how i'm going to set things up but we're going to start with homebrew so if you go to brew.sh this is the missing package manager for mac os so if you're familiar with linux and various linux distributions they all have some sort of built-in package manager so like on debian or ubuntu there is apt on um arch i think it's pacman it could be let me just get that right because although all the arch people are going to freak out anybody know what the package manager on arch is on centos i guess that is that fedor on centos or they use a thing called um starts with a y yum they use yum all of that to say each linux distribution has a way and a repository of uh of packages and a way of installing those packages um and it's kind of like an app store but it's like the app store before the app store existed and it usually consists of pre-compiled open source packages and so homebrew is that but for a mac because mac does not have one of these and so this is unofficial but it has a ton of packages that we can automatically install through the terminal we don't have to go through the app store it's all super convenient so i'm going to install this and then everything else we install we will use brew to install it so if you go to brew.sh you can copy this command and then on your mac pull up the terminal so for right now we're going to use the built-in terminal um but in a second we will download a newer better terminal and we'll get all of it set up but if i run this command that's going to install brew and uh then we can install lots of other packages so this says this is all the stuff we're gonna do press enter to do it so this is going to install brew and then once we have brew we'll be able to install a lot of other stuff the other thing is we are going to need to install xcode build tools so when you're installing packages through npm and sometimes even through brew it actually has to do some compiling and when you're on a mac the xcode build tools allow it to do that compiling so i'm going to open up a another terminal oh looks like it's already doing it for me so i'll let that happen yeah and i totally forgot the new osx monterey comes with zish zsa zsh as the default shell it used to come with bash but now it comes with zsh i'm going to change it to bash um but i do actually have to wait for this to complete i was reading about it so the reason that the latest version of os x comes with zish instead of bash is that the most recent version of bash now uses a less uh permissive not less permissive a more viral open source license i think it uses gpl3 which basically says if you include this in your code then your code has to be released under that license as well and uh os x and apple did not want to release their operating system under that license so they switched to zish which stays updated um however once this is all done installing i'll be able to install the latest version of bash using homebrew and then i can set that as my default show yeah and so there's some questions in the chat as to like what are these other things in my repo so um brew has two different types of things that you can install formula or formulae are essentially like command line tools these are typically not like regular desktop apps they just run from the command line so these are all the things we're going to install um that are command line tools i'm going to get the latest version of git vc prompt which uh shows the current branch i'm on in any given folder if it's a get repo like i said the latest version of bash fortune and calce are just fun tools heroku lets me deploy ffma mpeg let's lets me convert video youtube download lets me download youtube videos and image magic lets me edit images but all of these are run from the command line and then if you look at brew casks these are actual applications that we're going to install so like i mentioned i term i don't think i said the term but item is going to be our terminal replacement and that's what we're going to install and then lots of other tools that i'll talk about whenever we get there but brew is going to allow us to install all of those yeah and shoe bomb is asking what is the difference between terminal shell console and prompt so in my mind terminal and shell are almost like interchangeable but if you want to get specific about it shell is the specific uh shell that you're using to execute commands so right now we're executing commands in a shell called zsh shell or z shell and it's essentially a command interpreter so whenever i type ls z shell is the one that figures out what needs to happen when i type ls um bash is the terminal the shell that i prefer and the one that i'm going to install but it it's bash and dish are similar in that when i type a command it's their job to figure out what to do with that command um so that's what a shell is and so on i mean i typically actually they're not that interchangeable but that's typically when people talk about terminal they kind of mean shell terminal is really the application itself so this is the thing that is running the shell that allows me to execute my commands and so this one is called terminal it's built into the mac i'm going to install one called item there are others out there like hyper terminal i saw someone mention another terminal there are very there's other applications that you could install and look at that brew is done installing some of you were very um nervous that this was gonna take forever i'm surprised it finished it finished so yeah so that's that's terminal that shell console uh i typically that that makes me think of like the dev tools or like the the javascript console in the browser or if you pull up a node.js reply read eval print loop i think of that as the console and then your prompt is this right here the thing inside of the terminal presented to you by your shell is your prompt and and this allows you to enter in command so this little thing right here is a prompt it's saying hey enter in a command and uh technically like if you're inside of the read eval print loop of node and that's the console it gives you a prompt as well asking for commands hopefully i did justice to that explanation um but yeah so they're all interrelated but each one is like at a different level of all this stuff so at this point we have brew installed and so now i can go about installing all the other things that i want and need and the first thing i'm going to install is items so i'm essentially going to replace this terminal with the terminal that i prefer more so um if i go over here into uh casks the one that i want is called i term two um and so technically what i could do is i could run a script that installs all of these in one go but i'm gonna install them one by one so that i can talk about them and talk about why i prefer them and all that good stuff so now that we have brew we should be able to type brew and it recognizes that command great but it now i can do brew install and then the thing that i want to install so regardless if you're installing a formula or a cask you just do brew install and it figures out what you want to install so let's do that weedle prints is asking why i term two once it's done installing i'll show you all the reasons why there are a couple things like it it will do it'll show it'll you use mac native notifications when like commands are done running and stuff like that um it makes links clickable and there's a lot of other nicer settings that that i like also um you can change the the ui so it has like a really nice window chrome but let me show you so so for example in my terminal right now there is a url now i have no reason to click this url but um there isn't a way i guess if i hold ctrl and then click on it it actually does highlight it but that's like a two-step process so like highlight and then open link inside of item i can literally just press command and then click the links that are embedded there's a lot of other settings as well so now that we have it installed i'm actually just going to completely close terminal and then launch item here we go it was downloaded from the internet that's okay with me here we go nice yeah and you can see that item is going to show notifications so whenever you are finished uh running a command or something is done downloading or some some terminal task is complete you'll actually get a native notification of that which i think is pretty sweet um awesome so this is item as you can see it looks similar both item and terminal are a way of executing commands in a given shell but this is just a different uh shell host essentially let's get right into the settings so i can show you why i like items so if you press command comma that's gonna launch your preferences and julian thanks for the bits appreciate you uh but and so command comma is a really common keyboard shortcut on a mac so any application that you're inside of just try pressing command comma and it will very likely bring up the settings i think on windows control comma might be the same thing but i don't think it's as universal but yeah if you want to see it again command comma boom we have the preferences um so let's go into appearance and i'm gonna choose the theme minimal and then look at that we've got this nice fully black window chrome so that's awesome let's just go through the settings and and choose all of my my favorite settings so i'm going to go into profiles uh here under default profile i can set my settings so if you've ever watched me stream you may have noticed that is it is fairly easy to read the text on my screen and that is because i increased the font size drastically i'm going to go to like 36 yes yeah that's what i like to see um so now it's a whole lot easier to uh to see the text i'm typing in my terminal so that's great what else do we want yeah so this is a really nice and important feature is the reuse previous sessions directory so right now i'm in my home directory you can see all of my folders and such but let's say i go into the documents folder if i press command t to open up a new tab that always by default drops me into my home folder but you can see that it dropped me into my home folder which is not convenient because typically if i'm in this tab and i want to open a new tab i want to be dropped into the same folder so in the settings here i can change reuse previous sessions directory and now when i open a new tab and this is a part of a mac you have to give it file permissions but of course i want item to be allowed to access my documents folder because i'm going to be copying files and different stuff in there so i can click ok but you can see now that i opened a new terminal it's in the same folder as the current terminal and if i make a directory like wow and then go in there and jack in the bush whoa no that's too many bits oh man jack in the bush thank you okay so i'm in the wow directory and actually let's make uh uh inside of here we're gonna make a what was it jack in the bush yeah jack in the bush i'm gonna make a jack in the bush directory and if i go in there now i'm in this folder uh but if i open a new tab boom we're still in that folder so that's that's why i like that setting um it it keeps my previous uh tab settings awesome um all right let's go into colors so one thing i like to do is i like the default theme but i just changed the foreground text to the the most green possible so if you're new to rgb if i say no red all green and no blue we essentially have the greenest green in terms of rgb uh but this is what i like for my for my foreground text it's really there's a nice contrast between the text in the background so i choose that and then i leave all the other stuff the same yeah so by by default the font is monaco and i don't think i have this listed in my repo but it is listed on the frequently asked questions i use the font called anonymous pro and i use that in my editor and i use that in my terminal so i'm going to go ahead and download anonymous pro and then set that as my font inside of item so let's download it cool we'll extract it and then um i think if i just double click it we can install it um and then i think if i now that it's installed if i drag these over will it install them yes it does cool so now we have anonymous pro and inside of item i can set that as my preferred font so over here i'm going to choose anonymous pro look at that it's nice and readable i don't know i like this font a lot um cool okay so if i'm in a terminal and i am typing a command so let me just rearrange this so if i do something like uh git clone https colon slash github.com what right so if i'm if i'm trying to uh if i'm writing a command uh if i try and use the built-in mac shortcuts to like jump over words so if i hold down alt and press the arrow key typically that will jump over a token or like a word but you can see right now it's inserting like a weird character um i want to fix that uh and you also can use this keyboard shortcut anywhere so right let's say i'm in the the url bar here if i hold down alt i can actually jump over words like this i think it's also called option option or alt it's the key next to the space bar but that lets you jump over jump over words like that um but you can see i can't i can't do that in iturb the setting you want is inside of keys key mappings click this and then choose natural text editing um and then i don't care about any of the previous mapping so once i've loaded that now now i can jump over uh tokens let me get rid of all this extra stuff um but now when i press alt left it jumps over tokens like that so if there are other settings we'll come back to it but i believe that's everything i need okay let's talk about shells so we talked about our terminal which is the thing where we can execute commands but it is actually host to a shell which is right now zsh and if i do echo dollar sign shell that tells me that i'm using bin zish bin zsh i want to use bash now if you're watching this video and you're new to a mac you can just stick with zish and actually i'll point you to a tool called oh my zish which you can install and it out of the box just provides lots of instant customizations lots of really nice things in your terminal like showing you what branch of a given repo you're on allowing you to do like tab completion and stuff like that so you don't have to go through the process of installing bash i like bash because every other linux computer that i log into like remote computers uh use bash and so i like using bash on my dev machine because i use bash everywhere else so that's why i like bash and that's why i'm going to install bash so if we look here in formula we can see we can install bash with this so if i do brew install bash that is going to download bash and install it yeah and so uh alvey is asking is there any difference between bash and sish they just i honestly don't know the major differences but under the hood they interpret commands slightly differently and you may run across files called like dot sh and typically those files are meant to be run with bash or just sh which is an older version of bash usually they will work with zish but there are certain uh differences in the shell language itself that would prevent like a just a bash script from running inside of zish and so bash is also a lot more uh common you you run around you run across bash scripts on the web a lot more so that's another reason why i prefer to to have bash um okay so bash is installed i'm just gonna do a brew update so brew update has nothing to do with bash installing i just forgot to do that earlier so i'm gonna run that in the back oh i'm up to date never mind so bash is installed but now i need to set it as my default terminal so there is a command chsh that allows me to set my um or change shell which allows me to change my default shell right now my default shell is bin zish i want to change it to bash and actually i think i can do which bash to see where it is yeah so homebrew installs bash in this directory user local bin bash uh and so i want to change my shell to that before i do that i need to update a file on the operating system that says what are the allowed shells and to do that i'm going to use nano here we go so this file at etc cells shells says what shells users are allowed to use on the system so i need to add user local bin bash in here so that i can change my shell to user local bin bash um and yeah a quick note i'm using nano i'm not using vim is that pico i guess it's right um i i i ran nano but it launched pico i don't i don't even know what's the difference um but regardless these are terminal shell editors so i like nano or pico because it has not it also has natural text editing in that i can just start typing and it and it works it's also easy mode because it shows you all of the shortcuts on the screen all the time but i don't care it's a lot easier and i don't have to remember a bunch of uh vim specific uh key uh commands and stuff and stuff like that and that that is a opposed to something like vi or vim where you have you for it's based on command so you have to go first go into insert mode then you can type and then you exert exit insert mode regardless all i needed to do was add one line of text to this file and i've done that so now i can do look it tells me control x save it and now that i've put user local bin bash in my um etc shells files file i can now change my cell shell to that so i'm going to do ca that um i think there's a dash s option i might have to look this up yeah so i think dash s is this is the shell that i want to set it to let's see nice okay so if i open a new tab now now you can see there's a dollar sign which means that bash is now my default shell so so this tab is still on zish um because it didn't change my shell here but now any tab i any new tab i open is using my default bash shell awesome so we've we've changed our shell now let's get into customization of the shell so um as you can see this is just the default prompt it says the name of my macbook a little the current working directory in this case i'm in my home directory and then my username but i want to change that i like to customize it and for that i can customize it using my bash profile now i will mention that it's possible to customize it using a tool called oh my bash so oh my bash is very similar to omizich but it's for bash and so if you didn't want if you don't want to go through the process of creating your own custom bash profile with custom settings you could install this and get very similar features without all the extra work but i do have a preferred settings that i like to use so if i go to my dot files repo in here i have my bash profile and so this essentially just defines the default settings for every new shell or new tab that i open it's doing a lot of stuff that i don't have installed yet but that's okay these two little commands right here allow me to search through my history so if you ever if you use zish and if you start typing a command you can press up and it'll search your history um not zish i would say if you use oh my zish it actually sets this up for you you can start typing press up and it'll search through your history of previous commands you've typed that start with that command if you install oh my bash you'll get this as as well but these two little lines of code are the ones that allows that to happen this essentially allows me to search through my bash history i've got some colors set up one thing i like to do is every terminal tab that i open gets a random emoji so this is actually a bash code to choose a random emoji from this list and it's interesting you may not you may not have known this but bash also is a programming language it has uh conditionals it has loops there's lots of stuff you can do in just plain old bash but this essentially just chooses a random emoji and then this is a function that runs every time my prompt gets printed and then essentially that that runs right here before uh every single command that i run so in bash your ps1 is your prompt and this is how you can you can customize it to decide what to show custom this is my bash profile and also i have some aliases set up so if you use ohmyzish you may not have realized where all of these commands are coming from but they are essentially just aliases and an alias is a way of uh mapping one command to some other command so if you've ever seen me do this on stream or i do gaa that that is just a shorthand and points to the command git add period so git add everything in the current direct working directory and above or in below um so i do gaa and then gcm is git commit dash m so once i put all of this in my batch profile now any terminal i open i have access to all of these aliases there's some other fun ones like if i just type the letter c that opens up code if i type a beer emoji that'll check out a branch called drunk there's some various other aliases that i use so essentially i can take this entire bash profile copy it and then um in my home directory so i'm in user slash my username so that's my home directory if i list hidden files you can see there's some zish config stuff here but i can actually create a bash underscore profile right here put all of that in and then save it and now when i open a new tab it uses all of those settings so you can see uh it's it's editing it's uh it's erroring out because there's a bunch of commands that i have not installed yet but you can see that before every prompt it prints my computer name and then the current working directory so if we go into documents and then wow and then jack in the bush now before every command i type it shows the directory on the previous line and then it shows the prompt with the random emoji and every yeah so you can see every new tab just gets a random emoji which is fun so now that i've set up uh my bash profile we can install all of these other command line tools uh that it depends on so i'm gonna go ahead and install those with um with brew so uh like i mentioned vc prompt is a command line tool that will tell you what branch of a repo that you're on but if you use like ohmyzish it does it install this installs this and does this uh by default i think if you install oh my bash it does a similar thing because i've configured mine manually um i need to install it so once i have vc prompt i'll stop getting that that error because essentially every time my uh prompt gets printed out vc prompt runs to determine if i am in a git repo and what branch i'm on um so that's great um i think so i by default max come with git let's see what version we have so we have 2.32.1 i'm going to do brew install git just to see if we can get a later version or more more recent version of git it installed version 2.3 7.1 oh there we go so i just had to open a new tab but now i am on the latest version of git which is awesome okay so now for the fun stuff so um fortune is an old linux command um that just essentially prints a random quote um or a random story or random poem or something like that so i'm going to install fortune and then uh i'll i'm going to install a thing called cal state so if you just run fortune after installing it you get this so you will feel hungry again in another hour if you run it again you'll get another random one there is no such thing as a civil engineer um so that's fun and then what i like to do is i like to pipe that into cow's egg i'm going to install calce now uh and khao se is really fun um let's find it on wikipedia but yeah so cal state is an old linux command where you can pipe text into it and then it'll make a cow say it so if you do calce actually if i do this if i do echo hello world into calce uh the cow will say hello world we're going to see what happens when we do this so if you're new to like linux or or like linux type commands essentially you can take the output of one command and send it to another command so what we're doing is we're taking the output of echo sending it into calce and then sending that into calce and then sending that into khao say so what we should see is just like a cow saying a cow saying a cow let's see yeah the cow is talking about the cow just talking about the cow which is saying is this real life so that's pretty funny all right so there's some other other tools we need um i'm actually curious um why we keep getting this command but i'll look into that but now in my bash profile i have it set up so that every time i open a new tab it runs calce with fortune and then it uses the tux cow file so the tux linux penguin so if i open a new tab now we can we can see that if we get a random quote from allen k by the way humans are communications junkies we just can't get enough by allen k nice and then if i open a new terminal we get another anichi quote which i'm not going to read because it's really long okay um i need to work on my batch profile because it's saying you can't find this dash r thing let's see what that's about oh it's trying to do history dash r i see it put a new line there when there shouldn't be i think that just has to do with my copy paste there we go that's better um we're still seeing like blank command not found so let me let me fix that i think i think it also has to do there's probably some other command down here that yeah i should have done i should have actually get cloned this so whoever told me earlier that why don't you just get clone this file you were right you were very right because now um now i have a bunch of space i think i got rid of all the new lines we're almost there honestly i should just clone i should just clone the file at this point there we go all right i can close all these tests now now we're in a better spot now there's not a bunch of weird commands running but it is a learning because if you weren't familiar with that ps1 command uh when you when you are uh using bash uh essentially that ps1 executes um every time a new prompt needs to be printed so a prompt is the thing that has like your current working directory and where you enter the commands and because that was running um every single command that's why we were getting all these command not found things um cool all right so we're doing good let's see what else we need um yeah i'm just to install these other command line tools because i because i use them pretty often so yeah ffmpeg is used for editing videos um i use this because i like uh edit and upload things to youtube and stuff like that so this f of mpeg is going to take a while um oh install firefox yeah good call i was going to use um a brew cask to do it but i don't want to run other actually i can run a brew cask install while this brew install is running typically you wouldn't want to do a brew install of two different formula at the same time because if they have similar dependencies they might get installed twice but i'm just going to do an open a new new tab and then do brew install firefox i actually want firefox developer edition um and so you might be wondering what's the developer edition um and it wasn't able to find it so you can do brew search let's see if i spelled it wrong but the developer edition essentially just had oh okay so you have to specify the full thing i'll do that but the developer edition has the uh the latest features of firefox sooner than the regular version of firefox i don't do any custom like firefox development or anything like that but uh if the javascript engine that is running inside of firefox gets newer newer features i'll be able to use those sooner inside of the developer edition so that's why i like it so i just need to copy this and do a brew install of that yeah and so if you missed it earlier brew cask is essentially a way of installing regular applications like you're not installing command line tools you're installing things that you might get like from the app store but you can do it from the command line you don't have to do it through the app store i'm going to do i'm going to do all the logging in later but i will show you later on i'll show you my my preferred settings inside of firefox cool and ffmpeg is done installing uh and so while that's since that's done i'll go ahead and install image magic and then when that is done we'll talk about all of the other apps that i use so we've installed all of the brew formula these are all of the tools that are just command line tools now we're going to move into tools that in apps that are actual applications so things like firefox and all of the productivity i tools i use uh and these are known as casks on a mac there are no built-in keyboard shortcuts for arranging windows on a screen now i know you might be on windows and you're like oh that's built into windows or you might be on some linux distribution you're like oh that's built in it's not built on a mac built in on a mac so we need an app for it and the app that i prefer for that is called rectangle and this is actually um a newer app the one that i used to use was called spectacle but is no longer in development rectangle gets frequent updates and is still in active development but let's go ahead and install it with brew so if i do brew install rectangle yeah so there's there's a lot of other tools so there's like magnet uh some people are mentioning yeah so in the chat mention things you use to manage windows on a mac yabbai never heard of yabai mu amethyst never heard of amethyst frank just uses his mouse frank just goes like this which is fine it's totally fine oh better touch tool that's another one yeah power toys i do not have a mac yeah so there's like for a lot of these things that i'm going to be installing there are other alternatives the ones that i'm showing you are the ones that have worked for me so i'm just going to keep using them for the most part okay so we've installed rectangle let's launch it we will have to give it accessibility permissions so because it's moving windows on our screen we specifically need to give it permission to do that so i need to go in click this lock type my password and then give it accessibility permissions if i check this box now rectangle has accessibility permissions um i could choose the default recommended shortcuts i'm just going to go with spectacle because it is the shortcuts that i'm familiar with i'm not sure how different the spectac spectacle shortcuts are from rectangle but you can see here these are all of the built-in shortcuts so i believe this is option command option and command left option command right etc but watch this boom left half of the screen boom right half of the screen top bottom left uh left corner right corner left bottom corner right bottom corner uh take that put it in the center so uh it has all of those shortcuts so i can just uh move move things around on my screen and i've been using it for so long i use uh uh spectacle for a really long time and now i'm using rectangle it's the same keyboard shortcuts that i have all of those memorized so if you click on it you can actually see what the shortcuts are you can also just choose a specific one and it will move it in that direction but this is a lifesaver it's one of my one of my favorite uh window management apps that is a rectangle uh the other productivity app i like to use is called alt tab so again people are gonna say windows does that by default or my linux os can do that but a mac can't so on a mac when you press command tab which is the way to switch between applications it only shows the application icon and i like to be able to see a preview of the app before i switch to it and alt tab is a way of doing that so let's install it alright now that we have alt tab we can launch it and we will have to give it accessibility permissions very similar to rectangle okay so i now have allowed that and now alt tab can do its job so i like to set the keyboard shortcut to just be command tab so that it replaces the built-in mac one you can see right now it's option tab but let's just try it so if i do option tab look at that so now we get window previews like this which is awesome and again it's probably built into whatever operating system you're using but it's not built into a mac and alt tab is a really good tool for that i've used other apps in the past so hyperswitch is one that i used um somebody recommended alt tab and this uh you can find them on github they are open source but it's pretty sweet so but what i'm going to do now is i'm going to replace a command tab so now when i do command tab it it shows me the window previews instead of having to do alt tab no i understand goofer it's just a lot of a lot of people will usually be in the youtube comments and be like oh this dude just spent an hour setting up all this stuff i can already do on my computer you know that it's fine it's fine and then lastly the probably the most frequently used apps definitely the most frequently used uh productivity app i use is called alfred um and people have mentioned alternatives in the chat so there's also a thing called raycast and there's a few other alternatives out there i like alfred in the past i've bought an alfred power tools license it works i love it i'm going to install it so alfred essentially replaces the quick launcher so on a mac when you press command space uh that launches spotlight um and this one is kind of slow so like if we if we search uh what was the person's name earlier was it jack in the bush yeah so you see that it actually it actually takes a second before it really even searches my file system like it's just really slow um and uh you you can't do like uh specific workflow launches or command launches and i actually don't like that it defaults searching the web like in a way this is kind of just a key logger right so as you're typing in keys it's sending that off to get uh search results and so literally every time you open up spotlight search your your key presses are essentially getting sent to some remote server i don't like that i'm gonna install alfred which is essentially just a replacement for that and has a lot of other cool settings and workflows that you can install as well okay so alfred is installed let's launch it alfred5 oh last time i was using alfred iv but let's let's go do i think alfred is safer to use i think like alfred is a uh has been around for a very long time so they are a respect respectable product and company um and i have mine set up so that it doesn't search the web unless it can't unless it can't find results so if i type something in that's not found then yeah that will potentially do a web search but actually it doesn't even do the web search embedded it will actually launch your browser with the search term which which is fine yeah and so uh alfred can do math um you can set up workflows where like you could just instantly launch several apps that you prefer i also like that it has you can more fine finely tune what shows up in the search results so here we go um i don't have an alfred license i'll i'll get it later and then install it but let's set up all of the settings and permissions real quick okay so i've set up all the permissions and now alfred setup is complete and then let's start it i don't store contacts on my mac so i'm just not even going to allow contact access and then here you can see the offered settings so by default the way to pull it up is option space and then now if i search for jack it doesn't send my my key presses somewhere i can specifically say oh go search google for that or search amazon also if you buy the um the power pack then you can specify other search engines and stuff like that i believe i'll have to look through the settings maybe i can even set duct go here but one of the things that i want to do is set it up so that it searches the file system so if i search for jack well not there if i search for jack i should see all folder results that match that term so let's set that up yeah i see some people in the chat mentioning raycast i looked into it i'm still going to keep using alfred just because i've used it for so long raycast seems pretty cool and it does it is free you don't have to you don't have to pay for it so you should check out raycast if if you uh because there are some features in here that are locked behind a paywall you will have to buy a license i don't mind that i'm supporting the developers of alfred i'm a developer myself um so it's nice to support other developers uh whenever we're searching i do want to search through folders um and i can allow it to search through documents as well so now that i've done that if i search for jack we can see there's a folder on my on my machine called jack in the bush um which is great so that that that shows up as a result i like that um you could also set it up to actually show files so if you want to search for code and stuff like that but i usually for me that's just a little bit too too messy searching folders is enough for me i'll show you one other thing i like to set up here is a shortcut for sleep so i actually just do the letter s for that and then also for lock i do the letter l so that allows me to easily just pull up this type the letter s for now it doesn't it's showing me all the other stuff but i have to choose this for it to recognize that when i type s that should be the preferred option but that allows me to instantly sleep my computer i'm gonna do it are you all ready i'm gonna sleep my machine let's see what happens this could ruin the stream here i go okay it wants to control system events i have to allow it okay so it sleeped it sleeped my mac um but typically typically what i like to do is uh when i'm done using my computer if i'm even if it's just sitting on a desk at home i turn off the wi-fi and i put it to sleep uh the other thing i can do is lock it but now that the letter s i uh when i typed the letter s it i chose sleep now if i type s sleep is at the top of the list so your most recent used things are always recommended first so that makes it so that i can just launch it launch it press s and instantly put my computer to sleep i can do the same thing with lock so now i can just command space l and then lock my machine yeah there's some other options in here and like you can see there's lots of like web search stuff i'm actually going to disable all this google stuff and then see if duckduckgo shows up as an option i've never actually set this up cool so now that i've only uh searched for or i've only checked duckduckgo let's see what happens when i search for something oh not that this when i search for something that isn't there no so i think these quick actions are actually specified elsewhere so uh verno mo moe is or mo is asking is saying if i go to default results and then set up fallback results yeah okay so that's what i thought it does cost money to change your that search engine to be duck.go but that's fine like i said i like to support these guys because um or these people because i've used this app a ton let's set up the keyboard shortcut so um right now it's option space i want it to be command space i can't even type command space without launching spotlight so let me go into my keyboard settings and change my keyboard shortcuts so um in here if i go to spotlight i can uncheck show spotlight search for command space and then now when i press command space inside of alfred i've tied it to this and now if i press command space we get alfred instead so just look how fast it is it's amazing wow and also uh i like that it has this built-in feature so if you type something and then press command l it instantly blows up that text so this is a really cool feature for like uh if you're a presenter and if you ever like you want to type in a url so if you go to coding.garden support you can find various ways of supporting me awesome okay um yeah i mean and that's the thing one computer guy like folder search is probably the most common thing i use it for like i mean i mean right now there's no data on this computer but if i'm searching for a specific folder and pictures or documents it launches it really easy um yeah and so i haven't tried raycast again i'll leave this in the video because i know a lot of people are recommending it try raycast leave a comment in the in leave a comment down below if you like it tell me why you like it better i prefer alfred uh now i'm actually gonna install the rest of these all in one go and then talk about the ones i think i'll give a quick sentence to at least at least all each of these but some of them i'll talk about a little bit more than others so i'm going to create a apps.txt file i'm gonna put all of these in there um i actually already installed keeping you awake and i'll talk about that really quick so keeping you awake is really good if you are a presenter like i am i'm presenting right now and this essentially um where's this one it makes it so that your mac does not go to sleep um and this is nice because i want to keep the built-in operating system settings that put my mac to sleep if i haven't used it for 10 minutes but that's if i'm not presenting but if i am presenting i can turn this on and it makes sure that my mac doesn't go to sleep so we'll install that app cleaner allows me to uh instantly uninstall or remove apps now again you might be coming from an operating system that's that allows you to uh uninstall an app uh on a mac the way you uninstall an app is literally just dragging it to the trash uh but appcleaner will search your drive for any of the associated settings of an app and remove those as well so app cleaner is pretty great i sometimes do various android debugging things so android platform tools installs adb and anything else i need for working with an android phone android android file transfer is a specific app that i can use to transfer files discord for messages i'm actually not going to install slack but you know what slack is i use vlc as my preferred video viewer keca is an app for working with archives so very similar to how on windows you might install 7-zip so that you can unzip 7z files and rar files uh keiko lets you do that cap is a nice tool for creating screenshots and screen or screen recordings and they they're not you can turn them into gifs or nice small videos timeout is my preferred break tool i'll show you more about that in a little bit is an image editing tool inkscape is a vector editing tool visual studio code is what i use to edit code which you know you've seen i actually install sublime text along with vs code because for me sublime text is more of like a place to put all of my quick notes because supply sublime text launches really quick and it has a feature where it keeps all of your tabs open even if you haven't saved those files so i essentially use sublime text as just like a notepad to throw things into and then insomnia i use to make http requests and test my http servers all right now that i have this file that has all of the uh casks that i want to install inside of it i can essentially run a command that executes a command for each line in this file so that's what we're going to do now now i'll save that to apps.txt and then i can do xorgs brew install and then point it at apps.txt so that essentially will execute brew install with each thing in that file so brew install appcleaner brew install discord etc so let's go nice okay all right now i'm going to set up os x settings so if you open finder on a mac so finder is the thing used to navigate your files and things like that um by default it's going to show a recents i actually do not like recent you can see that this is a this is a little uh sample i don't even know if it if it if it played um but because i was making music on my machine this is the most recent file but i don't use recents if i'm using finder i'm specifically going into a folder to choose the things that i want so i want to get rid of that i also don't use airdrop um i don't have a lot of friends and also i mean you would typically use airdrop to share files with friends i share using like dropbox or google drive or something like that and then there's a bunch of this other stuff that i don't use so i want to i want to adjust the finder to have my most preferred setting i did mention it but pretty much everywhere on a mac command comma is the way to bring up the settings or the preferences so if i press command comma while i'm in finder it brings up the settings and now i can turn things off or on so under general um i don't like showing external disks or cds on the desktop i like to keep my desktop clean um i don't i don't put files here i don't put icons here i just turn that off because whenever you like mount a dmg or you plug in a usb drive those are going to show up here so i don't like that showing up on my desktop and then in a new finder window i want to see my home directory so just cj i like opening things in new tabs i actually just want to disable all of these tags okay now for the sidebar i like to disable recents disable airdrop like i said i don't use it but if you do you can keep it but i don't use it i like to show all of my other main directories and then i don't want to show recent tags cool and i'll leave all of these other things checked let's look under advanced yeah so this is another thing show all file name extensions i'm a developer i guess that's not the main reason you would want to see extensions but usually when i'm looking in finder i want to see what type files are because a lot of times it hides that from you and then there's just like a kind column but i want to see those extensions because sometimes i want to change the extension so i like to keep that open um i won't show a warning when changing an extension because if i'm changing an extension i know what i'm doing i'll show a warning before moving to trash and when performing a search i want to search the current folder so um i don't use it that often but if i'm in finder and i need to search for something i typically don't want to search my entire hard drive i just want to search the folder that i'm in so i change that settings and then now i'll bring that to the top because i use it the most often that's also there um seems fine but now because i changed that setting when i open finder it should always go to my home directory which is awesome and then the next thing i'll do is i'll actually create my directory where i put all of my code projects so in my terminal so right now i'm in my home directory i'm going to make a directory called dev you can call this folder whatever you want some people call it workspace uh some people call it projects i like to call mine dev um and then now inside of dev is where i put all of my code projects all of all of them will will exist inside of there so in finder um i like to put dev on the the sidebar here so that i have quick access to it and so i just drag and drop it and now i can instantly get to my dev folder cool so that's it for finder settings well actually no it's not um there's a little bit more if you go to view go to view go to view go to view there's a bunch of settings in here that will show us more information so if i show the status bar now i can see how much hard drive space is available on my hard drive um i like to do this because sometimes i'm like downloading or extracting a really large file and i like to see at a glance how much hard drive space i have i also like to see what directory i'm currently in this is a quick rant and a quick gripe but i feel like operating systems have started to remove things that were very useful but the average user would maybe get confused by so like things like seeing the the path bar i feel like operating systems are trying to get people to forget about the fact that there's actually a tree of folders and when you're in a specific folder you're in within that tree um i like to see this all the time i don't know why that's even disabled by default so this is nice because wherever i am on my computer i can see this and i can click to go up in the hierarchy as well i also want to show the tab bar so if i uh open up multiple tabs i can have multiple tabs each one with different stuff in it and i just like that showing and also um i don't really ever have this preview showing if you're in a folder that has like pictures or movies it might be nice to have the preview but i always have the preview disabled so it gives me more real estate inside of the finder um okay so those are all of my settings it's nice i can see where i am on my hard drive i can see how much space i have on my hard drive um all that good stuff so it was pointed out to me by chat that there are even more options that are that can let you customize uh the the overall settings on a mac it's in system preferences dock and menu bar um so there there are things like under battery you can choose to show your battery percentage um and there are various other uh settings that you can specify and and tweak uh in how everything looks and feels so definitely do that as well so if you've been watching this video you may have noticed that really the only time i interacted with this doc down here was when i didn't have alfred um i think i clicked it to launch finder but the thing is with alfred or any other quick launcher command space will launch any application on your computer um command space gets you anywhere and so for me this dock down here is just wasted screen real estate i do not need it at all so what i like to do is to literally remove everything from here um to just make it real nice and small there might be a faster way to do this but still i just want to get rid of all that stuff cool what's that sound it's it's the delete sound [Laughter] of the dock uh and then now i like to go into system preferences uh go to uh dock in menu bar i'm gonna make the dock as small as possible you see how tiny that is teeny tiny make it super tiny and then put it on the right here put it from here put it on the right and then uh automatically hide it so now i will literally never see or use the dock again because i can command space to launch apps i can command tab to switch between apps i have no reason to use the dock and now look look i have an entire inch of space down here and so now when i when i resize with a rectangle it takes up the the full window size uh which is great so in the past i used istat menus and i actually purchased istat mini's version five but i like it because it will put things like a cpu monitor and a network monitor in your menu bar up at the top so it's great for that but someone in the chat has mentioned to me that there is this app called stats that's free in open source that does a similar thing so i'm going to try it out i've never used it before but i am going to try it and let's install it now so i can do brew actually i'm going to do a brew search for stats just because the word stats is a very general term and let's make sure that there's not more than one thing that's called that um yeah and it's literally just stats so if i do brew install stats oh here we are we have to go through the setup you can use bluetooth that's fine all right oh look at that it's amazing okay um how do i rearrange command click but also why is it showing zero percent oh i see it's one or the other hmm why is it showing does it not have enough space why is it showing zero percent oh there it is okay i just had to refresh it but yeah now i can i can drag this around um and show it like that so now that i have battery percentage through stats i can disable this one so if i go into battery preferences um i guess that's actually in a dock in menu bar i can hide the battery the built-in battery from the minibar because now i have this one and then now i can drag this over here which is where i like it like that nice and actually um i mean so here's one thing i don't like the i what this wants you to do is choose one or the other not both what i don't like is this one shows that my macbook is plugged into power let's unplug it but this one doesn't show that so it's kind of worse than the built-in one but regardless i'll just use the battery icon for now um i like to put all this stuff before all of the like running applications you can see my cpu my ram i'm missing widget settings what are the widget settings stats seems cool but i do not like the fact that if i oh widget settings okay here we go merge widgets into one i was about to say like come on come on all right that's that's that's the setting that i wanted in otso thank you very much for that prime sub that's the setting i wanted because if we go to battery um and if i do this i want to merge those into one so that way it has the percentage next to the battery that's that's the winner okay awesome so i like this i like this so it's a free app i didn't have to pay f uh pay for it and it has pretty much all the settings that i had in istat menus i guess the one thing it might not have is a calendar and so that's one of the things i really liked about istat menus is i could click on the calendar and then i would get a full calendar view i wonder if someone has asked about calendar add a clock option yeah feature request calendar um yeah and then they just installed istats specifically to get the calendar there will be no calendar in the monitoring app there are a lot of nice calendar apps and also mac os has one so they're not gonna they're not gonna get it okay instacal this one seems cool this one seems cool yeah i like this one the cow command in the terminal i literally have never used this but how do i how do i go forward a month uh cal august 2022 uh instacal seems nice though the copyright is 2017 so it hasn't really been updated um oh it has dark mode this one seems nice they literally just point to a zip file though uh i'm gonna search brew for calendar see if anything pops up so let me do this uh brew install itself wow so like this is what i like i like to be able to see next month and this month at a glance because i'm like when i'm scheduling things or whatever i just like to pop this out so that's what i like um cool and you can add events um let's look at preferences yeah definitely launch it log in um use an outline icon show month yep show day yep um [Music] let's make the calendar gigantic yes that's what i like to see cool uh seems fine though this doesn't show the time now i i think what i'll do is i'll set the uh the mac built-in date and time to only show um uh time and not date so if i go in here to clock show the day of the week no um use a 24-hour clock how do i not show the date never nice that's what i like to see all right we've we've set up my menu bar it probably will need some further tweaking but that that works well enough for me of all of all the apps i installed so earlier i showed you these casks it's a bunch of various apps that i installed and i mentioned that i like to use sublime for note-taking this is why so i can take a note let's see what's on my clipboard it's ecal is on my clipboard i can do like uh paste it in without having to save the document and actually let's just zoom in so you can see it i can close it and then if i open sublime text back up all of my previous work is there so i basically use sublime as just like a scratch pad because i can open lots and lots of new tabs i don't have to save any of them and then if i close sublime and i open it back up i still have all of these things and i didn't have to actually save them that's how i like to take notes there are probably better ways it's just what i like to do and i use this separately from vs code because vs code i typically open in a specific folder for like the things that i'm editing whereas sublime is just all of my all of my quick things that i need to jot down that i don't necessarily want to save into a file cool all right let's talk about firefox i'm going to describe all of the extensions i use inside of firefox uh to do things like respect my privacy and then also some workflow things not many but a few so the first one i like to use is called u block origin uh it is my preferred ad blocking uh extension um you might be saying if you're blocking ads then you're preventing revenue from creators and such um which is true in some cases but the web is just full of ads and um you get a very different experience on the web if you're blocking those ads so i blocked the ads if you block ads on on my youtube channel or whatever whatever else that's fine i get revenue in other ways i prefer to get revenue through direct creators like patreon or twitch subs or whatever else i don't need you to watch ads for me to make money that's just me also you can set up whitelist so if you want to support a certain creator you could add a whitelist for their youtube channel and then it wouldn't block ads for them but this blocks ads and it's wonderful the next extension i like to use is called privacy badger now um privacy badger is slowly slowly becoming like you may not need it anymore just because these types of filter features are built into firefox but essentially what it does is it blocks uh all all uh cookies from being set unless you've white listed them so this is perfect to block um uh trackers automatically and there's no block lists it essentially detects if a specific script is trying to set a cookie and then it will either block it or allow it based on your settings and so for example if i reload github here and we look at privacy badger we can see how many trackers were loaded in this case none but if we go over to youtube and we look at privacy badger um you can see that it's it's potentially blocking a couple of trackers so it's it's blocking it's actually automatically blocking google ads and this double click thing um and so sometimes u-block and privacy badger are like a little little redundant but i like to have both of them enabled um the other thing to think about though is like sometimes websites will break because you have these extensions installed and it is possible to just go in and turn ublock off or to disable privacy badger for a specific website and you might do that on a certain website if things break but i like to use those two extensions ultimately to kind of like block ads and respect my my privacy by blocking certain trackers on the web um the last privacy related extension i like to use is called uh cookie auto delete oh i have it open here and this is super interesting because what it does is it will delete any cookie that's been set on your in your browser the moment you close a tab if you have not whitelisted it so i essentially have a running whitelist of all the websites i want to allow to store cookies but any website that's not in that white list automatically deletes it will automatically delete all of its cookies the moment i close the tab and you can change the settings you can make it so that it deletes the cookies if if the tab has been closed for a few minutes or something like that but this is really great because this also stops trackers from tracking you privacy badger would prevent those cook tracking cookies from getting set in the first place but any cookies do get set on sites that you don't want cookie auto delete will automatically delete them so i'll go ahead and install this and like i said so cookie auto delete will will take a while to get for you to get used to because you essentially need to start whitelisting websites so for example i want to whitelist github so i need to add star.github.com to the whitelist and now if i were to log into github cookie auto delete would not automatically delete my cookies similarly i would want to keep my cookies for youtube so i don't get logged out so i could add this to the whitelist and you can see my whitelist only has two websites in it so over time i would build up this this whitelist so that it's only keeping the cookies that i actually care about and then any other cookies will automatically get deleted i believe in the settings themselves you can enable yeah so you can enable automatic cleaning and you can choose how many seconds you want to wait after closing a tab before those cookies are automatically deleted so basically this this suite of extensions all work together to help support my privacy on the web now there are various web browsers and projects out there that might do some of these things built in but i like firefox i like supporting the mozilla foundation and um with these extensions installed in firefox i get all of the features plus more that you might get in some other browsers that have this stuff built in okay so that's it for privacy now let's talk about um uh productivity so one tab is really great if you use a lot of tabs so essentially if you have a bunch of tabs open and uh you don't want to close all of them because you wanted to go back to a tab later on or something like that you just click the button and then instantly all of those tabs are put into a page that you can save you can share um or you can even just remove if you don't if you don't care about those tabs so let's install it and i'll show you how it works we installed one tab awesome now watch what happens if i click this button boom every single tab i had open now gets put onto this page if i want to reopen it i can just click it i still want to show this and and cranberry leaf thank you very much for the sub but yeah one tab is huge uh it's also nice uh for for this right here if you click share as web page now that gives you a shareable link that you could give to someone else and or you could just send it to your phone or something like that and then it has all the links on it and then you can also just delete that shared page so that no one else can can see it so yeah this is awesome and it's huge especially like if you're doing research or you're you've you've been browsing the web for hours and you have like 30 tabs open this will make it so that you can still keep those tabs but now you don't have to look at all of them so it's pretty great and then the last extension which isn't exactly a productivity tool but i do like to use it as my new tab page is called tab bliss and this basically just replaces the new tab page so by default in firefox you kind of get this firefox home thing i like this because you can set a background image i like to set just a solid color and now after you've installed it it's going to ask you and i can say keep changes look at that it's nice and in plain there's not a bunch of stuff going on it has the time i usually like to so you can choose a random photo from unsplash typically i just make mine a solid black color and really it's just because i want my new tab to be very plain not distracting at all and then i do it like that so every tab i open will have the time and it says good afternoon or good morning friends cool so that's it for all of my firefox extensions there's a few like dev developer specific extensions i'll install that i might need like uh view dev tools or react dev tools um but for the most part those are the main extensions that i have installed but let me show you the other customizations i do for uh firefox as a whole so first of all i do not show the the bookmarks um uh toolbar thing um how do i hide it go away go away bookmark tab toolbars bookmarks toolbar never show so go to view go to view um oh yeah and so yeah i don't use a json viewer because it is built into firefox so um for example if you make a make an api request that returns json uh if the content type application json header is set firefox automatically gives you a nice little json just on browser so you don't have to install a separate extension um control shift b command should be there it is so yeah i like to hide the bookmarks toolbar um just because i don't i don't ever want to see if i want to see a bookmark i'm going to go to the bookmarks manager or the bookmarks tab um great i'm going to clean up the tab bar up at the top here so if you right-click and go to customize this is just extra it's free real estate so i just removed that this side as well um pocket is interesting it can give you like um uh a nice distraction v re view like distraction free view of like articles and stuff but i typically remove that and then um i'll move that over here can i move that over yeah there and that should be good so now nice i get all this real estate for my url bar and then what does this do yeah oh actually i might i don't i don't use that um so i'm gonna remove this as well i think there are shortcuts for most of those options cool um yeah and someone's asking why firefox over chrome um um it's because it's from the mozilla foundation and it's it's truly open source uh chrome is based off of chromium chromium is open source but then google wraps chromium with a bunch of proprietary stuff and it is closed source at least those pieces are and then uh yeah the mozilla foundation is awesome i mean they're they're in charge of the um mozilla developer network and like the unofficial web developer docs that most people use uh they're a non-profit organization and they respect your privacy so like firefox is getting more and more privacy focused features that uh google chrome would um definitely not add um i think so here's the thing when you're when you're using computers phones anything or you have to log in to some company most of them are are tracking you or harvesting your data in some way so it's really just a matter of um making making certain concessions as to how much you want to be tracked i already use an android phone i mean i technically use the firefox web browser on well it's a dirty phone i technically uh the firefox web browser on my on my android phone um but still the phone itself like google is absolutely tracking me um and what's nice about firefox on android is you all of these extensions that i just installed you can install on firefox uh mobile as well or at least firefox for android i don't think you do it on firefox for for ios um at the same time i did i did log into my google account so google basically is tracking my location um it's tracking my app usage all the other stuff they're tracking that much stuff i would prefer it if google didn't track all of my browsing habits as well so with chrome typically you would log in with your google account and now google can literally see everything you do on the web now of course they may or may not be doing anything bad with that data but the fact that they have that data means that something could happen to that data and typically they're using that data to like advertise you and stuff like that advertised to you so that's that's why i don't use chrome and i try to use uh well and i need to use firefox yeah i don't know people always talk about the b word b word browser um and uh i just i just don't see a need for it just use firefox install a bunch of extensions and you're good to go let's set up some other firefox settings so if i go into my settings here um i always like to open my previous windows and tabs um a lot of times i'll have like 20 tabs open i don't use i wouldn't use one tab in that instance i would just close firefox but the next time i have i open it up all of my tabs will be open i'm going to make firefox my default browser great let's see what else i want to do whenever i'm downloading files i always like firefox to ask me i don't like just putting everything in downloads because that's how you can get your your folder your folders your file system will get really messy really quick if everything is just put into downloads um so i like firefox to ask me every time i download something so like that setting and see what else i already set tab list as my my home my start page but i'm just going to disable all of this other stuff um that was set as the firefox homepage anyways because i don't want to see it i don't want to see any of my recent activity some of these settings are especially because i stream and i don't want like my browser history being shown every time i open a new tab or something like that so that's fine for search i do prefer to use duckduckgo um and i actually like to turn off search suggest suggestions so we've talked about this before but as you type if you're using search suggestions this is essentially a key logger to any search engine that you're using whether it's duckduckgo or or um google or whatever else so i disable search suggestions and then i just build up my suggestions over time in that this will search across his history so if i search for github you can see all of the github sites that i've gone today gone to today um and so that's just what i prefer to do when i'm typing in the bar i only wanted to recommend things that i've already gone to i don't want it to search the web for me um i'm gonna delete all these other things except for duckduckgo and that's awesome now let's get into privacy and security so this is what i was mentioning earlier that built into firefox it's already preventing a lot of the things that we're now preventing with or we used to prevent just with privacy badger so i leave it with with standard browser protection which is great um and then i do not save any data to um into the browser uh this is like i guess another avenue of attack like if you have all of your logins saved to firefox if you have all of your forms and credit cards save to any browser that you're using um and if someone gets a hold of your machine they could potentially get get all of that data so i don't store it in the browser i use an external password manager um and i just i don't let firefox do all of that i also don't like any sort of autofill now obviously autofill is a convenience if you're if you're filling out your your address um or your your credit cards pretty often on the web you want this feature but i don't um i'll type it in manually if i need to and like like arcus is mentioning in the chat when autofill runs on a web page the change handlers of the of the inputs on on that page are technically running behind the scenes so someone could have a website that loads and then gets auto filled and then they send that data off somewhere even without you clicking submit on the form so that's some of the like malicious things that you could do now actually i don't know it might be that the browser itself prevents that from happening but i don't even want to risk it so i don't save any of this in my web browser i like to remember history and then this is what i was talking about earlier so the firefox suggests when i start typing we'll search through my history my bookmarks but it's not going to search the web i don't want that yeah i don't want suggestions from the web or sponsors or anything else awesome awesome i think that's it and then i don't sign in to sync on uh this browser because i use this one for streaming but i have a separate profile so if i go to about profiles you can set up separate instances of firefox and i do that so i have a personal profile where i do log in to a lot of other stuff that i stayed log into and then my history there is separate from the history that you can see on stream yeah [Music] cool cool that's all i have to say about that those are my default settings let's talk about actual code now we've we've talked about like os settings and browser settings and and all that other stuff now let's talk about uh how we how we write code and me specifically i am a javascript developer a node.js developer so let's talk about how i do that so i use a tool called nvm so nvm is a node version manager if you're on a mac or if you're on linux you can install this one if you're on windows you'll have to search for a different one i think it's actually called nvm windows but this lets me manage which versions of node are installed so i can run it or install it like this the other nice thing is it doesn't require super user permissions to install node modules so because it gets installed in my home directory so every version of node every globally installed node module gets installed in this directory in my home directory so i don't need super user permissions to install global modules they all they're all here in my my local directory you would add this to the end of your zishrc or your bash profile or your bashrc which essentially loads nvm but now when i open up a new tab uh nvm is a command and i can do nvm install latest and that will install the uh latest version of node and i guess they used to have that command now i can just do nvm install 18 it'll it'll pick it'll pick the uh the latest one which is 18.6 which is nice so that installed version 18 and now when i open a new tab you will actually see that it prints out which version of node i'm using and that's because in my bash profile oh i gotta go to my home directory and we'll just less my bash profile at the top of my batch profile i just have nvm use stable which is the latest stable version that you have installed in my case which is version 18. so every new tab i open it will automatically use version 18. what's nice though is i can install other versions so for instance there are some apps that run for my overlays where i actually need node version 16. so now i can install node version 16 and then if i do nvm list i can see all of the versions of node that i have installed and i guess these are also like available versions but now i can instantly switch between node version 16 and then if i do nvm nvmus18 uh now i can use node version 18. so you can easily switch back and forth between them uh that's nvm i love it use it every single day and it basically allows me to manage my node versions uh now let's get into vs code so earlier whenever i ran the command to install all of these casks one of the things it installed was vs code visual studio code which is my preferred editor let's launch it so um here in dev i'm gonna make a directory called my first website and then we're going to edit that with vs code i'm gonna trust this folder because i just created it and then we have to set up our default settings um i actually don't really care about any of these because i'm going to load my settings in from my for my settings settings repo so i forgot to back up my list of extensions if you look on the web there is this list of extensions out there but i would say this one is fairly outdated and it has it honestly has too many extensions there's a lot of extensions that i don't need or use anymore um and really the main things i care about are my theme font size shortcuts and auto rename tag those are probably the the three things that i care about the most and then everything else i kind of just install as it's needed so first of all let's get the theme going um inside of vs code if you press command shift p that launches the command palette i'm going to go to install extensions and i'm going to search for just black that is my favorite and preferred theme there it is let's install it look at that um so it's the editor theme as well as syntax highlighting um and it's it's beautiful it's just perfect so i used to use this extension called auto rename tag apparently it's built in now so if you go in your settings and search for linked editing you can turn that on and then nice so the moment i start typing on one tag it updates on the other one so that's good to know i actually want to see where what that setting is so i can make sure it stays on my settings json so if you go to open settings json these are your your actual settings that get set and whenever you're editing them in the ui they get set over here so i could technically take this setting and add it to my list of settings that i'm going to load in a second okay so that's great and then i definitely want font size shortcuts so right now inside of vs code if you do command plus that zooms in the entire ui i don't want that i i want to get the ui to a certain zoom level and then i want to be able to zoom in to the specific text but not the ui and font size shortcuts does that um and i believe you could uh install this um yeah so i mean you could technically just set these keyboard shortcuts in your keyboard shortcuts settings file but this is a nice extension because it just does that by default yeah so now if the editor is focused the font zooms in and the ui doesn't zoom in and uh if i if i'm if the editor is focused then the editor zooms in so i can especially if i'm presenting i can like zoom in over here to see the file explorer but then if i'm over on my code um i can zoom in here and that doesn't affect the ui itself so that's why i like font size shortcuts um that's probably it i think uh eslint isn't installed by default so i definitely will install that um yeah it's curious that this isn't installed by default but i'll definitely install it and then prettier is another one that i use for uh for auto formatting um i used to use beautify but prettier works pretty nicely so i've installed a few of those extensions that i like now i'm going to just load all of my settings so i have my settings saved here in this git repo and i can literally just copy all of this and then inside of vs code i can go to open settings json and then just put these settings in here i need to add the editor linked editing thing but i'll paste this in and then we'll add the editor link to editing true cool okay um that's funny yeah the banana deck does not exist it doesn't exist um so yeah now that all of those settings are loaded all of my preferred stuff has gotten loaded in um i do believe i might need to install vs code icons i probably i might not anymore though maybe i will okay let's install this and see what we get different yeah so now that that is installed um it gives us nice uh icons for all of our file types oh yeah and so uh i like to um use vue.js and so the preferred uh extension for that is called vol uh yeah volar um so i'm gonna install that um so that way when i'm editing a view project we get nice nice settings built in and so for the the the theme that i installed just black these are some extra settings that i added um just because the like comment blocks sometimes aren't as visible so i set them to pink so they're more visible and then i believe it was doing some weird font thingies for various operators so i just removed oh yeah i think it was doing in them as italics so i just removed that font style so that they look normal and so those are my main settings um yeah cool cool i think there might be an extension you can install for this but what i like to do is if i have lots of files and tabs open i like to to use the keyboard shortcuts that work like in in firefox so in firefox if i press command one that goes to the first tab command two goes to the second command three goes to the third tab um i think those shortcuts also work in chrome and in other apps i like to do that inside of vs code so i have just set some keyboard shortcuts that do that so i can literally just pull these in and then now i'll have those those keyboard shortcuts um keyboard shortcut json i can just paste that all in here and now i can do command one command two command three to switch between them i believe those are all of my settings there are some other extensions i use that uh i'll just install them when i need it like a quakka is a really cool tool that will execute your code inside of the editor and like print print the results inside the editor i typically do this like when i'm teaching code or whenever i'm solving a code kata or something like that so i'll install that i don't use the live server extension because i just use the command line tool that's how i set up vs code those are some of my favorite extensions now let me show you some of the global node modules that i like to install so as i mentioned earlier in vm creates this directory in your home folder called nvm and any global packages you installed are just gonna get put right into that directory um instead of somewhere on your machine that would require super user privileges so that's really nice um so if i do npm install dash g light server that is actually just going to be put into that nvm folder and i don't need super user privileges but now i have this global command light server so i prefer to use light server for like basic websites like static websites and actually let's get some stuff going inside of this html file here wow um and then we'll just throw like an h1 hello world and if i run light server that's going to start up an auto refreshing dev server in that folder that just serves up these static files so like this isn't a build tool or anything like that it's just really it's useful for static web projects now there is an extension you can install in vs code that gives you that but typically i'm running things from the command line so uh i like to use that command i think that's it for most of my setup i will talk about my my break timer though which i haven't set up yet so if you've ever watched my stream before you probably see that every few every 10 minutes or so um a break timer will pop up so i like a micro break every 10 minutes and then i like a normal break every hour and that normal break should last five minutes um yeah so i want a a 10 second micro break every 10 minutes cool cool so this is what the plugin does i believe in preferences i can make it show up in my menu bar and then um yeah and again this is an app that does cost money but i've been using it for years and i support i try to support them every year as well okay so now that that's enabled let's say we do a micro break and this is what you typically see pop up on my screen and it basically just lasts for 10 seconds and it reminds me to take my hands off the keyboard look away from the screen and then get back to it and then this one i have pop up every hour and it just reminds me to take an actual five minute break so that's what i use for that that's it that's all thank you for watching this is all of my preferred setup for my mac of course you may have different preferences please leave a comment down below to some of your favorite apps that you use for these various things hopefully this was helpful for you and thanks for watching we'll see you next time you
Info
Channel: Coding Garden
Views: 166,643
Rating: undefined out of 5
Keywords: javascript, coding, programming, node.js, tutorial, learning, debugging, web development, web, full stack, live stream, live coding, how to, setting up mac, setup mac, mac productivity apps, alfred, rectangle, app, alt-tab, windows manager for mac, show window previews on mac, alfred alternatives, monterrey, osx, os x, mac, productivity, tools, how to setup mac, how to setup iterm, mac preferences, istat alternative, raycast alternative, firefox privacy
Id: 2_ZbslLnshw
Channel Id: undefined
Length: 96min 20sec (5780 seconds)
Published: Mon Aug 01 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.