Skip to main content

A Quick Introduction to System Tools Programming with Go

Chris McEniry (Sony Network Entertainment)
Operations & System Administration | Tools & Techniques
D137/138
Tutorial Please note: to attend, your registration must include Tutorials.
Average rating: ***..
(3.50, 6 ratings)

THIS TUTORIAL HAS REQUIREMENTS AND INSTRUCTIONS LISTED BELOW

Every day, sysadmins are required to work with tools which, while powerful, tend to need to be merged with other languages. Many times, tools are chained together out of necessity by attempting to parse and munge outputs to inputs by making many inefficient calls to string processing command line tools. While effective, this approach is not usable in many situations due to the frequency of the run of the operation, or due to the footprint of the solution. Sometimes, it’s necessary to build your own tool, and the busy sysadmin needs one that is readily available.

Go’s powerful yet simple language makes it an excellent tool for harried sysadmins with limited time. Go’s toolset makes it easy to build and deploy simple small tools to targeted situations.

This tutorial provides an introduction to Go with a focus on using it for everyday sysadmins tooling. A example of working from iostat is used to show a practical approach to learning the language.

Takeaways

  • Understanding of the applicability of Go to everyday work
  • The Go environment and toolset
  • Go language fundamentals:
    • Control Structures
    • Functions
    • Data Types
    • Methods and Interfaces
    • Goroutines
    • Channels

TUTORIAL REQUIREMENTS AND INSTRUCTIONS FOR ATTENDEES

* Participants should have some familiarity with programming, and some experience as on the unix command line.
* Any OVA compatible virtualization platform (was prepared on VirtualBox) or be able to pull in one of the common vm disk formats (VDI preferred).

QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.

Photo of Chris McEniry

Chris McEniry

Sony Network Entertainment

Chris “Mac” McEniry is a practicing sysadmin responsible for running a large ecommerce and gaming service. He’s been working and developing in an operational capacity for 15 years. In his free time, he builds tools and thinks about efficiency.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)

Comments

Picture of Shirley  Bailes
06/20/2014 11:49am PDT

@Cris: No Android knowledge is required. The only requirements are as listed above:

  • Participants should have some familiarity with programming, and some experience as on the unix command line.
  • Any OVA compatible virtualization platform (was prepared on VirtualBox) or be able to pull in one of the common vm disk formats (VDI preferred).
06/20/2014 11:39am PDT

The email to prepare for this session contained the following statement:

Attendees should have a basic understanding of Android (Activity, Intent, AsyncTask, Service), and be comfortable with Java.

This seems like a typo. Could you please confirm whether this Android knowledge is required or not.