Development Machine Environment Build and Base OS Load
Tags: beginners, tutorial, productivity, learning
Published: 2020-05-24 18:58:45

---
title: Development Machine Environment Build and Base OS Load
published: true
description: When choosing an operating system to work with there are a number of factors to take into account. Some of these factors include; (read more in post...)
tags: beginners, tutorial, productivity, learning
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/9fwaf6d2wf3qd2foz1t3.jpg
---
For the next post in this series building a development machine environment check out the [browser & IDEs post](https://compositecode.blog/2020/05/26/development-machine-environment-build-language-stack-installations-browsers-ides/).

{% youtube syWt2fv5fXE %}

## Operating System Notes

When choosing an operating system to work with there are a number of factors to take into account. Some of these factors include;

1. What language stack and tooling will you need to use?
2. What focus beyond software development will the machine have?
3. What apps and tooling do you already have?

There are many other questions, around costs and licensing, and other errata that you'll need to take into account. One thing however, regardless of what you choose, the bulk of software development with most software languages, their respective tooling stacks work on almost any operating system you'd choose.

In this particular example and the following material I've chosen Ubuntu 20.04 LTS (Long Term Support) to use as my operating system. I'll build a virtualization image of the operating system so that I can reuse time and time again. The virtualization software I'm using is VMWare's VMWare Fusion software, but just like the operating system you can use most virtualization software and it will work just fine.

## Getting a Base OS Loaded

It is often important to load a ***new*** operating system installation onto a machine for use in application (re: web/software/IoT/mobile/etc) development. This can help us better understand what is installed and effecting various affects on the machine itself, it can insure that we have known assets that aren't influencing server or other manipulations, and a long list of positives over taking whatever one is given from the various computer system manufacturers.

This post is the first in a series ([here on Dev.to](https://dev.to/adronhall) and on my core blog https://compositecode.blog). I'm going through precise steps, but I'm keeping it general enough with pointers and related tips for MacOS and Windows that the series will be useful for anyone building their first or tenth or twentieth development machine regardless of operating system or hardware.

## My Installation Specifics

I'm using a Macbook Pro 16" w/ enough RAM and compute cores that I split off a solid 4-8GB of RAM dedicated to the VM that has the host OS. In addition, I set the compute 

To do this, in VMWare Fusion pull up the settings for the Virtual Machine that was created. To note, when the virtual machine is shutdown you can change these settings to add or decrease memory, compute cores, etc. But do note, sometimes this will make an operating system unstable. The rule to follow is, set the resources at time of creation and leave them set.

Once the settings are open, click on the processors and memory option.

![Settings Screen for the Virtual Machine](https://dev-to-uploads.s3.amazonaws.com/i/7ro2zkrqqddh74gvb0dh.png)

That will display this screen where the values can be set. I also show stepping through this process in the video.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0eag2cbn0icqzdv7fogg.png)

That's it for now. However, if you're interested in joining me for next steps, language stack setup, and more in addition to writing some JavaScript, Go, Python, Terraform, and more infrastructure, web dev, and all sorts of coding I stream regularly on Twitch at [https://twitch.tv/adronhall](https://twitch.tv/adronhall), post the VOD's to YouTube along with entirely new tech and *metal* content at [https://youtube.com/c/ThrashingCode](https://youtube.com/c/ThrashingCode). Feel free to check out a coding session, ask questions, interject, or just come and enjoy the tunes!

For more blogging, I've write on https://compositecode.blog and the [Thrashing Code Newsletter](https://compositecode.blog/thrashing-composite-code-newsletter/) for more details about open source projects and related efforts I work on, sign up for it [here](https://compositecode.blog/thrashing-composite-code-newsletter/)!