Sometimes this will bubble up into side projects. I've always been a fan of Excel (don't laugh) for data analysis and visualization, I've hunted down some elusive problems in data centers using my own Splunk server, I've learned a little bit of Groovy so I could do some automation in Jira, and so forth. These are almost always emergent, though, so I learn just enough to accomplish my specific goal, and then stop.
My background is in Windows (my first MCSE, for example, focused on NT 4.0 and Exchange 5.5) and storage (everything from tuning two-drive RAID-1 arrays to the bigger multi-rack stuff - DAS, SAN, NAS, JBODs, tape robots, etc). My Linux knowledge, though, has always been of the "learn what I need to know" variety. I'm sort of like an tourist that's memorized a good German phrasebook - I could be situationally proficient, but couldn't necessarily write an article for Welt.
Recently I decided I wanted to proficient at Python, and to work towards an RHCE. I set these as general goals so that I can become more generally proficient in these techs, instead of just knowing how to do a few specific things well. Thinking I'd kill two birds with one stone, I nabbed a license for VMware Workstation Pro (for easier snapshots and cloning); this way I can run multiple Linux VMs on my Windows 10 box at home, for client-server experimentation both in Linux and in Python.
I'm going to capture that setup process here, so I can refer back to it later, and so that hopefully anybody who reads this and has better ideas or suggestions can drop them in the comments for me to learn from later.
Here are my initial thoughts for a high-level process. This begins from the starting point of a fresh installation of VMware Workstation 12 Pro.
- Create a new VM, do a minimal installation of Linux, and get it talking to the Internet. I'm going to use the latest version of CentOS (currently 7.3-1611); it's basically the community version of Redhat, and RHEL has been the most common flavor of Linux I've encountered through work.
- Add a desktop environment and developer tools, and update everything. I'm going with GNOME.
- Add Python and an IDE. I'm going to use the latest version of Python (currently 3.6.0), even though I'm aware of some of the arguments for sticking with 2.7.13. For an IDE I'm going to use the free community version of PyCharm, since I'm already familar with the IntelliJ IDE from the same company.
- Get the GitHub repository plugin working in PyCharm with my GitHub account.
- Make sure that everything is patched up to the latest version. Then, take a snapshot of the host, so that when I mess it all up later, I don't have to repeat steps 1 through 4.
I'm going to create a separate blog entry for each of these steps, so they don't get too individually bloated, and because they feel (so far) like they're logical "break points" to the workflow, anyway.
No comments:
Post a Comment