Using A MacBook for Software Development in 2024
Skills:
Tool Use & Function Calling90%
Key Takeaways
The video demonstrates how to use a MacBook for software development in 2024, showcasing various tools and techniques such as Warp terminal, Homebrew, pyenv, and VS Code. It also covers productivity and security tools like NordVPN, Mackipaste, and Bitwarden.
Full Transcript
I've been quite happy doing software development on my MacBook for the past couple of years this is an M1 series MacBook I don't really feel the need to upgrade to the latest and greatest maybe next year I will do that but for now this actually works totally fine now this is an M1 Max I mostly got that for video editing if I would have just used it for software development and M1 Pro would also have been really great now it's been a while since I've done a video covering the applications that I use on my Mac so that's what I'm going to talk about today and as bonus I'm also going to cover some of the settings that I changed in my Mac to make it more suitable to software development before we start I have something for you if you want to learn how to detect problems in code faster check out my free code diagnosis Workshop by going to iron. c/ diagnosis this is a 30 minute Workshop that teaches you a three Factor framework that allows you to detect problems in code faster and uses tons of practical examples from production code to show you how to do that so iron code SL diagnosis to join to works for free I've also added the link in description now let's dive into the Mac so i' just like to walk you through some of the tools that I use on my Mac and not all of them are directly related to software development but I these are typically tools that I use every day so the first one that I want to mention is the terminal that you see here and this is warp so I've been experimenting with different terminal apps so Mac has the buil-in terminal which is quite limited and I've also used iterm 2 which is to be honest pretty nice but it also lacks some features in particular uh it lacks autocomplete and this is a feature that I really enjoyed in past I was using fig for this but I think it's now being bought by Amazon it's not really clear what direction it's going in so now I've been experimenting with a new terminal uh this is actually built in Rust and this called warp and this actually has auto complete uh next to a bunch of other features as well so this is what it looks like so for example if I go to myON codes full you see that automatically completes it so that makes it really easy and you have a ton of different features settings that you can modify here to be completely honest I haven't dived too deep yet into all the features of the warp terminal I'm going to do that over the coming month and then perhaps I'll report back in another video an important thing that I do in the terminal is install and update applications using home room so I have to Brew command and we can use that to install various packages so I use this quite a lot as you can see I've quite a few different packages installed here some of these are dependencies one thing in particular that you might want to do is install various versions of python in this case I'm uh I have 3.10 3.11 and 3.12 I probably should clean this up but uh next to this I also use py en in order to switch between different versions of python typically the version of python that comes with the Mac is a bit outdated so you definitely want to update to more recent version but other things that I've installed using Brew R gits and nodejs which I use for web development but also sqlite and rust and there are a couple of other tools here as well one of them is espano espano is a free tool that allows you to do automatic text Replacements now Mac does have text Replacements built in but it's really limited whereas with espano you have a lot more op options and what this basically allows you to do let me open text edit is that if you are typing something and you write for example uh this in my case then it replace it with cheers iron so that helps me write emails faster I hate writing emails but at least this makes it a bit faster and these shortcuts so I just typed colon CH I can Define them in espano and add as many of them as I want and what's nice is that you do that in yo files so it's really easy to Define them in there so what I've done is that to my iCloud Drive I've added a folder espano that contains all of the configurations and in the asenso folder there's specific structure that you should follow so there's a match folder that contains the various matches so I I made yile for my emails but I also made a base yam file let me open that in vs Cod to show you what that looks like so there's nothing in there except for a simple trigger to write the current date you can even do things like format it as you want but I made another one which is for my email so that's the cheers Aron at the end of every email but uh there's a couple of other emails here as well about refunds and uh ordering courses and things like this so as sponso it's totally free and it's really useful next tool that I want to cover is a VPN at RN codes we use nordvpn or to be more precise Nord layer which is the version of nordvpn for companies so this when you install this you simply have this drop down where you can connect to Gateway I'm in the Netherland so so I'm connected through a Dodge Gateway it's really easy to set up really easy to use uh it's basically gets out of the way so that's really nice you may wonder why you actually need a VPN especially if you're using mostly cloudbased tools and Technologies then arguably a VPN is not really necessary but iron codes part of our team is remote so I do feel it's good practice that we use a VPN that way when we're working like in a coffee place on a public non-secure Wi-Fi network we can can be certain that our passwords are not being stolen another tool that I like to use is macki and this is a clipboard manager you can also install that with brew and this adds a item to your menu bar and whenever you copy paste something it's going to appear here and then you can easily go back I don't use it that often but when I need it it's actually really helpful that it's there so that's really cool and it also has a bunch of preferences like you can define a hotkey for opening the application you can modify how the search mechanism Works how pasting should work and there's quite a few things here that you can change to your liking another tool that I've been using for quite a long time is rectangle and this is a window manager and this allows me to easily manage windows in Mac OS since Mac OS doesn't have very good built-in support for that it allows me to do things like using a simple shortcut to make something full screen or make it appear on the left side on the right side Center it so there's tons of different options so this allows me to quickly go through navigate through my windows and organize them in a way that makes sense just by using simple keyboard shortcuts rectangle is also a free tool it's really useful next tool that you will most certainly know is vs code which I use for all my code editing I'm a really boring F code person I don't have like fancy themes installed or something like that I just use the built in Dark theme which to me works perfectly fine I do have quite a few extensions that I use use I have separate video where I go through these I'll link that in the description down below but vs code for me is my go-to editor and it works really great so very happy with that next tool that I want to mention is a passwort manager this also something that's really important that you gets set up correctly in my case I'm using bit Warden we all use this at Aron codes and works really well it allows us to also share credentials especially if you're doing development work then you need a way to share environment variables credentials so that you can locally develop on your machine and get access to the resources that you need so we use bit Wen for that so we have a number of secure notes that are shared between the developers in our team and then they can work with our various applications easily and we don't need to send passwords and API keys back and forth through uh slack or teams for example so bit Wen works really well for us and is also quite affordable the next tool that I want to talk about is De toys and this also a really cool little tool that does a lot of things so for example you can create a bunch of lauram ipsum text if you just need to quickly have some text for a user interface you have uh other kind of utilities like creating a QR code uh you can create various types of hashes you can do Json formatting uh you can know XML formatting you have conversion between dates you can do reg access there's a lot of possibilities in this tool and it's quite useful now Spotlight you know Max builtin search index and kind of tool also has some capabilities that I also like to use from time to time for example one thing that's really nice about Spotlight is that you can do things like uh1 in uh US dollar and it's just going to do the currency conversion for you so those things I use also quite lot and they're quite helpful but for a lot of other things de toys is actually really useful another tool that I use quite quite a bit is Docker so we're developing several kinds of platforms at Aran Cod so we have a platform that we host for our architecture online course but we also have learn tail which is an AI tool that can generate quizzes based on YouTube videos URLs or just any text description so we also develop that and when we host that in the cloud we use Docker to build containers and deploy them so Docker uh really helpful and it allows us to have locally something that roughly re resembles what it's going to look like in production on top of that there are a couple of extensions in vsod that also make it easier to work with Docker containers so it definitely recommend that you install those as well next tool that I want to mention that we use a lot at iron codes for all sorts of tasks and projects is notion and we basically run our entire company in notion and it's really really good for that and to be honest we're just reaching now slightly below the surface of what's possible in notion so we use notion for for various comeon boards to track company level projects the YouTube video production schedule we have uh currently somebody who's working almost full-time on building all sorts of automations using AI in the company so we're also using a c on board for that so it's really great for that and there's automations in there that automatically when you move a card from one stage to the next stage assigns it to uh riewer for example so we also use that quite a lot and then on top of that we now start using the notion API to automate even more things I'm not going to dive too deep into that because we're still pretty early in the process but if you'd like me to do a full video on building automations with notion and Ai and the other tools that we're using for that just let me know in the comments final thing that I want to show you is a little tool called hidden bar and this allows me to hide a lot of these menu bar items that you see here a free tool that you can install just by going to the App Store and the way that it works is that you can open and close this section section and then when you click command you can actually move around the icons to determine whether they should be shown or not when you click the open or close icon especially once you start installing a bunch of tools you're going to end up with lots and lots of menu bar items and you don't always need that and not all tools allow you to hide the menu bar item so this is a great way to clean up your menu bar in Mac OS so most of the tools I've mentioned we're using to build learn till which is an AI based quiz generator it can take a YouTube video link it can take a URL you can just type some text and it can generate a quiz about that especially if you're running software development YouTube channel like we do it's really important that we follow best practices and that we keep track of what's happening in the industry and developing a platform maintaining a platform like that is a really great way to do that so we've been working a lot on improving the platform we've dramatically improved the quiz quality that it generates we're working on adding an API a quiz editor and a bunch of other things we're going to launch a more complete version of the platform very soon and you can try this for free just go to learn.com and play around with it and let me know what you think about it now to conclude this video I just like to show you some of the settings that I change in Macos to make it more to my liking so especially in finer there's a couple of things that you can do to make it a bit more usable like one thing that I like to do is to enable that you can see the folder structure here at the bottom so that I can easily see where I am and also show this bar here at the bottom so that I know how much space I have left on my hard disk and there's a couple of things you can change in finder as well so for example if you click this then it's going to by default show all file name extensions that can sometimes be helpful another thing you might want to do is change the search Behavior so uh you can pick search this Mac or search the current folder so whenever you go here then by default now it's going to search the current folder which I find way more helpful than that it searches the entire computer but depending on what you want you can change this to whatever value you like just a small tip by the way in finder if you want to show hidden files you just press shift command period and it's going to show them and press shift command period again to hide them really useful then I have a couple of general settings that I typically apply so I always want my desktop to be dark because I like dark mode uh calmer to my ey so I always switch this to dark I also have some settings that are Chang related to the dock so I always automatically hide and show the dock so if I move my mouse here then we see the dock but it's out of the way when I don't need it so that gives me a bit more screen space and there's also a couple of things that I change in my keyboard settings I want my key repeat rate to be fast so it responds more quickly and also the delay until repeat I put that to relatively short another thing that I do is change the input sources setting so you see it's dutch which I am dodged so that makes sense but if you edit it you see that there's a bunch of stuff that I didn't know was here but is actually really helpful to change this so for example I switch off correct spelling and capitalize words automatically because I just think it's really annoying when I'm typing that this happens automatically another thing that I typically switch off is smart quotes and dashes the default setting for smart quotes is that it does something like this so you see it automatically replaces the standard quotes by these uh enter and exit quotes which I guess if you're writing documents normal text that's useful but when you're write in code this is actually really annoying now vs code doesn't do this but it happens to me quite often that I need to copy paste some curl statement or something and don't and then I don't want it to automatically replace the quotes by this so what I do is that I typically will just switch them off and then that solves the problem so that's an overview of the kind of tools and settings that I use on my Mac for software development I hope it gave you some ideas and also some tips on how you can make your Mac better for software development work but I'd like to hear from you if you're using a Mac for software development what kinds of tools and settings are you using let me know in the comments now today I haven't really talked about my vs code settings and extensions that I use I covered those in a separate video which you can watch right here thanks for watching and see you soon
Original Description
👷 Review code better and faster with my 3-Factor Framework: https://arjan.codes/diagnosis.
In this video, I'll show you how the right tools can turn your MacBook into a super tool for coding. You'll learn about my most used apps and some cool tricks to make programming easier and more fun!
🎓 ArjanCodes Courses: https://www.arjancodes.com/courses/
🔖 Chapters:
0:00 Intro
1:21 Warp
2:24 Homebrew
3:18 Espanso
4:47 NordVPN
5:35 Maccy
6:07 Rectangle
6:40 VSCode editor
7:12 BitWarden
7:59 DevToys
8:34 Spotlight
9:00 Docker
9:46 Notion
10:48 Hidden Bar
12:11 MacOS Settings for Developers
14:47 Final Thoughts
#arjancodes #softwaredesign #python
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from ArjanCodes · ArjanCodes · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Full stack WEB DEVELOPMENT in 2021 - the ULTIMATE tech stack for FAST web app development
ArjanCodes
FROM PRODUCT IDEA TO SOFTWARE - turn your idea into reality in a few steps
ArjanCodes
Cohesion and Coupling: Write BETTER PYTHON CODE Part 1
ArjanCodes
Build a GLASSMORPHISM React Component - Typescript & Material-UI
ArjanCodes
Observer Pattern Tutorial: I NEVER Knew Events Were THIS Powerful 🚀
ArjanCodes
100% CODE COVERAGE - Think You're Done? Think AGAIN.☝
ArjanCodes
Two UNDERRATED Design Patterns 💡 Write BETTER PYTHON CODE Part 6
ArjanCodes
1000 Subscribers! 🚀 WHY I Started this Channel and WHAT'S NEXT
ArjanCodes
Channel Trailer ArjanCodes - March 2021
ArjanCodes
Exception Handling Tips in Python ⚠ Write Better Python Code Part 7
ArjanCodes
Monadic Error Handling in Python ⚠ Write Better Python Code Part 7B
ArjanCodes
GW BASIC Games I Wrote When I Was a Kid 🎮 Running 30 Year Old Code
ArjanCodes
Why You Should Think About SOFTWARE ARCHITECTURE in Python 💡
ArjanCodes
Uncle Bob’s SOLID Principles Made Easy 🍀 - In Python!
ArjanCodes
QUESTIONABLE Object Creation Patterns in Python 🤔
ArjanCodes
If You’re Not Using Python DATA CLASSES Yet, You Should 🚀
ArjanCodes
CODE ROAST: Yahtzee - New Python Code Refactoring Series!
ArjanCodes
7 UX Design Tips for Developers
ArjanCodes
Going All-in on Software Design in Python + an ANNOUNCEMENT 🎙
ArjanCodes
🎙 Interview with Sybren Stüvel, Developer @ Blender 3D
ArjanCodes
Do We Still Need Dataclasses? // PYDANTIC Tutorial
ArjanCodes
7 Python Mistakes That Instantly Expose Junior Developers
ArjanCodes
Answering Your Most Frequently Asked Python Questions // Q&A 07-2021
ArjanCodes
GitHub Copilot 🤖 The Future of Software Development?
ArjanCodes
More Python Code Smells: Avoid These 7 Smelly Snags
ArjanCodes
Test-Driven Development In Python // The Power of Red-Green-Refactor
ArjanCodes
5 Tips To Keep Technical Debt Under Control
ArjanCodes
Refactoring A Tower Defense Game In Python // CODE ROAST
ArjanCodes
The Factory Design Pattern is Obsolete in Python
ArjanCodes
Why the Plugin Architecture Gives You CRAZY Flexibility
ArjanCodes
Refactoring A Data Science Project Part 1 - Abstraction and Composition
ArjanCodes
Refactoring A Data Science Project Part 2 - The Information Expert
ArjanCodes
Refactoring A Data Science Project Part 3 - Configuration Cleanup
ArjanCodes
Purge These 7 Code Smells From Your Python Code
ArjanCodes
Running A Software Development YouTube Channel
ArjanCodes
Refactoring A PDF And Web Scraper Part 1 // CODE ROAST
ArjanCodes
Refactoring A PDF And Web Scraper Part 2 // CODE ROAST
ArjanCodes
How To Easily Do Asynchronous Programming With Asyncio In Python
ArjanCodes
The Software Designer Mindset
ArjanCodes
NEVER Worry About Data Science Projects Configs Again
ArjanCodes
Powerful VSCode Tips And Tricks For Python Development And Design
ArjanCodes
8 Python Coding Tips - From The Google Python Style Guide
ArjanCodes
What Is Encapsulation And Information Hiding?
ArjanCodes
8 Tips For Becoming A Senior Developer
ArjanCodes
Building A Custom Context Manager In Python: A Closer Look
ArjanCodes
GraphQL vs REST: What's The Difference And When To Use Which?
ArjanCodes
You Can Do Really Cool Things With Functions In Python
ArjanCodes
Announcing The Black VS Code Theme (Launching April 1st)
ArjanCodes
7 DevOps Best Practices For Launching A SaaS Platform
ArjanCodes
Refactoring a Rock Paper Scissors Lizard Spock Game // Code Roast Part 1
ArjanCodes
Refactoring a Rock Paper Scissors Lizard Spock Game // Part 2
ArjanCodes
Things Are Going To Change Around Here
ArjanCodes
Dependency Injection Explained In One Minute // Python Tips
ArjanCodes
How To Setup A MacBook Pro M1 For Software Development
ArjanCodes
A Simple & Effective Way To Improve Python Class Performance
ArjanCodes
How To Write Unit Tests For Existing Python Code // Part 1 of 2
ArjanCodes
How To Write Unit Tests For Existing Python Code // Part 2 of 2
ArjanCodes
Make Sure You Choose The Right Data Structure // Python Tips
ArjanCodes
5 Tips For Object-Oriented Programming Done Well - In Python
ArjanCodes
Next-Level Concurrent Programming In Python With Asyncio
ArjanCodes
More on: Tool Use & Function Calling
View skill →Related Reads
Chapters (16)
Intro
1:21
Warp
2:24
Homebrew
3:18
Espanso
4:47
NordVPN
5:35
Maccy
6:07
Rectangle
6:40
VSCode editor
7:12
BitWarden
7:59
DevToys
8:34
Spotlight
9:00
Docker
9:46
Notion
10:48
Hidden Bar
12:11
MacOS Settings for Developers
14:47
Final Thoughts
🎓
Tutor Explanation
DeepCamp AI