Useful Sticky Notes

Wednesday, January 14, 2015

Update: Documenting Fresh Mac Mini Setup For Development

I bit the bullet the other day, and picked up a brand new top-of-the-line Mac Mini (dual-core i7 with 16Gb of RAM and a 2TB drive). It was about time - my previous most-modern machine, a MacBook Pro is more than 6 years old. It is so full of ad-hoc software stack changes from since graduate school, that I was actually afraid to upgrade it to Yosemite for fear that I may mess something up.

With this new machine, I want to document every step I take bringing it from a fresh off-the-shelf Yosemite system to a fully-functional and broad-based software development platform that I would like to work with from my point of view.

What do I mean by "broad-based?" Well, I want to support (by rough order of priority):

The first two will form the basis of my main software development effort in the context of my primary work on HPC tools and software.

I want to make use of this machine not just to do good development work, but also to explore ways to structure and improve my own professional workflows. It will also be a platform where I explore ways to structure how I place and organize software and data that can compartmentalize job-related projects, and personal projects.

The very exercise of documenting how I set up this machine will make use of these ideas (see my previous entry on the use of Google Drive.) The machine will also be an improvement over my laptops for the purposes of a sustained system for automating:

Unit testing;

Correctness regression tracking via some kind of web-based dashboard similar to Kitware's CDash;

Performance regression tracking via a similar mechanism (CDash has no current support for performance regression tracking as far as I know); and

Semi-automated bug management.

The next few posts I will make will be in the context of this documentation effort. It is mostly meant to be a record useful to me, but I also hope that by putting my thought process down it will be helpful to anyone else interested in a similar endeavor.

No comments:

Post a Comment

Interests and Goals

The primary goal of this blog is as a one-stop repository of my professional development experiences and notes. Its primary audience is (you guessed it!) me - my short to mid-term memory is woefully bad, as is my ability to keep track of a large number of things.

I would however like this blog to be of use to others in the software development community as well. As such, I will strive to keep it as well organized as possible to that end.

About Me

A recovering former academic.
I am currently a volunteer with the OpenWorm project as part of my interests at the intersection of biology and software systems. Am also working freelance as part of my professional-recovery regime.