Thomas Leon Highbaugh
HTML 5 and CSS 3 are used in conjunction with one another so thoroughly that it is not useful to separate them from one another in this context. This skill set is probably the only one I am more comfortable with than even Linux as it is one that I mastered since devoting myself completely to tech, which began about 2 years ago and has remained consistent ever since. While not terribly complex languages to learn, repetition and constant practice are necessary as the skill set itself is perishable if left unpracticed.
The manner in which I keep my skill set with these languages sharp is through the constant tinkering with them I do on my portfolio site when otherwise not engaged in any professional activity requiring their use. This in conjunction with the use of both, to varying degrees, within JSX means that I am much more practiced in the use of HTML and CSS than practically any other skill set other than Linux and have ventured into many of the technologies surrounding them, such as cloud hosting, PHP, React, JS, etc.
Further bolstering my knowledge of these languages was that they featured prominently in the cirriculm of the Front End Certificate I received in May of 2018. That course of studies took a significant dive into these tandem languages, JS, libraries of JS and APIs that helped to deepen my appreciation for the use of these languages in production environments and several recent classes on them specifically and web development in its broader application. While not requiring the sheer technical aptitude I have gained from JS and its frameworks, they speak to another skill set I bring with me, design and thus creative capacity of a more detailed, often analytical depth than imagining if pushing and popping elements out of an array will accomplish the task as there is little that is easily articulated in the creative pursuit but it requires imagining what would please a prospective user while not preventing that user from accomplishing the task that brought them to the site in the first place. While outside the scope of my character to release too many broken and buggy examples on VCS, especially because I administer my own cloud storage and thus can live without the OctoCat to store my code, the repository page has numerous examples of my deployment of these languages that upon completing my current dive into React, I plan to polish up more than their present state especially with comments indicating the precise functionality of the following code. A further testament to my use of these languages is this site, which I had coded using JetBrains WebStorm, my preferred text editor/IDE for using these languages.
Linux Operating System: Desktop & Server Administration
Really most useful in the DevOps context, I have found Linux to be a perfectly functional and supremely rewarding OS to use a daily driver on all of my machines due to the power the user has coupled with its relative security and the application of skills learned in other tasks and projects. Personally I do not see the need to run the heavy and unstable commercial OSes on brand new hardware and in the case of Windows, modify that OS heavily for command line functionality when I can instead run a free OS that uses the BASH shell by default and in so doing pick up DevOps and Sysad skills I can apply elsewhere. In my experience, these skills that any successful daily Linux usrer needs to maximize their Operating System compliment the experience and need for precicion that is inherent in any of the many forms software development requires mastery of to be successful in both learning and implementation.
My use of Linux includes both desktop and server environments as I run several servers that provide services to other computers within that network such as Nextcloud and NFS shares I use for redundant backup. One server I currently own and make constant use of essentially functions as a hypervisor for several virtual servers that I use for developing and learning various, configuration frameworks and languages such as React, thus providing a consistent environment that can be effortlessly restored to its freshly provisioned state without risk to the continued operation of the above mentioned microservices.
As is easily anticipated, the servers are accessed through SSH within the internal network and can be accessed externally through a Digital Ocean server provisioned to function as a VPN gateway in the traditional meaning of the acronym. These machines are accessed through other Linux machines, specifically PopOS which I use on my workstation and laptop because of its low system overhead while retaining the functionality of Ubuntu. My workstation is general purpose and I use it for a lot of addtional applications, such as photo-editing, developing with IDEs, multimedia, etc but rarely experiences much of the productivity sapping stalling that regardless of the machine, seems inevitable with the commercial alternatives.
The depth of my Linux experience is certainly the deepest of any other skill at this point due to length of time I have used it almost exclusively (as I need Windows VMs to test websites on) and ranges from shell scripts to using SSH to provision and spin up virtual environments using virtualbox's well developed cli tool set for purposes of development. See the repository for some of my shell scripts and for more of my adventures in Linux check out my blog, I am in the process of writing up a comprehensive set of tips and tricks for new users to avoid common pitfalls that have sent some back to commercial alternatives that you might want to check out. Being that Linux and macOS share lineage from Unix, these skills also translate very easily to macOS and have enabled me to repair macOS systems without any excessive levels of befuddlement.
JS: From Vanilla to React
Below I will discuss most of the frameworks I have experience with individually, saving React for a separate modal.
Bootstrap:Being a relatively small library with consistent results and easy application within a site, this library was one of the first I did any significant explanation of, which was fortuitous as it still introduces concepts that become essential to understand in more complex frameworks. Bootstrap is especially useful in designing interfaces that mobile-friendly without as much tinkering as is otherwise necessaary, however I have found I prefer to use the advanced HTML5 features to achieve the same effect as they enable more customization, which while being prone to bugs are also supremely capable in producing a dynamic interface that has the design functionality I am looking for. Nonetheless, I can quickly and easily utilize the Bootstrap box model to produce interfaces that can then be rendered reliably across platforms and devices without having to do too much additional testing, which is of course a boon in saving time.\
Vue: Also introduced in my Front End Certificate studies, this library I have not had much use for but none the less was simple enough to tinker with that advanced functionality may be introduced through it to existing pages without the need for a complete overhaul of the site in an incremental fashion. It is also scalable, something I explored when researching it on my own later own and found that while taking care of certain "snap in" needs easily and does so well, there are other ways to achieve similar effects that have a more natural flow within vanilla Js and did not prioritize deepening my knowledge of it with React looming on the horizon of my self-learning journey. That admission being what it is, I can still easily pick up the framework and use it to non-intrusively add dynamic functionality to a pre-built page quickly from both the ease of deployment it has baked in as well as my prior experience being such that the application logic merely needs to be refreshed.
ReactJS Framework & JSX
This framework was separated from other JS frameworks because of its primacy in importance and because of nesting in other technologies I learned before pursuing it. While an advocate of using CodeSandbox.io for developing consistently in React, I personally was not satisfied with such an arrangement and subsequently pursued several VM and Container options before settling on my current arrangement in which I spin up Lubuntu environments from snapshots which have create-react-app, the babel transpiler, a blank directory with a package.json calling for local installation of React and ReactDOM a configured WebStorm, a consistent NPM and Node pulled from NXM and custom ICE web-containers leading to the documentation for Babel, React's documentation and CodeSandbox.io to back up the code I am not done tinkering with and do not want to release to the public yet.
While still in the process of learning React, having put a counter and decision engine app on GitHub fully polished, though admittedly ugly, I can see what the use of the React Framework truly is for improving the way that the DOM, thus potential user, is better accounted for by the developer as the developer employs it to not only provide application logic to the page but to create the whole page, meaning that the application logic and the design at least have to both be known, if not designed by the developer. Which brings me to the language coupled to React, JSX, which itself is extensible HTML within a JS file, connecting back to HTML through a root element. In order to fully appreciate what that means, one first must have experience with HTML both its contemporary usage as well as XHTML, which had no semantic prohibition in convention of the useful but meaningless div tag, of which my anchors tend to be. By composing the JS and HTML within the same file, and using NPM the potential exists to include CSS as well, I have found that imaging how the application logic and form of the site work together to achieve interactivity in a non-trivial way. This is something I continue to learn, so look to GitHub for examples of my rapidly expanding knowledge as evidenced in code.
Virtualized Development Environments
Some text in the modal.
Ansible: Ad-Hoc and Yaml Provisioning
Some text in the modal.
Some text in the modal.
Python 2 & 3
Some text in the modal.
C & C++
Some text in the modal.