The first section is about the basics. I guess I will not surprise anyone if I say that Homebrew is the most important tool for a developer box in macOS. Almost everything can be installed with Homebrew.
To install Homebrew, I follow the instructions in the home page to run the latest installation script. In the past it was needed to setup Xcode command line tools beforehand, but currently the Homebrew installation script takes care of that.
I strongly recommend checking every tool site to ensure that you are using the correct instructions, but Homebrew has a history of consistent and simple installation process, just by simply downloading and executing the shell script installer:
If you have difficulties configuring the zsh-history-substring-search plug-in, the best way to setup the shortcut keys, or at least the most intuitive option for me, is to map the up and down arrows to navigate through the search results. This map can be done by adding the following lines in the .zshrc file:
For Eclipse IDE I wrote a script using P2 Director utility to automate feature and plugin installation. The list of repositories and feature groups is quite long, so I might share it at a later time as a Gist in GitHub. The list of my favorite features is the following:
Although writing this post started for my own interest, I hope this is also of interest of others. I will keep it updated with new additions and other changes as I evolve my own setup. Thanks for reading and sharing!
UPDATED 8 June 2023: Updated to reflect that Temurin cask now defaults to Java 20. Added GraalVM for Java 19 and removed older ones that I no longer use. Added Node 18 and removed Node.js 14 and 16; updated to reflect that Node formula now defaults to Node.js 20. Updated color theme. Added Rancher Desktop cask.
Adobe Experience Manager (AEM) development requires a minimal set of development tooling to be installed and set up on the developer machine. These tools support the development and building of AEM Projects.
Homebrew is a open-source package manager for macOS, Windows and Linux. All the supporting tools can be installed separately, Homebrew provides a convenient way to install and update a variety of development tools required for Experience Manager development.
If you are using Homebrew, follow the Install using Homebrew instructions in the sections below. If you are not using Homebrew, install the tools using the OS-specific links.
The Adobe I/O CLI, or aio, provides command line access to a variety of Adobe services, including Cloud Manager and Asset Compute. The Adobe I/O CLI plays an integral role in development on AEM as a Cloud Service as it provides developers the ability to:
IntelliJ IDEA is a powerful IDE for Java development. IntelliJ IDEA comes in two flavors, a free Community edition and a commercial (paid) Ultimate version. The free Community version is sufficient for AEM development, however the Ultimate expands its capability set.
Visual Studio Code (VS Code) is a free, open-source tool for front-end developers. Visual Studio Code can be set up to integrate content sync with AEM with the help of an Adobe tool, repo.
Visual Studio Code is the ideal choice for front-end developers primarily creating front-end code; JavaScript, CSS and HTML. While VS Code has Java support via extensions, it may lack some of the advanced features provided by more Java-specific.
Eclipse IDE is a popular IDEs for Java development, and supports the AEM Developer Tools plug-in provided by Adobe, providing an in-IDE GUI for authoring and to synchronize JCR content with a local AEM instance.
If you don't know, I happen to be an Apple ecosystem user, iPhone, Mac, Ipad, AppleTV, Homepod I have them all, but I use Powershell, PowerCLI and Visual Studio code a lot in my day job. Thankfully now its easy just to install them on my Mac, no Windows required.
This is pretty easy to do using brew right in Terminal, I found the MS Guide for this skipped a step, but included the link here so you check the official page and can tell I'm not trying to install some nefarious code.
Visual Studio Code, available on macOS, Linux, and Windows, is your new traveling companion. Whether you're editing text, writing code, or manipulating data, it'll be there for you at every step. In a few minutes - or even less - you'll be ready to code. Let's explore the different options available to you.
Windows, you can install VS Code directly from the Microsoft Store aka.ms/vscode-msstore in one click. Are you more of a command-line person? You can use WinGet, Windows' package manager. Just execute the following command in the terminal:
Linux, you can install VS Code using a package. You'll find all package formats (Debian, RPM, etc.) for your needs on the downloads page code.visualstudio.com. The example below shows how to install the x64 version on a Debian or Ubuntu OS.
Do you remember "portable apps"? Those applications run from a USB drive, without installation? Even though this trend has declined, you can still be the coding superhero without being the administrator of your workstation. Just download the "zip" (or "tar.gz") version of VS Code. You can then simply execute code.exe (or its equivalent depending on your operating system) to work with VS Code.
If you use this version regularly, you may want to keep your settings between different sessions. In that case, you will need to create a data (or code-portable-data) folder at the same level as the VS Code executable.
Did You Know? If you use GitHub, you can use the "github.dev" editor. All you have to do is press the . key on any GitHub repository to launch the editor. You can also visit github.dev
The "Remote - SSH" extension allows you to connect to a remote server via SSH and use VS Code as if you were connected directly. You'll have access to the terminal and remote file system. We'll look more closely at how to install extensions in a later section.
However, there are scenarios where you don't have direct SSH access: workstation behind a firewall, Windows workstation, etc... In this case, you can use VS Code Server. This mode of VS Code allows you to create a secure tunnel between your workstation and the remote workstation. The connection between the two machines is secured via your GitHub account. Therefore, you cannot use this tool to share your machine with someone else.
Important: Although VS Code Server does not directly expose your server to the Internet, it creates an entry point on your machines. Before using it on such workstations as production servers, ensure you fully understand the implications for your Threat Model.
To start, install VS Code CLI on the target workstation, launch the magic command code tunnel, and authenticate with GitHub. If you're on a workstation with a visual interface (like your desktop PC), activate the tunnel via the accounts menu.
By default, Visual Studio Code automatically suggests installing updates as they become available. You can then choose to install it immediately or on the next editor shutdown. Unless you're working with a portable version or have opted to disable this function, updating VS Code is a breeze.
Now, let's talk cadence! The teams dedicated to VS Code unveil a minor version every month. To fully enjoy what VS Code has to offer, consider following this monthly rhythm. Some months may have more than one minor version, especially if there's security vulnerability or a regression. That's why it's strongly recommended to enable automatic updates.
For the more daring, eagerness for new features, you can use the "Insider" edition of VS Code. This version is updated daily and gives you access to the latest features before everyone else. Of course, it's like playing with a prototype - it can be a bit risky for production use. But don't worry, you can have this version and the stable version side-by-side on your computer.
IntroductionIn this article I demonstrate how to install OpenCV for C++ from source using cmake. Following this I show how to configure my favorite code editor, Visual Studio Code (VS Code), along with the awesome Microsoft extensions CMake Tools and C/C++ IntelliSense which provides a fantastic, productivity boosting, development environment.
In order to utilize the popular Mac OS clang compiler you should have XCode and the XCode tools installed. Since installing XCode is covered quite well by Apple Developer Support and a very common task among technologists utilizing Mac OS platforms I will simple link to Apple's docs for that part.
CMake is a cross platform build tool popular among native C/C++ developers. I use CMake in this tutorial to build and install OpenCV for C++ as well as run the demo project. CMake can be easily installed using brew as follows.
Before I can build and install OpenCV I must clone its source repo from GitHub. In addition to the main source I will pull down the extra contribution modules for install as well. The extra modules are optional and contain experimental algorithms and features but in my opinion they are good to have for development purposes.
First make a top level opencv directory, change directories into it and clone the two repositories then checkout the most recent tagged release versions which are 4.2.0 as of the date of writing this article.
I should now be in the top level opencv directory that contains the two aforementioned repositories. Next I create two more directories (i) an install directory which will be the target for my installation of OpenCV and, (ii) another named build_opencv for building the sources in.
Before moving on to the VS Code setup its a good idea to verify that OpenCV was properly built and installed using a simple demo project. To do this I change directories back to the top level opencv directory I created at the start of this tutorial (ie, the one that contains the directories opencv, opencv_contrib, build_opencv and install directories). Then I make a new directory called simple_demo and change directories into it.
d3342ee215